Moloch + Suricata + JA3
This post explores setting up Moloch with JA3 support and integrating Suricata for enhanced network visibility. I was inspired by a DerbyCon presentation and provide a practical guide for implementing this security stack.
Installation
The setup uses Ubuntu 18.04 with three components installed on a single machine:
- Moloch viewer and capture
- Elasticsearch
- Suricata
Download Moloch from https://molo.ch/index.html#downloads and follow the provided installation instructions. The web interface becomes accessible at https://
JA3 Implementation
JA3 fingerprinting enables detection of suspicious TLS handshakes. I demonstrate using a “windows/x64/meterpreter/reverse_https payload” to show how Moloch computes JA3 hashes for network traffic.
Key capability: Clicking the JA3 hash initiates a search across network traffic, revealing all instances where that specific payload executed on the network.
Suricata Integration
Installation requires:
sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update
sudo apt-get install suricata
Configuration involves editing /etc/suricata/suricata.yaml to specify the network adapter and /data/moloch/etc/config.ini to enable the Suricata plugin and point to the eve.json file.
Results
The combination detects both TLS anomalies via JA3 and application-level threats. Suricata flagged SMB packets and PowerShell-related activity in the demonstrated attack scenario.