针对基于Phison(群联)U盘的BadUSB攻击
修改U盘固件使之在插入电脑时能执行键盘指令。原文和源码在此,粗略翻译了一下。https://github.com/adamcaudill/Psychson
其实还有类似的成品卖,叫做USB Rubber Ducky :http://192.64.85.110/
——————以下是翻译——————
Phison 2251-03 (2303) 自定义固件 & 固件打补丁
这个库包含以下项目:
DriveCom -- 一个PC上的C# 程序,用来与基于Phison主控的设备连接。
EmbedPayload -- 一个PC上的C# 程序,将 Rubber Ducky inject.bin key scripts嵌入到定制的firmware,使之在设备上工作。
Injector -- 一个PC上的C# 程序,用来从固件中提取 addresses/equates以及在固件上打补丁代码。
firmware -- 用C语言写的8051自定义固件。
patch -- 用C语言写的8051补丁代码。
发布了以下各项目:
patch -- 用C语言写的8051补丁代码。
tools -- 这是所需工具。皆为编译过的二进制文件。
CFW.bin -- 这个自定义固件的作用是发送预设的键盘指令。
请注意,这个固件的补丁仅针对PS2251-03 ,固件版本1.03.53(就是那个8K eD3 NAND flash chip)。其他设备有可能会运行。
只要你用了正确的固件镜像使之与控制器版本、NAND 芯片适配,在降级为早期版本的时候不会有什么损害。 (比如 1.10.53).
注意: 这是实验性质的软件,无论用在不支持的设备还是支持的设备上面,都有可能造成数据丢失,乃至对 设备造成永久损坏。请自负风险。
1.开始
查看 Known Supported Devices ,获知所支持的设备。对不被支持的设备进行操作的话可能会造成永久损坏。
开始之前,我们应该去弄一个烧录器镜像,就是8051的可执行文件。它应该被写入设备的FLASH芯片中。
浏览 Obtaining a Burner Image 获得更多信息。
2.构建编译环境
在修改当前的固件之前,你必须要设置好编译环境。
浏览 Setting Up the Environment 获得更多信息。在最小安装模式下,SDCC 需要被安装在 C:\Program Files\SDCC.
3.读出固件
运行DriveCom, 通过盘符来选择想要写入的盘,以及烧录器镜像的路径和存放固件的路径:
tools\DriveCom.exe /drive=E /action=DumpFirmware /burner=BN03V104M.BIN /firmware=fw.bin
如果盘符为E,BN03V104M.BIN 就是烧录器的镜像,fw.bin就是读出来的固件镜像。
目前只有 大小为200KB 固件镜像能被读出。(这也说明了为何要用 Patriot 8GB Supersonic Xpress 这个U盘)。
4.装入固件
运行DriveCom, 通过盘符来选择想要写入的盘,以及烧录器镜像的路径和(存放?)固件的路径:
tools\DriveCom.exe /drive=E /action=SendFirmware /burner=BN03V104M.BIN /firmware=fw.bin
如果盘符为E,BN03V104M.BIN 就是烧录器的镜像,fw.bin就是要写入的固件镜像。
5.测试Demo 1 (HID Payload)
在Rubber Ducky format创建一个 key script,然后用Duckencoder 创建 inject.bin ,如下所示:
java -jar duckencoder.java -i keys.txt -o inject.bin
其中 keys.txt 就是key script的路径。
你可能会注意到在Rubber Ducky与drive二者的延迟并不完全相同,可以通过调整script来补偿。
(工具来自 https://code.google.com/p/ducky-decode/.)
生成 inject.bin 以后,按以下操作来将其嵌入到定制化的固件中:
copy CFW.bin hid.bintools\EmbedPayload.exe inject.bin hid.bin
上文Inject.bin的路径设置为刚才生成 inject.bin 文件的路径, hid.bin 是 HID payload固件的路径。
(Notice that the firmware image is copied, and the payload is embedded into the copy -- 因为payload 只能被嵌入一次, 所以原来的 CFW.bin 必须保持完整.)
现在可以将固件写入设备:
tools\DriveCom.exe /drive=E /action=SendFirmware /burner=BN03V104M.BIN /firmware=hid.bin
如果目标盘符为E,BN03V104M.BIN就是烧录器镜像,hid.bin就是 HID payload 固件。
Huge thanks to the Hak5 team for their work on the excellent USB Rubber Ducky!
转载于:https://www.cnblogs.com/codex/p/4051821.html
针对基于Phison(群联)U盘的BadUSB攻击相关推荐
- 原创-Phison群联UP12主控芯片U盘量产图文教程及工具
原创-Phison群联UP12主控芯片U盘量产图文教程及工具 量产对于大家来说肯定是不生疏了,但是对于量产成功来说就是比较麻烦的一件事. 今天我发布一篇教大家如果量产Phison群联UP12主控芯片U ...
- 群联u盘量产为固定盘后解决方案汇总(未验证)
UP19如果勾选"固定磁盘"或量产为FDD(模式4)都可能使MPALL工具不识别,这时改用CTOOL工具.Formatter低格.刷固件或短接flash法可能重新识别量产.具体有几 ...
- U盘---群联方案量产
转帖:http://bbs.mydigit.cn/read.php?tid-18188.html http://www.zhxqsam.com/thread-21817-1-1.html 重要说明:在 ...
- 【经验】短接 Flash 解决二次量产金士顿 DTI G2 4GB U盘(群联PS2251-39)问题
转自:http://bbs.mydigit.cn/read.php?tid=270847&displayMode=1&page=1&toread=1 近几天量产一个金士顿 Da ...
- 基于粒子群算法的冷热电三联供综合能源系统优化调度
基于粒子群算法的冷热电三联供综合能源系统优化调度 摘要:本代码建立了微型燃气轮机冷热电三联供系统模型,综合考虑天然气的消耗.燃气轮机的运行维护.购电费用.排污处理费用,将四部分费用之和作为目标函数,采 ...
- linux解除硬盘加密,封印解除—在linux下访问群联闪存盘加密分区
原标题:封印解除-在linux下访问群联闪存盘加密分区 作者 Modder 给SSD Fans原创投稿技术或市场文章,拿>=100元稿费. 安不忘危,乐不忘忧,使用闪存盘加密区可以很好的保护数据 ...
- 金士顿DT 101 G2 U盘群联主控2251 MPALL v3.16.00量产教程[zz]
最近新买的金士顿DT 101 G2 U盘用老版本的群联检测工具GETinfo如GETinfo v3.2.9.2会不认识MP的版本,一般会显示为MP v 48.30.30,而使用新版本的如GETinfo ...
- 转载:群联PS2251-07主控(Kingston64G)量产CD-ROM+移动磁盘模式过程记录
转载:群联PS2251-07主控(Kingston64G)量产CD-ROM+移动磁盘模式过程记录 原始链接:群联PS2251-07主控(Kingston64G)量产CD-ROM+移动磁盘模式过程记录_ ...
- 群联固态硬盘修复工具_群联发布最高容量QLC硬盘: 15.36TB 碾压HDD
HDD硬盘在出货量上不断下滑,现在在大容量方面也遇到了SSD的挑战.昨日,群联 (Phison) 宣布推出S12DC主控方案,搭配QLC NAND可以实现15.36TB容量,属于QLC中的最高记录. ...
最新文章
- 什么是区块链技术?初学者指南
- 获取远程文章内容时,显示图片的两种方式
- Python基础day07 作业解析【文件操作(文件读写、文件夹操作)】
- .Netcore 2.0 Ocelot Api网关教程(8)- 缓存
- 拥抱.NET Core系列:MemoryCache 缓存域
- 该系列主要整理收集在使用C#开发WinForm应用文章及相关代码来源于WinForms小组...
- DOM701:禁用了反向和正向缓存(开发者)
- bzoj1045题解
- 深入理解LSTM神经网络
- 淘宝、天猫、京东、苏宁等平台抢购脚本
- 思科视频会议系统+服务器,Cisco思科MCU5310视频会议系统服务器
- golang 结构体使用chan
- 小鸟云服务器如何通过本地安全策略阻止IP访问?
- android 应用广告业,安卓应用商店APP推广:CPD广告详解
- python实现简单的神经网络,python的神经网络编程
- 自定义串口通信协议,如何实现?
- 如何解决图片路径是中文名称的问题
- 关于矩形的边框,以及边框线偶尔不显示的问题
- 论文阅读(9)---基于Transformer的多模态CNN心电图心律失常分类
- Ubuntu18.04安装ROS Academy for Beginners
热门文章
- 今天终于知道了什么是X-window中字体hinting的含义了!
- 机器人教育发展_机器人教育为什么火?本文带您了解未来机器人教育的发展趋势...
- FFA 2022 收官总结|活动报告出炉,实时即未来!
- 计算机教室学生上机须知,微机室上机须知
- 聚星完整源码 UI超级好看+对接NG接口+双玩系统
- 双十二大家都在买哪些书?这份书单请码住
- 浅谈LZSS与游戏图片破解
- 工程力学(10)—轴向拉伸与压缩二
- Qt 调用ftd2x API上位机踩坑指南
- 全球及中国新能源汽车动力电池行业需求前景展望及投资方向建议报告2022-2028年