Replication Through Removable Media T1091

Tactics: Lateral Movement, Initial Access

Adversaries may move onto systems, possibly those on disconnected or air-gapped networks, by copying malware to removable media and taking advantage of Autorun features when the media is inserted into a system and executes. In the case of Lateral Movement, this may occur through modification of executable files stored on removable media or by copying malware and renaming it to look like a legitimate file to trick users into executing it on a separate system. In the case of Initial Access, this may occur through manual manipulation of the media, modification of systems used to initially format the media, or modification to the media's firmware itself.

Events covered

8 catalog events are tagged with this technique by at least one rule.

Authoring guide

Patterns shared across the 9 rules above: which fields they filter on, what specific values they look for, and what they exclude. The catalog normalizes field names across vendors so Sigma's Image, Elastic's process.name, and Splunk's process_name collapse into one row. Each rule contributes at most once per row.

Fields filtered most (22 distinct)

The fields most rules look at when detecting this technique. The How column shows the operators authors use (eq, wildcard, regex_match, match) and how often each appears. Sample values are concrete examples to start from, not an exhaustive list.

FieldRulesHowSample values
registry_path3contains 2, in 2, starts_with 1HKLM\\SOFTWARE\\Microsoft\\Windows Portable Devices\\Devices\\*, HKLM\\System\\CurrentControlSet\\Enum\\SWD\\WPDBUSENUM\\*, usbstor, hklm\\system\\currentcontrolset\\enum\\usbstor\\
registry_value_name3eq 3FriendlyName
EventType2eq 2connection_attempted, mount, start
ClassName1eq 1DiskDrive
CurrentDirectory1eq 1*
Details1contains 1:\\
DeviceDescription1eq 1USB Mass Storage Device
EventID1eq 16416
TargetObject1contains 1usbstor
dropped_file_path_split_count1eq 12
event.category1eq 1registry
event.outcome1eq 1success
event.type1eq 1device
file_name1in 1*.bat, *.cmd, *.com
host.os.type1in 1

Top indicator values (37 distinct)

Specific (field, operator, value) combinations the rules check for, ranked by how many rules under this technique use each one. The Corpus reach column counts how many rules across the entire catalog (any technique) check the same combination. High numbers point to widely-used indicators that are likely noisy on their own; combine them with another condition for useful signal. Blank means the combination is specific to rules under this technique. Click a value to expand the rules under this technique that use it.

FieldKindValueRules (here)Corpus reach
registry_value_nameeq
FriendlyName
33
registry_pathcontains
usbstor
22
registry_pathin
HKLM\\SOFTWARE\\Microsoft\\Windows Portable Devices\\Devices\\*
22
registry_pathin
HKLM\\System\\CurrentControlSet\\Enum\\SWD\\WPDBUSENUM\\*
22
ClassNameeq
DiskDrive
1
CurrentDirectoryeq
*
1
Detailscontains
:\\
1
DeviceDescriptioneq
USB Mass Storage Device
1
EventIDeq
6416
1
EventTypeeq
connection_attempted
125
EventTypeeq
mount
1
EventTypeeq
start
116
TargetObjectcontains
usbstor
1
dropped_file_path_split_counteq
2
12
event.categoryeq
registry
14
event.outcomeeq
success
1251
event.typeeq
device
1
file_namein
*.bat
14
file_namein
*.cmd
14
file_namein
*.com
14
file_namein
*.dll
16
file_namein
*.exe
17
file_namein
*.js
15
file_namein
*.lnk
12
file_namein
*.pif
15
file_namein
*.sys
14
file_namein
*.url
1
file_namein
*.vbe
15
file_namein
*.vbs
15
process.Ext.device.bus_typeeq
usb
1

Exclusions (4 distinct)

Field/operator/value combinations excluded by rules under this technique (top-level not() clauses), sorted by how many rules exclude each. These are the false-positive paths the community has learned to filter out. A new rule that ignores the high-count entries here will likely fire on the same noisy paths. Click a value to expand the rules under this technique that exclude it.

FieldKindValueRules excluding
CurrentDirectoryin
*\\sysvol\\*
1
CurrentDirectoryin
C:\\*
1
process.code_signature.statuswildcard
errorCode_endpoint*
1
process.code_signature.statuswildcard
errorExpired
1

Rules under this technique

Every rule in the catalog tagged with this technique, grouped by vendor. Click a rule title for its full predicates, exclusions, and indicators.

Platform (all)
Domain (all)

Sigma 1 rule

Elastic 3 rules

Splunk 5 rules