0x01 什么是BadUSB
**BadUSB最早是在2014年的黑帽大会上研究人员JakobLell和Karsten Nohl提出并展示的。不同于老式的U盘病毒,它利用了USB协议中的一个漏洞,通过模拟键盘、鼠标、网卡等从而让目标电脑执行恶意代码,达到控住主机或者窃取敏感信息等目的。由于恶意代码位于U盘中的固件中,所以杀软无法访问和查杀U盘固件区域,但是如果恶意代码落盘或者恶意行为可以被监控或拦截。**
0x02 BadUSB攻击方式
- 物理入侵,简单点找一些未锁屏的办公电脑挨个插入。
2.U盘钓鱼,通过伪装成一个普通移动U盘撒向目标范围内引起目标注意。
3.摆渡攻击,通常是攻击局域网内部系统,当再次插入互联网设备中敏感信息被传输。
0x03 制作BadUSB
1.准备开发板:
2.准备开发环境:
下载Ardiuno IDE,配置开发板管理器网址,这一步是为了后面下载驱动。
3.安装开发板支持及系统驱动:
ATTINY 85需要下载Digispark 驱动支持,所以要先下载安装64bit安装程序。
4.安装开发板支持:
5.针对digispark编写利用代码:
键盘代码都定义在DigiKeyboard.h文件中,为了bypass中文输入法所以要执行KEY_CAPS_LOCK,开启大写键盘,这部分在头文件中预先没有定义所以要修改headers。
通过打开powershell新建webclient对象下载样本并执行。
6.digispark头文件
7.编译代码及烧写到开发板:
0x04 执行效果
0x05 BadUSB检测
1.windows日志
2.设备管理器