badusb 投毒事件
0x00 简介¶
badusb 攻击是攻击者将恶意代码烧录进 usb 设备,之后插入到受害电脑中,在受害者电脑上执行恶意代码的攻击
大家捡到神灯,通常会说最后一个愿望是再要3个愿望,对于攻击者来说也是一样的,USB设备代码是写死的,插入一次只能执行一次恶意代码,因此攻击者会尽可能得想要进行远程控制被害主机,所以这类事件在处置上与远控后门事件差不多,但是需要进行以下部分步骤
固定证据 -> 分析日志 -> 确定事件发生 -> 确定攻击发生的时间 -> 找到恶意设备 -> 分析恶意代码 -> 进行针对性处置
0x01 固定证据¶
在发生任何安全事件时,确定安全事件真实存在以后,第一步都建议固定证据,固定证据一般有以下几种类型,受害单位可以根据实际需求选择
- 系统快照 - 一般云环境比较方便这么做
- 磁盘取证
- 针对性取证 - 例如日志文件、网络信息、数据库等
- 内存取证
系统快照¶
这种主要是云环境或虚拟化环境比较方便,目前似乎这类方式取证出来的内容都会丢失内存信息,属于是关机-快照-导出
虚拟机软件似乎支持例如暂停、冻结等功能,具体根据实际情况决定
磁盘取证¶
磁盘取证有很多工具可以考虑
dd
FTK Imager
针对性取证¶
这部分推荐我们自己的 NOPTrace-Collector
https://github.com/Just-Hack-For-Fun/NOPTrace-Collector
我们还推出了一套数字取证和应急响应规范,可以根据此规范自己开发取证程序
https://github.com/Just-Hack-For-Fun/OpenForensicRules
内存取证¶
DumpIt
FTK Imager
取证后,对证据进行分析时,需要先单独复制一份,保持所有安全人员分析的基础是相同的
0x02 日志分析¶
USB 设备插入会触发哪些日志呢?
Windows Server 2016¶
在 Windows Server 2016 默认配置下,插入一个设备(我通过鼠标进行模拟,并非真实的badusb),会在以下两个日志留下痕迹
- System
- Microsoft-Windows-DeviceSetupManager/Admin
在 System 中记录的日志如下
事件 id 为 7036
在 sans 的官方海报中,还提到了 System 日志中事件 id 为 20001, 20003 – Plug and Play driver install attempted 的事件
在本次测试没有触发可能是因为插入的是鼠标不是 badusb ,也可能是因为需要开启某些配置才能记录该事件
在 Microsoft-Windows-DeviceSetupManager/Admin 中记录的日志如下
最后的 112 事件记录了 USB 设备的名称,即我的 G102 鼠标,还记录了一个 UUID ,经过测试,该UUID 是与设备一对一绑定的,所以可以通过在相同的测试系统上重复插设备分析日志来确定引发 badusb 的设备
Windows 11¶
badusb 能够直接攻击服务器的比较少,主要还是对于终端的攻击,经过测试发现,当 Windows 11 插入 USB 设备后留下的日志与 Windows Server 2016 不同,更加详细
一般来说,一个USB设备唯一的特性就是 VID 和 PID ,我们先看一下设备的 VID 和 PID ,之后再看看日志中是否记录了该信息,也好分辨出哪条记录是鼠标插入造成的
可以看到 VID = 046D , PID = C084
现在看一下日志发现,在 Windows 11 中插入 USB HID设备主要触发以下三个事件
- Microsoft-Windows-Kernel-PnP/Configuration
- Microsoft-Windows-DeviceSetupManager/Operational
- Microsoft-Windows-UserPnp/DeviceInstall
Microsoft-Windows-Kernel-PnP/Configuration 记录较多,主要如下
可以在记录里直接获取到 VID 和 PID ,事件id 主要为 400、410、411、430、440、442
Microsoft-Windows-DeviceSetupManager/Operational 记录如下
这里的 UUID 就是上面我们在 Windows Server 2016 中获取到的 UUID ,事件id为 300
Microsoft-Windows-UserPnp/DeviceInstall 记录如下
事件id 主要为 8001、8008
获取设备 VID 和 PID¶
插入设备后,搜索设备管理器
在其中右键 -> 属性 -> 事件 就可以找到与该设备相关的事件了
在这里就可以看到 VID 和 PID 了
0x03 事件处置¶
确定好被攻击时间以及攻击者使用的 USB 设备后,可以对 USB 设备交给专业人员进行分析,将分析后的结果辅助后续排查
通过上机排查以及安全设备,确定攻击者的利用手段,远程控制?蠕虫病毒? 横向攻击?
根据受害主机存在的具体行为进行对应处置,例如如果出现反向连接恶意C&C服务器,即可采用远控后门章节的处置方法;如果出现横向攻击,则需要确定受害面,对受害服务器进行隔离以及排查
0x04 善后阶段¶
直接查看善后阶段即可,主要为定损以及针对性排查处理,目的是解决潜在的受害服务器
0x05 常规安全检查阶段¶
直接根据常规安全检查章节进行安全检查即可,目的是找出当前系统中存在的隐藏后门等