BadUSB! 只需要十几块钱。
首先,你需要有个Arduino Leonardo或者SparkFun Pro Micro
然后,你需要kali的Social-Engineer Toolkit来生成几个脚本
1 | # setoolkit |
如下选择
1 | 1) Social-Engineering Attacks |
这个选择会生成一个模拟键盘构造vbs脚本从服务器上下载x.exe然后执行的BadUSB脚本。再输入一些必要的信息后,就会在~/.set/reports/ 目录下面生成arduino的程序。
1 | // |
但是这个程序是供teensy使用的,我们需要对他进行一些改造。我们发现,程序的主要执行部分都在setup()函数中,在使用leonardo目标build的时候会提示keyboard中没有某些成员函数。于是我们就要将此部分改写。这里我已经把omg函数和ascii_println函数改写过了。改写过后的程序如下
1 |
|
我们使用改写过的代码编译上传,并且在http服务器中存放好用于攻击的exe文件,插上我们的BadUSB后,便会自动实施攻击。用这个BaD设备去捅你的小伙伴的电脑吧!
但是目前这种改写只能适用于简单的脚本。如果生成内嵌payload的teensy脚本则很难改写。正在尝试将teensy的库移植到leonardo上。目前基本完成但尚未测试。测试通过后会发布出来。目前也正在尝试群联某方案上的攻击漏洞。期末考完试后考虑做一款内置储存的BadUSB设备。理论上比普通U盘贵30-40元左右。