zeek-caldera-detector
is a Zeek-based package for detecting Caldera beacons and agent downloads. It is designed to identify suspicious activities associated with Caldera C2 frameworks, including Sandcat
, Ragdoll
, and Manx
.
This package provides robust mechanisms for monitoring HTTP traffic, detecting beacon patterns, and identifying suspicious file downloads based on pre-defined indicators.
- Caldera C2 Detection:
- Detects HTTP beacons (
Sandcat
,Ragdoll
, andManx
) based on unique URI paths and User-Agent strings. - Recognizes TCP and UDP-based Manx C2 activities using Zeek signatures.
- Detects HTTP beacons (
- Suspicious File Download Detection:
- Tracks suspicious filenames (e.g.,
sandcat.go
,manx.go
,ragdoll.py
) in HTTP headers. - Generates alerts when these files are downloaded, including platform and User-Agent information.
- Tracks suspicious filenames (e.g.,
The module uses the following mechanisms for detection:
- HTTP Headers and Messages:
- Monitors HTTP headers and payloads for indicators of Caldera activity.
- Checks for specific filenames, platforms, and User-Agent strings in download traffic.
- Zeek Signatures:
- Identifies TCP and UDP C2 activity based on payload patterns in network traffic.
- Includes support for both active C2 commands and reply detection.
Running the provided sandcat.pcap
from the testing/Traces
directory through this logic produces the following alerts:
#separator \x09
#set_separator ,
#empty_field (empty)
#unset_field -
#path notice
#open 2025-01-22-21-21-11
#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p fuid file_mime_type file_desc proto note msg sub src dst p n peer_descr actions email_dest suppress_for remote_location.country_code remote_location.region remote_location.city remote_location.latitude remote_location.longitude
#types time string addr port addr port string string string enum enum string string addr addr port count string set[enum] set[string] interval string string string double double
1734546921.034784 CHhAvVGS1DHFjwGM9 172.18.0.3 58326 172.18.0.2 8888 - - - tcp Caldera::SuspiciousFileDownload Caldera file download detected: file 'sandcat.go', platform 'linux', User-Agent 'curl/7.68.0' - 172.18.0.3 172.18.0.2 8888 - - Notice::ACTION_LOG (empty) 3600.000000 - - - - -
1734546938.807708 C4J4Th3PJpwUYZZ6gc 172.18.0.3 35540 172.18.0.2 8888 - - - tcp Caldera::C2Detected Potential Sandcat beacon detected to /beacon with User-Agent 'Go-http-client/1.1' - 172.18.0.3 172.18.0.2 8888 - - Notice::ACTION_LOG (empty) 3600.000000 - - - - -
#close 2025-01-22-21-21-11
Contributions are welcome! Please open an issue or submit a pull request for bug fixes, enhancements, or new feature suggestions.
This project is licensed under the MIT License. See the COPYING file for details.