支持的设备
- Patriot 8GB Supersonic Xpress*
- Kingston DataTraveler 3.0 T111 8GB
- Silicon power marvel M60 64GB
- Patriot Stellar 64 Gb Phison
- Toshiba TransMemory-MX USB 3.0 16GB (May ship with 2307)
- Toshiba TransMemory-MX USB 3.0 8GB
- Kingston DataTraveler G4 64 GB
- Patriot PSF16GXPUSB Supersonic Xpress 16GB
- Silicon Power 32GB Blaze B30 (SP032GBUF3B30V1K)
- Kingston Digital 8GB USB 3.0 DataTraveler (DT100G3/8GB)* - Using PS2251-03 (By the way, the DriveCom.exe does not work for it, you need use Phison MPALL Tools to burn the firmware.)
重点在于使用群联(Phison)的芯片,型号最好是PS2251-03(2303)
。
Also note that if you buy a confirmed device, you might not end up with one with the PS2251-03, as manufacturers seem to use different controllers even with same device models.
配置环境
- VS2012 或以上
- SDCC 安装路径
C:\Program Files\SDCC
- Java
- U盘量产工具 Phison MPALL v3.72.0B.zip (可选)
- [ChipGenius] ChipGenius_v4_00_0027_pre2.exe
准备工作
- 编译 C:\Psychson-master\DriveCom
- 编译 C:\Psychson-master\EmbedPayload
- 编译 C:\Psychson-master\Injector
工具会自动生成在TOOLs目录下
查看固件版本信息
CMD工具
|
|
Phison MPALL
打开 Phison MPALL v3.72.0B.zip 里的 GetInfo.exe,输入盘符 G, 点击 Read
ChipGenius
直接用该工具查看
编译固件
|
|
备份固件
|
|
BN03V104M.BIN 是 burner image(烧录器镜像)的名字
fw.bin 是 生成的firmware dump.
Duck Script
|
|
合成
hid.bin 是用户自定义的固件。
可能报错 signature not found错误
|
|
设置U盘模式 写入固件
|
|
如果软件模式更改不了BOOT模式,可以拆开U盘使用短接的办法来设置[9]
烧录
DriveCom.exe /drive=G /action=SendFirmware /burner=BN03V104M.BIN /firmware=hid.bin
tools\DriveCom.exe /drive=盘符 /action=SendFirmware /burner=C:\Psychson-master\BN03V104M.BIN /firmware=C:\Psychson-master\firmware\bin\fw.bin#刷入固件跟载荷 /firmware=是刚才我们通过 EmbedPayload.exe装入了载荷的固件
总结
- 编译工具
- 生成Duck Script 的二进制文件
- 合并二进制文件
- 烧录到U盘
方便起见可以购买现成产品, USB-Rubber-Ducky 以及 国产的烧鹅等。
进一步阅读 Android USB
Android设备的POC代码下载地址为:
https://srlabs.de/blog/wp-content/uploads/2014/07/BadAndroid-v0.1.zip
防御
http://drops.wooyun.org/tips/9336
参考资料
[1] 俄语的视频解说
[2] BlackHat 演讲: BadUSB - On Accessories that Turn Evil by Karsten Nohl + Jakob Lell
[3] 解密BadUSB:世界上最邪恶的USB外设
[4] SRLab BadUSB BlackHat PDF
[5] SDCC 下载
[6] U盘量产工具
[7] adamcaudill/Psychson
[8] Duck Script Payload
[9] 手动短接U盘引脚
[10] CSDN 参考步骤
[11] Burner 列表 Additional Files PS2251-03
[12] 插入U盘自动攻击:BadUSB原理与实现(含视频) - freebuf
[13] BadUSB的前世今生:USB RUBBER DUCKY和Teensy USB