Components
Malcolm leverages the following excellent open source tools, among others:
- Arkime (formerly Moloch) - for PCAP file processing, browsing, searching, analysis, and carving/exporting. Arkime consists of two main components:
- capture - a tool for traffic capture and offline PCAP parsing with metadata insertion into OpenSearch
- viewer - a browser-based interface for data visualization and payload analysis
- OpenSearch - a search and analytics engine for indexing and querying network traffic session metadata (Elasticsearch is also supported)
- Logstash and Filebeat - for ingesting, parsing, enriching, and indexing Zeek log files into OpenSearch
- Zeek - a network analysis framework and IDS
- Suricata - an IDS and threat detection engine
- netsniff-ng or tcpdump - for simpler capture-only deployments where initial traffic parsing and metadata forwarding are not required
- Yara - a tool used to identify and classify malware samples (used for scanning files extracted by Zeek)
- Capa - a tool for detecting capabilities in executable files (used for scanning files extracted by Zeek)
- ClamAV - an antivirus engine (used for scanning files extracted by Zeek)
- Threat intelligence feeds - indicators of compromise can be pulled from MISP, TAXII, Google, and Mandiant for use with the Zeek intelligence framework
- CyberChef - a “Swiss Army Knife” data conversion tool
- evtx - a fast and safe parser for the Windows XML Event Log (EVTX) format
- FilePond - for uploading PCAP files and Zeek logs for processing
- For application containerization and orchestration enabling simple, reproducible deployment of Malcolm and coordination of its components, either of the following may be used for local deployment (details):
- For distributed or cloud deployment, Malcolm can be deployed using Kubernetes (on-prem or, for example, on AWS) via standard manifests or, for scalable deployments, the Malcolm Helm chart (currently in beta)
- NetBox - a suite for modeling and documenting modern networks; used to enrich network log data with asset inventory information
- PostgreSQL - a relational database used for storing configuration and state for several Malcolm components
- Redis - an in-memory data store for caching session information for various Malcolm components
- Keycloak - an identity and access management (IAM) tool
- OpenResty - a dynamic web platform based on Nginx and LuaJIT for HTTPS and reverse proxying Malcolm components
- nginx-auth-ldap - an LDAP authentication module for Nginx
- Fluent Bit - for forwarding metrics to Malcolm from network sensors (packet-capture appliances)
- Mark Baggett’s freq - a tool for calculating entropy of strings (e.g., domain names observed in DNS traffic)
- Florian Roth’s Signature-Base Yara ruleset
- Bart Blaze’s Yara ruleset
- ReversingLabs’ Yara ruleset
- These Zeek packages:
- GeoLite2 - Malcolm includes GeoLite2 data created by MaxMind
- Debian Live - the framework used to build the x86_64 installer ISOs and the Raspberry Pi sensor image
