ATT&CK coverage › Technique

Hardware Additions T1200

Adversaries may physically introduce computer accessories, networking hardware, or other computing devices into a system or network that can be used as a vector to gain access. Rather than just connecting and distributing payloads via removable storage (i.e. Replication Through Removable Media), more robust hardware additions can be used to introduce new functionalities and/or features into a system that can then be abused.

Events covered

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

ProviderEvent IDTitle
Sysmon1Process creation
Sysmon12RegistryEvent (Object create and delete)
Sysmon13RegistryEvent (Value Set)
Security-Auditing6416A new external device was recognized by the system.
Security-Auditing6423The installation of this device is forbidden by system policy.
DriverFrameworks-UserMode2003The UMDF Host Process (UMDFHostDeviceArrivalBegin.LifetimeId) has been asked to load drivers for device UMDFHostDeviceArrivalBegin.InstanceId.
DriverFrameworks-UserMode2100Received a Pnp or Power operation (UMDFHostDeviceRequest.RequestMajorCode, UMDFHostDeviceRequest.RequestMinorCode) for device UMDFHostDeviceRequest.InstanceId.
DriverFrameworks-UserMode2102Forwarded a finished Pnp or Power operation (UMDFHostDeviceRequest.RequestMajorCode, UMDFHostDeviceRequest.RequestMinorCode) to the lower driver for device UMDFHostDeviceRequest.InstanceId with status UMDFHostDeviceRequest.Status.

Authoring guide

Patterns shared across the 6 rules above: which fields they filter on, what specific values they look for, and what they exclude. Field names are normalized 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 (7 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_path3eq 3, in 2"HKLM\\SOFTWARE\\Microsoft\\Windows Portable Devices\\Devices\\*", "*USBSTOR*", "HKLM\\System\\CurrentControlSet\\Enum\\SWD\\WPDBUSENUM\\*", "HKLM\\System\\CurrentControlSet\\Enum\\USBSTOR\\*"
registry_value_name2eq 2"FriendlyName"
ClassName1eq 1DiskDrive
DeviceDescription1eq 1USB Mass Storage Device
object_handle1is_not_null 1
Details1eq 1"*:\\*"
CurrentDirectory1eq 1*

Top indicator values (9 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.

FieldKindValueRules (here)Corpus reach
registry_patheq"*USBSTOR*"22
registry_pathin"HKLM\\System\\CurrentControlSet\\Enum\\SWD\\WPDBUSENUM\\*"22
registry_pathin"HKLM\\SOFTWARE\\Microsoft\\Windows Portable Devices\\Devices\\*"22
registry_value_nameeq"FriendlyName"22
DeviceDescriptioneqUSB Mass Storage Device1
ClassNameeqDiskDrive1
Detailseq"*:\\*"1
CurrentDirectoryeq*1
registry_patheq"HKLM\\System\\CurrentControlSet\\Enum\\USBSTOR\\*"1

Common exclusions (2 distinct)

Field/operator/value combinations that rules under this technique routinely exclude (top-level not() clauses). 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.

FieldKindValueRules excluding
CurrentDirectoryin"C:\\*"1
CurrentDirectoryin"*\\sysvol\\*"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.

Sigma 3 rules

Splunk 3 rules