T1001.001 Google Chronicle · YARA-L

Detect Junk Data in Google Chronicle

Adversaries may add junk data to protocols used for command and control to make detection more difficult. By appending, prepending, or inserting random or meaningless data into C2 communications, adversaries prevent trivial signature-based detection. Examples include SUNBURST appending junk bytes to HTTP C2, P2P ZeuS adding junk data to UDP peer communications, Downdelph inserting pseudo-random characters between meaningful characters in C2 requests, and GoldMax generating decoy traffic to surround malicious traffic. This technique is primarily a network-level obfuscation method, making it challenging to detect purely through host-based telemetry.

MITRE ATT&CK

Tactic
Command and Control
Technique
T1001 Data Obfuscation
Sub-technique
T1001.001 Junk Data
Canonical reference
https://attack.mitre.org/techniques/T1001/001/

YARA-L Detection Query

Google Chronicle (YARA-L)
yaral
rule t1001_001_junk_data_c2_beaconing {
  meta:
    author = "df00tech Detection Engineering"
    description = "Detects T1001.001 Junk Data C2 obfuscation via beaconing from suspicious processes and DNS junk label queries"
    mitre_attack_tactic = "Command and Control"
    mitre_attack_technique = "T1001.001"
    severity = "HIGH"
    confidence = "MEDIUM"
    created = "2026-04-13"

  events:
    // Beaconing approach: repeated outbound connections from LOLBin processes
    $e.metadata.event_type = "NETWORK_CONNECTION"
    $e.principal.process.file.full_path = /(?i)(powershell|pwsh|cmd|wscript|cscript|mshta|rundll32|regsvr32|svchost|dllhost)\.exe$/
    $e.target.ip != "10.0.0.0/8"
    $e.target.ip != "172.16.0.0/12"
    $e.target.ip != "192.168.0.0/16"
    $e.target.ip != "127.0.0.0/8"
    $e.target.port in (80, 443, 8080, 8443, 4444, 4445, 1080, 3128)
    $e.principal.hostname = $hostname
    $e.principal.process.file.full_path = $proc_path

  match:
    $hostname, $proc_path over 1h

  condition:
    #e >= 5
}

rule t1001_001_junk_data_dns_label {
  meta:
    author = "df00tech Detection Engineering"
    description = "Detects T1001.001 junk data in DNS C2 via anomalously long subdomain labels from suspicious processes"
    mitre_attack_tactic = "Command and Control"
    mitre_attack_technique = "T1001.001"
    severity = "HIGH"
    confidence = "MEDIUM"
    created = "2026-04-13"

  events:
    $dns.metadata.event_type = "NETWORK_DNS"
    $dns.principal.process.file.full_path = /(?i)(powershell|pwsh|cmd|wscript|cscript|mshta|rundll32|regsvr32|svchost|dllhost)\.exe$/
    // DNS question name with long first label (>20 chars before first dot)
    re.capture($dns.network.dns.questions.name, "^([^.]{21,})") != ""
    $dns.principal.hostname = $host
    $dns.principal.process.file.full_path = $dproc

  match:
    $host, $dproc over 30m

  condition:
    #dns >= 3
}
high severity medium confidence

Two Chronicle YARA-L 2.0 rules for T1001.001. Rule 1 (t1001_001_junk_data_c2_beaconing) fires when a suspicious LOLBin process makes 5+ outbound connections to known C2 ports on public IPs within a 1-hour window, indicating beaconing with junk-padded payloads. Rule 2 (t1001_001_junk_data_dns_label) fires on 3+ DNS queries with first-label length >20 characters from suspicious processes within 30 minutes, indicating junk-padded DNS C2 tunneling.

Data Sources

Google Chronicle UDMChronicle Endpoint TelemetryWindows event forwarding to Chronicle

Required Tables

UDM NETWORK_CONNECTION eventsUDM NETWORK_DNS events

False Positives & Tuning

  • CI/CD pipeline agents making repeated webhook calls to build infrastructure during deployments
  • Endpoint management software (SCCM, Tanium) making frequent check-in connections from system processes
  • Applications using base64-encoded subdomain routing for multi-tenant SaaS platforms
  • DNS-based service discovery in Kubernetes or microservice environments with long service names
Download portable Sigma rule (.yml)

Other platforms for T1001.001


Testing Methodology

Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1HTTP C2 Simulation with Junk Data Padding

    Expected signal: Sysmon Event ID 1: PowerShell process creation with command line containing 'Net.WebClient' and 'UploadString'. Sysmon Event ID 3: Multiple network connection attempts to 127.0.0.1:8080. Security Event ID 4688 (if command line auditing enabled). PowerShell ScriptBlock Log Event ID 4104 showing the full beaconing script.

  2. Test 2DNS-Based C2 with Junk Subdomain Labels

    Expected signal: Sysmon Event ID 22 (DNS Query): Multiple DNS lookup events with QueryName values containing long, random-looking subdomain labels (>20 characters) under c2sim.local. The labels will contain Base64-encoded content with interleaved junk characters. Sysmon Event ID 1 for the PowerShell process creation.

  3. Test 3Junk Data File Padding Simulation

    Expected signal: Sysmon Event ID 11 (File Create): File creation event for junktest_sim.dll in %TEMP% with large file size (~50MB). Sysmon Event ID 1 for the PowerShell process. The file hash (SHA-256) will be recorded in the Sysmon event.

  4. Test 4Periodic Beaconing with Junk UDP Padding

    Expected signal: Sysmon Event ID 3 (Network Connection): UDP connections from powershell.exe to 127.0.0.1:4444 (Sysmon may capture UDP connections depending on configuration). Sysmon Event ID 1 for process creation. Security Event ID 4688 if command line auditing is enabled.

Unlock Pro Content

Get the full detection package for T1001.001 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections