外围设备发现是攻击者通过枚举计算机连接的物理设备(如USB存储、智能卡读卡器、打印机等)来获取系统环境信息的技术手段,通常用于识别潜在数据泄露渠道或特权设备。攻击者可能调用系统API、检查设备管理器条目或解析即插即用事件日志来收集设备信息,为后续横向移动或数据窃取提供情报支撑。防御措施包括监控设备管理API调用、分析进程树中的异常命令行参数,以及检测非常规外设连接事件。
为规避传统设备发现技术因API调用特征明显、网络外传行为集中而暴露的风险,攻击者发展出多维度的隐蔽实施方法,通过工具链滥用、间接信息推断和加密通信融合等策略,将设备发现行为深度嵌入系统正常运维活动中,形成"低特征、高融合"的新型设备侦察范式。
现有外围设备发现匿迹技术的核心逻辑聚焦于操作痕迹消除与数据流隐匿。攻击者通过系统信任机制渗透,将恶意设备查询指令封装在合法管理工具执行流中,消除异常进程创建痕迹;利用日志审计盲区,从非传统数据源间接推导设备信息,避免触发API监控告警;在网络传输层构建加密隧道,将设备元数据伪装成业务通信内容。三类技术的共性在于突破传统设备发现技术的显性特征,通过系统功能寄生、数据源迁移和协议层隐匿三重机制,实现设备侦察行为的"去武器化"伪装。特别是加密通道技术的应用,使得设备信息外传突破网络层检测屏障,形成端到端的隐蔽数据泄露管道。
匿迹技术的演进导致传统基于API调用监控和明文流量分析的防御手段面临失效风险,防御方需加强系统管理工具的行为基线建模,实施细粒度的日志审计策略,并部署加密流量威胁检测系统,通过上下文关联分析识别异常设备信息传输行为。
| 效应类型 | 是否存在 |
|---|---|
| 特征伪装 | ✅ |
| 行为透明 | ❌ |
| 数据遮蔽 | ✅ |
| 时空释痕 | ✅ |
攻击者通过滥用系统内置管理工具(如PowerShell、WMI)执行设备发现操作,使恶意行为在进程名称、命令行参数等维度与合法管理任务完全一致。同时将网络外传流量封装在HTTPS等加密协议中,伪装成正常业务通信,破坏基于协议特征识别的检测机制。
在设备信息外传阶段采用TLS加密传输,隐藏设备元数据的明文特征。加密通道不仅保护通信内容不被中间节点解析,还通过证书伪装使恶意流量呈现合法服务交互特征,规避基于载荷特征匹配的检测规则。
通过低频次、长周期的设备查询策略,将集中式扫描任务分散到数月时间跨度执行。结合用户实际外设使用习惯动态调整探测节奏,使设备发现事件在时间序列上呈现自然分布特征,破坏基于操作频次异常的检测模型。
| ID | Name | Description |
|---|---|---|
| S0045 | ADVSTORESHELL |
ADVSTORESHELL can list connected devices.[1] |
| G0007 | APT28 |
APT28 uses a module to receive a notification every time a USB mass storage device is inserted into a victim.[2] |
| G0067 | APT37 |
APT37 has a Bluetooth device harvester, which uses Windows Bluetooth APIs to find information on connected Bluetooth devices. [3] |
| S0438 | Attor |
Attor has a plugin that collects information about inserted storage devices, modems, and phone devices.[4] |
| G0135 | BackdoorDiplomacy |
BackdoorDiplomacy has used an executable to detect removable media, such as USB flash drives.[5] |
| S0128 | BADNEWS |
BADNEWS checks for new hard drives on the victim, such as USB devices, by listening for the WM_DEVICECHANGE window message.[6][7] |
| S0234 | Bandook | |
| S0089 | BlackEnergy |
BlackEnergy can gather very specific information about attached USB devices, to include device instance ID and drive geometry.[9] |
| S0454 | Cadelspy |
Cadelspy has the ability to steal information about printers and the documents sent to printers.[10] |
| S1149 | CHIMNEYSWEEP |
CHIMNEYSWEEP can monitor for removable drives.[11] |
| S0115 | Crimson |
Crimson has the ability to discover pluggable/removable drives to extract files from.[12][13] |
| S0538 | Crutch |
Crutch can monitor for removable drives being plugged into the compromised machine.[14] |
| S0673 | DarkWatchman |
DarkWatchman can list signed PnP drivers for smartcard readers.[15] |
| S0062 | DustySky | |
| G0020 | Equation |
Equation has used tools with the functionality to search for specific information about the attached hard drive that could be used to identify and overwrite the firmware.[17] |
| S0679 | Ferocious |
Ferocious can run |
| S0381 | FlawedAmmyy |
FlawedAmmyy will attempt to detect if a usable smart card is current inserted into a card reader.[19] |
| S1044 | FunnyDream |
The FunnyDream FilepakMonitor component can detect removable drive insertion.[20] |
| G0047 | Gamaredon Group |
Gamaredon Group tools have contained an application to check performance of USB flash drives. Gamaredon Group has also used malware to scan for removable drives.[21][22] |
| S1027 | Heyoka Backdoor |
Heyoka Backdoor can identify removable media attached to victim's machines.[23] |
| S1139 | INC Ransomware |
INC Ransomware can identify external USB and hard drives for encryption and printers to print ransom notes.[24] |
| S0283 | jRAT | |
| S0409 | Machete |
Machete detects the insertion of new devices by listening for the WM_DEVICECHANGE window message.[26] |
| S1026 | Mongall |
Mongall can identify removable media attached to compromised hosts.[23] |
| S0149 | MoonWind |
MoonWind obtains the number of removable drives from the victim.[27] |
| S1090 | NightClub | |
| S0385 | njRAT |
njRAT will attempt to detect if the victim system has a camera during the initial infection. njRAT can also detect any removable drives connected to the system.[29][30] |
| S0644 | ObliqueRAT |
ObliqueRAT can discover pluggable/removable drives to extract files from.[31] |
| G0049 | OilRig |
OilRig has used tools to identify if a mouse is connected to a targeted system.[32] |
| C0012 | Operation CuckooBees |
During Operation CuckooBees, the threat actors used the |
| C0014 | Operation Wocao |
During Operation Wocao, threat actors discovered removable disks attached to a system.[34] |
| S0113 | Prikormka |
A module in Prikormka collects information on available printers and disk drives.[35] |
| S0650 | QakBot |
QakBot can identify peripheral devices on targeted systems.[36] |
| S0686 | QuietSieve |
QuietSieve can identify and search removable drives for specific file name extensions.[37] |
| S0481 | Ragnar Locker |
Ragnar Locker may attempt to connect to removable drives and mapped network drives.[38] |
| S0458 | Ramsay |
Ramsay can scan for removable media which may contain documents for collection.[39][40] |
| S1150 | ROADSWEEP |
ROADSWEEP can identify removable drives attached to the victim's machine.[11] |
| S0148 | RTM |
RTM can obtain a list of smart card readers attached to the victim.[41][42] |
| S1089 | SharpDisco |
SharpDisco has dropped a plugin to monitor external drives to |
| S0603 | Stuxnet | |
| S1064 | SVCReady |
SVCReady can check for the number of devices plugged into an infected host.[44] |
| S0098 | T9000 |
T9000 searches through connected drives for removable storage devices.[45] |
| S0467 | TajMahal |
TajMahal has the ability to identify connected Apple devices.[46] |
| G0139 | TeamTNT |
TeamTNT has searched for attached VGA devices using lspci.[47] |
| S0647 | Turian | |
| G0010 | Turla |
Turla has used |
| S0452 | USBferry | |
| S0136 | USBStealer |
USBStealer monitors victims for insertion of removable drives. When dropped onto a second victim, it also enumerates drives connected to the system.[50] |
| G1017 | Volt Typhoon |
Volt Typhoon has obtained victim's screen dimension and display device information.[51] |
| S0366 | WannaCry |
WannaCry contains a thread that will attempt to scan for new attached drives every few seconds. If one is identified, it will encrypt the files on the attached device.[52] |
| S0612 | WastedLocker |
WastedLocker can enumerate removable drives prior to the encryption process.[53] |
| S0251 | Zebrocy |
Zebrocy enumerates information about connected storage devices.[54] |
This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.
| ID | Data Source | Data Component | Detects |
|---|---|---|---|
| DS0017 | Command | Command Execution |
Monitor executed commands and arguments that may attempt to gather information about attached peripheral devices and components connected to a computer system. |
| DS0009 | Process | OS API Execution |
Monitor for API calls that may attempt to gather information about attached peripheral devices and components connected to a computer system. |
| Process Creation |
Monitor for newly executed processes that may attempt to gather information about attached peripheral devices and components connected to a computer system. |