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.
主控版本:Phison -

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

BadUSB测试记录的更多相关文章

  1. linux .net mono方案测试记录与报告(一)

    第一阶段 linux .net 方案测试 硬件为4核8线程的笔记本i7-4710mq 分配了4个线程 情况下 1.方案一 nginx+fastcgi-mono-server4方式 性能为每秒处理140 ...

  2. Yii 增删改查 测试记录

    亲们, 我是yii小白 不要笑话我奥.今天白天写一个管理模块涉及到 yii ar 下的  curd 操作,做 update 操作时纠结了好久,今天晚上花点时间学习, 下面写下我的测试记录 代码如下: ...

  3. Office隐藏17年的漏洞CVE_2017_11882测试记录

    Office隐藏17年的漏洞CVE_2017_11882测试记录 创建时间: 2017/11/25 0:18 作者: CN_Simo 标签: Office漏洞 参考文章1:https://www.cn ...

  4. HDFS部署测试记录(2019/05)

    目录 HDFS部署测试记录 0.HDFS基础知识 1.基本组成结构与文件访问过程 2.NameNode启动时如何维护元数据 3.HDFS文件上传流程 1.系统环境 1.安装大致记录: 2.磁盘分区 3 ...

  5. [转]Rapid Reporter——轻量级ET测试记录工具

    下载地址:http://testing.gershon.info/reporter/ 特别感谢:邰晓梅老师 在一次ET的在线培训课程,邰晓梅老师使用的是这个工具. Rapid Reproter,是一款 ...

  6. linux下开发板网络速度测试记录

        由于做的项目对于网络和USB的读写速度有很高的要求,因此新拿回来的板子要测试网络和usb的最佳传输速度.要考虑不少因素,先把我能想到的记录下来.     测试的环境是开发板和ubuntu虚拟机 ...

  7. 堡垒机jumpserver测试记录--使用

    快速入门 截图就不放了,官网都有,这里只是就遇到的一些问题做下记录 必备条件 一台安装好 Jumpserver 系统的可用主机(堡垒机) 一台或多台可用的 Linux.Windows资产设备(被管理的 ...

  8. 堡垒机jumpserver测试记录--安装

    一步一步安装(CentOS) 基本都是官网的东西,只是有些坑做了记录. http://docs.jumpserver.org/zh/docs/step_by_step.html 环境 系统: Cent ...

  9. ELK的高级篇(测试记录各种日志)

    一.elk架构已经完成情况情况下  访问限制: 加个x-pack插件  1)一个脚本收集多个日志,if 判断写入es的索引 [root@k8s6 conf.d]# cat file.conf inpu ...

随机推荐

  1. 【Android实验】第一个Android程序与Activity生命周期

    目录 第一个Android程序和Activity生命周期 实验目的 实验要求 实验过程 1. 程序正常启动与关闭 2. 外来电话接入的情况 3. 外来短信接入的情况 4. 程序运行中切换到其他程序(比 ...

  2. 机器学习 MLIA学习笔记(一)

    监督学习(supervised learning):叫监督学习的原因是因为我们告诉了算法,我们想要预测什么.所谓监督,其实就是我们的意愿是否能直接作用于预测结果.典型代表:分类(classificat ...

  3. json字符串在javascript和java代码中的表示方式

    最近在使用js写json形式的字符串的时候,当我把json形式的字符串放到函数JSON.parse()的时候,总是报错Uncaught SyntaxError: Unexpected token ' ...

  4. ubuntu 14.04 安装redis5.0.3

    redis下载地址:http://download.redis.io/releases/ 新建Redis目录,下载Redis 安装包: mkdir rediscd rediswget http://d ...

  5. stat用法:获取文件对应权限的数字

    题目:文件属性为-rw-r--r-- 对应权限为644,如何使用命令获取权限对应的数字?? 举例如下: [linuxidc@localhost ~]$ ll -l-rw-r--r-- 1 linuxi ...

  6. 转载:Nginx负载均衡的5种策略

    nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个. nginx的upstre ...

  7. JAVA类和对象创建

    面向对象 学习目标: 理解面向对象的编程思想 理解类与对象的关系 如何创建类与对象 方法重载 一:什么是面向对象编程(OOP) 面向对象编程(Object Oriented Programming,O ...

  8. centos7: iptables保存(配置完nginx的web规则后)

    centos7: iptables保存(配置完nginx的web规则后) 以本地虚拟机为例: 添加规则:入站规则 iptables -I INPUT -p tcp --dport 80 -j ACCE ...

  9. English trip -- Review Unit2 At school 在学校

    What do you need,Loki? I need an eraser What does he need? He needs a dictionary Where's my pencil? ...

  10. 『科学计算』科学绘图库matplotlib学习之绘制动画

    基础 1.matplotlib绘图函数接收两个等长list,第一个作为集合x坐标,第二个作为集合y坐标 2.基本函数: animation.FuncAnimation(fig, update_poin ...