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-masterfirmwareuild.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针,再用官方刷写工具刷新 

原文地址:https://www.cnblogs.com/k1two2/p/4789686.html