低成本制作一条BadUSB数据线

在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就解决了。