BadUSB测试记录
0x00 前言
不是很新的东西,其他作者已对此做过研究测试,本文仅用来记录操作过程,保存日志,说明细节。
0x01参考资料
https://github.com/adamcaudill/Psychson
https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads
http://zone.wooyun.org/content/22819
0x02环境搭建
1、硬件
U盘 :东芝(TOSHIBA) 速闪系列 U盘 16GB (黑色) USB3.0 主控版本:Phison 2251-03
2、软件
Windows x64主机
(1)Java Runtime Environment :Java环境,用于支持Duckencoder
(2)SDCC :刷写U盘的环境,用于支持Psychson
(3)Visual Studio 2012 :编译Psychson的开发环境
(4)Psychson :BasUSB写入工具 (https://github.com/adamcaudill/Psychson)
(5)Burner File :BN03V104M.BIN,必要的burner
(6)USB-Rubber-Ducky Payload :编写Payload的参考代码 (https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads)
(7)Duckencoder :用于编译Payload
(8)chipgenius 芯片检测工具 :用于确定U盘型号
0x03操作流程
1、配置Payload
进入DuckEncoder文件夹
执行:
java -jar encoder.jar -i payload.txt -o inject.bin
说明:
encoder.jar:文件夹自带 payload.txt:可参考USB-Rubber-Ducky Payload inject.bin:执行代码后生成的文件
2、生成固件
执行:
Psychson-master\firmware\build.bat
生成fw.bin文件
3、将Payload写入fw.bin文件
执行:
EmbedPayload.exe inject.bin fw.bin
说明:
EmbedPayload.exe:编译EmbedPayload工程得来
inject.bin:操作1生成
fw.bin:操作2生成
4、将生成的固件写入U盘
(1)执行
DriveCom.exe /drive=E /action=SetBootMode
设置U盘模式
(2)执行
DriveCom.exe /drive=E /action=SendExecutable /burner=BN03V104M.BIN
操作burner
(3)执行
DriveCom.exe /drive=E /action=SendFirmware /burner=BN03V104M.BIN /firmware=fw.bin
将fw.bin刷入U盘
0x04 小结
刷入成功后,下次插入U盘会模拟键盘操作,自动执行Payload
0x05 补充
如果刷坏或者想更改Payload,需要短接29和30针,再用官方刷写工具刷新