在badusb的攻击方式被使用以来大多都是伪装成U盘或没有伪装就是一个裸板,毫无疑问裸板是最明显的了,谁会将一个莫明奇妙的线路板(例如digispark)插在电脑上。随着安全知识的普及,U盘这种伪装也越来越不可行了。所以“数据线”就成了一个好思路,伪装成数据线的badusb工具有很多,那些都是有蓝牙远程注入的功能,功能很强,成本稍高,价格也就稍高了些。如果不需要远程的功能,那就自己DIY一个超级小的digispark安装到数据线里吧!
一.board简介
项目来源:https://github.com/joelsernamoreno/BadUSB-Cable我很久之前在github上看到的一个有趣项目(之前叫Badusb-Cable现在已经改名叫Evil crow cable了),简化缩小了digispark,推荐用Rev2版本,这个已经简化到不能再简化了(在能手焊的封装范围内),小到可以装在很多种USB-A的壳里,Rev2后续版本增大了体积但是在元件功能上没有变化,体积增大就放不到那种白色的数据线外壳里了,而现在白色数据线是主流。所以我这里用到的就是Rev2版本。可以自己打板,板厚是0.6mm。下图已经焊好了
元件不多,三个电阻,一个稳压,一个attiny85。
二.所需要的硬件设备
1.usbtinyisp 2.sop8烧录夹 3.焊好的板子。
下图有两个已经放在usb里了,但是没接线。还有一个裸板,通过对比可以看出它有多小。
之所以选择usbtinyisp不只是因为价格便宜,看名字就知道它针对tiny系列的avr芯片。
连接方式如下(只是示意图)
三.熔丝和bootloader 熔丝
用到的软件是AVRDUDESS,支持usbtinyisp就行,usbtinyisp驱动在win10上直接安装不了,会报错没有第三方签名,所以要改一下禁止驱动签名。网上有详细的方法https://jingyan.baidu.com/article/624e74594dbc8d34e8ba5aa6.html就是强制签名
扩展:0xFE 高:0xDD 低:0xE1
这是熔丝的设置,第一次烧录bootloader的时候忘了熔丝位,因为之前都是在升级买的digispark上的attiny85不用考虑熔丝,这次是新的attiny85。按照下图操作然后点写入就行了,可以看到熔丝安排好了。
bootloader
首选去GitHub上下载最新的digispark的bootloader地址:https://github.com/micronucleus/micronucleus
最新的是2.04版本,下载后进入目录micronucleus\firmware\releases就可以看到attiny85的bootloader文件t85_default.hex。(这个bootloader真是越做越大了,挺占空间的)
还是AVRDUDESS按照下图第一个箭头选择编程器,应该是倒数第二个编程器usbtiny simple usb programmer……
在flash栏里选择刚刚下载的bootloader文件,go,大约5秒钟就上传完了
四.测试
首先安装一下digispark的驱动这是驱动文件的下载地址:https://sourceforge.net/projects/digistump/files/安装好驱动。将刚刚做好的设备插在电脑上可以看到已经显示digispark bootloader了。
这样就可以像使用digispark那样制作badusb了,由于网上教学一大堆所以就不多赘述了
五.一个代码转换程序
这个软件是Automator地址:https://github.com/CYRO4S/Automator //这个软件下载下来后是源码,没有编译,所以需要自己去编译一下,我用的是Visual Studio直接f5就解决了。
现在可以直接生成.ino的arduino文件
找点有趣的duck脚本https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads