打造属于自己的渗透神器之 wifi-ducky.

网友投稿 2019-08-01 14:31

在之前的打造属于自己的渗透神器系列中的 badusb 文章中作者发现大家普遍反映 Digispark 开发板做的 badusb 他只能执行一次编写好的命令,如果插上去失效了那就没有办法执行了。如果使用树莓派 zero w 和 P4wnP1 做的 badusb 我们发现他的功能非常强大,但是他的缺点也出来了,那就是如体型太大了容易给发现而且单个造价很高。这样对某些实验环境下非常的不友好例如:我们对某一台电脑进行 badusb 攻击我们把攻击设备插在了他的电脑上然后发现电脑的主人坐在那里不走了,你的攻击设备又不能取走这样就白白的损失了 zero w 和内存卡的钱。

那我们能不能做一个体积小,造价低,能在线编辑攻击脚本,还是无线连接的 badusb 设备?

当然有了我们根据 GitHub 里面的一个叫做 wifi-ducky 的项目进行实现

https://cdn.china-scratch.com/timg/190803/1431046207-0.jpg

准备工作

1、ESP8266( ESP-12f,NodeMCU,ESP-01S)

2、带有 Atmega32U4 的开发板(本文使用的 arduino Leonardo)

3、焊接工具

4、一些线

5、烧录软件

开始制作

先打开 arduino 新建一个项目然后选择对应的开发板和对应的端口号,如果你不知道自己的开发板端口号是什么的话可以去设备管理器里面可以看到,我们去这个地址:

https://github.com/spacehuhn/wifi_ducky/blob/master/arduino_wifi_duck/arduino_wifi_duck.ino

里面复制代码到 arduino 里面

https://cdn.china-scratch.com/timg/190803/1431042U6-1.jpg

当你上传的时候会发现上传错误,原因是你没有这个 keyboard 的库文件,我们再去项目-加载库-添加库-搜索 keyboard 安装就可以了

https://cdn.china-scratch.com/timg/190803/1431053220-2.jpg

然后我们点击上传按钮开始上传,等待几秒就会显示下图上传成功

https://cdn.china-scratch.com/timg/190803/1431052c0-3.jpg

接下来我们可以把它放在一边了,开始 esp8266 的上传固件了。由于 esp8266 的固件早已经就做好了我们直接去 GitHub 下载

https://github.com/spacehuhn/wifi_ducky/releases

直接上传就可以了前面 3 个顺便下载就可以了https://cdn.china-scratch.com/timg/190803/1431051921-4.jpg

解压出来一个 esp8266_wifi_duck_1mb。

bin 的文件接下来我们就用 esp8266 的烧写固件的软件进行烧写。打开软件插上 esp8266 先在 Operation 中选择端口然后再去 config 里面选择我们刚刚下载的固件进行烧录

https://cdn.china-scratch.com/timg/190803/14310B445-5.jpg

https://cdn.china-scratch.com/timg/190803/14310AX4-6.jpg

烧录成功了下面会显示一个绿色的对号图案,然后就可以了。如果你们觉得这样烧录不好那你可以选择使用 arduion进行烧录,但是这样烧录就稍微麻烦点。接下来就到最重要的部分那就是接线!!!

使用 arduion 和 esp8266 就 TX 对 RX,RX 对 TX,GND 对 GND,VCC 对 VCC。

https://cdn.china-scratch.com/timg/190803/14310MY7-7.jpg

如果你是使用 ESP-12F 的话需要一个转接板也就是 5V 转 3.3V ,ESP-12F 他是 3.3V 供电而 arduino Leonardo 是 5V 前提是 arduino Leonardo 的晶振是 16 就是 5v 的如果是 8 的话就是 3.3

https://cdn.china-scratch.com/timg/190803/14310IJ1-8.jpg

如图就是作者接好的图

https://cdn.china-scratch.com/timg/190803/14310H502-9.jpg

就不用吐槽作者的焊接了。。就是把杜邦线直接焊在了洞里面。。需要注意的事情就是不要把焊锡焊到其他不需要焊接的地方就好了,然后我们插上电源看看

https://cdn.china-scratch.com/timg/190803/14310KI6-10.jpg

当我们插上电源的时候 ESP8266 会发射出一个叫做 WIFI DUCK 的 SSID 连接密码是 quackquack,连接上了以后打开浏览器登入后台 192.168.4.1 中进行控制我们会发现有三个界面第一个的界面就是 badusb 的脚本界面,这控制界面是给你提前写好的脚本进行上传用的总共能上传 482KB,

https://cdn.china-scratch.com/timg/190803/14310T164-11.jpg

第二个界面就可以直接在线写脚本进行攻击这里我演示了打开运行,下面是有使用命令帮助提示当然他也成功的打开了运行、

https://cdn.china-scratch.com/timg/190803/14310Q193-12.jpg

https://cdn.china-scratch.com/timg/190803/14310934L-13.jpg

第三个界面就是设置界面了那就不展示了,到这里大家肯定很迷惑为什么不用 CJMCU 和 ESP-12F 进行制作?原因也非简单(我没有买 CJMCU)作者目前手里有一个 arduino Leonardo 我发现他和 CJMCU 用的是一样的芯片我就想试一下看可以使用不,结果是可以使用的。为什么不用 ESP-12F 反而用, NodeMCU?

原因也是非常简单(我没有买 5v 转 3.3v 的板子)从小白的角度出发来说用 ESP-12F 的话你还需要买一个电压转换板这样就加大了你的焊接难度而 NodeMCU 所有的脚针都给你引出来了这样你就非常的好用杜邦线进行连接。(从左往右依次是 NRF24L01,ESP-12F,ESP-01S)

https://cdn.china-scratch.com/timg/190803/14310aD8-14.jpg

总结

对于 badusb 来说越小越好而且能力也要足,基于这次做的 wifi-ducky 作者也思考了几个问题能否更小一点?无线距离能否再远一点?能否再安装一个 SD 卡呢?能否安装一个 4G 模块进行远程遥控呢?这些都有可能对于以后的 badusb 来说小而厉害,能在超远的距离进行攻击而且能和周边的 badusb 进行联动就更好了,其实作者还有几个想法没有实现希望有读者能尝试做一些那就是使用 ESP-01S 进行控制或者使用 NRF24L01 进行控制这些都不错吧!关于 badusb 攻击的防御手段其实非常简单开机之前看看有没有什么奇怪的东西插在你的电脑上面,其次禁止运行窗口的回车键就可以了,还需要禁止外部硬件自动安装驱动程序就可以了。谢谢大家的阅读!

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com