Detect Communication Through Removable Media in Google Chronicle
Adversaries can perform command and control between compromised hosts on potentially disconnected networks using removable media to transfer commands from system to system. Both systems would need to be compromised, with the likelihood that an Internet-connected system was compromised first and the second through lateral movement via Replication Through Removable Media. Commands and files are relayed from the disconnected system to the Internet-connected system to which the adversary has direct access. This technique has been observed in APT28/Fancy Bear operations using CHOPSTICK and USBStealer malware to bridge air-gapped networks, writing encoded command files to USB drives on internet-connected hosts and reading results from the same media when re-inserted.
MITRE ATT&CK
- Tactic
- Command and Control
- Canonical reference
- https://attack.mitre.org/techniques/T1092/
YARA-L Detection Query
rule T1092_CommunicationThroughRemovableMedia {
meta:
author = "Argus Detection Engineering"
description = "Detects T1092 Communication Through Removable Media - identifies executable or encoded data files written to removable drives, processes executing from removable drives, and rapid file access patterns after USB mount events."
mitre_attack_tactic = "Command and Control"
mitre_attack_technique = "T1092"
severity = "HIGH"
confidence = "MEDIUM"
created = "2026-04-13"
version = "1.0"
events:
(
// Branch 1: Executable or script dropped to USB drive
$e1.metadata.event_type = "FILE_CREATION"
and (
$e1.target.file.full_path = /^[D-Id-i]:\\/i
)
and (
$e1.target.file.full_path = /\.(exe|dll|bat|cmd|ps1|vbs|js|hta|dat|bin|enc|tmp|cfg|db)$/i
)
and not $e1.principal.process.file.full_path = /explorer\.exe$/i
and not $e1.principal.process.file.full_path = /robocopy\.exe$/i
)
or
(
// Branch 2: Process executed from removable media path
$e1.metadata.event_type = "PROCESS_LAUNCH"
and (
$e1.target.process.file.full_path = /^[D-Id-i]:\\/i
or re.regex($e1.target.process.command_line, `[D-Id-i]:\\`)
)
and not $e1.target.process.file.full_path = /setup\.exe$/i
and not $e1.target.process.file.full_path = /install\.exe$/i
and not $e1.target.process.file.full_path = /autorun\.exe$/i
)
or
(
// Branch 3: Encoded/data file written to USB (C2 staging)
$e1.metadata.event_type = "FILE_CREATION"
and (
$e1.target.file.full_path = /^[D-Id-i]:\\/i
)
and (
$e1.target.file.full_path = /\.(enc|tmp|cfg|dat|bin|db)$/i
)
and not $e1.principal.process.file.full_path = /explorer\.exe$/i
and not $e1.principal.process.file.full_path = /backup\.exe$/i
)
condition:
$e1
} Chronicle YARA-L 2.0 rule detecting T1092 Communication Through Removable Media using UDM events. Three detection branches: (1) executable/script files written to removable drive letters D-I, (2) process launch events where the process binary or command line path originates from removable media, (3) encoded or data staging files written to USB paths by non-legitimate backup processes. Maps directly to the KQL/SPL behavioral logic.
Data Sources
Required Tables
False Positives & Tuning
- Corporate imaging workflows where Windows PE environment writes OS installer files to USB drives via DISM or WinPE tools
- Legitimate use of portable security scanners (ClamAV portable, Malwarebytes portable) executed from USB by IT helpdesk during malware remediation
- Software development workflows where developers run build artifacts directly from USB for quick testing on isolated lab machines without network access
Other platforms for T1092
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.
- Test 1Stage Encoded Command File on USB Drive
Expected signal: Sysmon Event ID 11 (FileCreate): TargetFilename=E:\system.dat, Image=powershell.exe. Sysmon Event ID 1 (Process Create): CommandLine containing 'Out-File' and 'E:\'. DeviceFileEvents in MDE: ActionType=FileCreated, FolderPath=E:\, FileName=system.dat, InitiatingProcessFileName=powershell.exe.
- Test 2Execute Payload from USB Drive
Expected signal: Sysmon Event ID 1 (Process Create): Image=cmd.exe, CommandLine=cmd.exe /c E:\update.bat. Parent process is cmd.exe or the test shell. Sysmon Event ID 11: TargetFilename=E:\update.bat and E:\output.dat. Security Event ID 4688 (if command line auditing enabled): NewProcessName contains E:\update.bat. DeviceProcessEvents: FileName=cmd.exe, ProcessCommandLine contains 'E:\update.bat'.
- Test 3Automated USB File Pickup Simulation
Expected signal: Multiple Sysmon Event ID 11 entries for file creation on E:\ by powershell.exe (cmd_*.dat and rsp_*.dat). Sysmon Event ID 1: PowerShell process with Get-Content and Out-File accessing removable drive. DeviceFileEvents: multiple FileCreated and FileRead actions on E:\ within a short time window — triggers the rapid-access-after-mount correlation branch.
- Test 4USB Device Serial Number Enumeration
Expected signal: Sysmon Event ID 1: powershell.exe with CommandLine containing 'USBSTOR' and 'Win32_DiskDrive'. Security Event ID 4663 (if object access auditing enabled on registry): access to HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR. DeviceProcessEvents: PowerShell process accessing registry via Get-ItemProperty with USBSTOR path.
References (9)
- https://attack.mitre.org/techniques/T1092/
- https://www.welivesecurity.com/2014/11/11/sednit-espionage-group-attacking-air-gapped-networks/
- https://www.fireeye.com/content/dam/fireeye-www/global/en/current-threats/pdfs/rpt-apt28.pdf
- https://learn.microsoft.com/en-us/windows/security/threat-protection/auditing/event-6416
- https://learn.microsoft.com/en-us/defender-endpoint/advanced-hunting-devicefileevents-table
- https://learn.microsoft.com/en-us/defender-endpoint/advanced-hunting-deviceevents-table
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1092/T1092.md
- https://www.microsoft.com/en-us/security/blog/2016/01/14/sir-volume-19-is-now-available/
- https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon
Unlock Pro Content
Get the full detection package for T1092 including response playbook, investigation guide, and atomic red team tests.