← All Threat Hunting ReportsThreat Hunting Exercise

Threat Hunting Exercise: Analyzing Firewall Low-and-Slow Idle-Session C2 Beacon Dataset

This hunt uses a simulated perimeter firewall dataset (fw_idle_session_c2_2022-11-08T000000.json) capturing T1071.001 / T1029: Scheduled Transfer, where a C2 implant deliberately holds open a long-lived, low-traffic outbound session and only exchanges small heartbeat packets at extended, jittered intervals to evade both volumetric detection and short session-timeout-based monitoring.

Step 1: Hypothesis Formation

Hypothesis: A host maintains a single outbound TCP session to an external IP for an unusually long duration (many hours) while transferring only small amounts of data at irregular, widely-spaced intervals, indicating a long-lived C2 channel using a low-and-slow beaconing pattern rather than a legitimate long-poll or streaming application. Indicators:

Null Hypothesis: The session is a legitimate long-poll application (e.g., a chat client, monitoring agent, or webhook listener) that intentionally keeps connections open with minimal keepalive traffic. Invalidate by checking the destination against the sanctioned-application inventory and the process/binary initiating the connection.

Rationale: Low-and-slow C2 channels are designed specifically to defeat both volume-based (bytes-transferred) and duration-based (session-timeout) detection thresholds simultaneously, so they require combining long-session-duration analytics with byte-count and burst-interval irregularity to surface.

Step 2: Data Sources and Scope

Step 3: Key Findings

Parsed events (5 shown) confirm WKS-OPS-039 maintained a single 13-hour-40-minute outbound TLS session to a bulletproof-hosted IP, exchanging only 38 KB total in irregular micro-bursts.

Timestamp (UTC)HostEventDetailIOC/Why Suspicious?
2022-11-08 00:00:12WKS-OPS-039Firewall (session start)TCP/443 session opened to 185.220.101.47, ASN "Unallocated/Bulletproof Hosting"Reputation IOC: destination ASN has no corresponding sanctioned-application entry and is associated with bulletproof hosting in threat-intel feeds.
2022-11-08 00:00:12 - 13:40:47WKS-OPS-039Firewall (aggregate)Single unbroken session, 13h40m duration, 38 KB total bytes transferredDuration/Volume IOC: a 13+ hour session carrying only 38 KB is inconsistent with any legitimate streaming or bulk-transfer use case; it matches a beaconing implant's keepalive pattern.
2022-11-08 00:00:12 - 13:40:47WKS-OPS-039Firewall (burst analysis)41 distinct micro-bursts of 200-900 bytes each, inter-burst gaps ranging 8-34 minutes (jittered)Jitter IOC: irregular, randomized intervals between small data bursts are the signature of a jittered sleep/beacon C2 implant rather than a fixed-interval keepalive or heartbeat protocol.
2022-11-08 00:00:05WKS-OPS-039(EDR process event)rundll32.exe with no command-line arguments spawned by explorer.exe, established the outbound connectionTooling IOC: rundll32.exe with an empty command line and no legitimate DLL export is a common LOLBIN C2-loader pattern.
--(App-inventory check)185.220.101.47 has no entry in the sanctioned SaaS/webhook/long-poll application listConfirms no legitimate business purpose is associated with the destination.

Validation:

Step 4: Recommendations & Next Steps

Hypothesis confirmed - a workstation process with no legitimate DLL export maintained a 13-hour-40-minute jittered micro-burst session to a bulletproof-hosted IP, consistent with a low-and-slow C2 beacon evading volumetric detection!