ღ Miranda

BadUSB简单制作与利用

“BadUSB”是计算机安全领域的热门话题之一,该漏洞由Karsten Nohl和Jakob Lell共同发现,并在2014的BlackHat安全大会上公布,BadUSB最可怕的一点是恶意代码存在于U盘的固件中,由于PC上的杀毒软件无法访问到U盘存放固件的区域,因此也就意味着杀毒软件和U盘格式化都无法应对BadUSB进行攻击。

原理

BadUSB出现之前,HID(Human Interface Device)进行攻击的两种类型分别是”USB RUBBERDUCKY”和”Teensy”,这两种攻击方式,是在BadUSB公布之前,比较流行的两种HID攻击方式,缺陷在于要定制硬件设备,通用性比较差。但是BadUSB就不一样了,它是在“USB RUBBER DUCKY”和“Teensy”攻击方式的基础上用通用的USB设备(比如U盘)。

TEENSY

攻击者在定制攻击设备时,会向USB设备中置入一个攻击芯片,此攻击芯片是一个非常小而且功能完整的单片机开发系统,它的名字叫TEENSY。通过TEENSY你可以模拟出一个键盘和鼠标,当你插入这个定制的USB设备时,电脑会识别为一个键盘,利用设备中的微处理器与存储空间和编程进去的攻击代码,就可以向主机发送控制命令,从而完全控制主机,无论自动播放是否开启,都可以成功,具体可以参考天融信阿尔法实验室的文章HID攻击之TEENSY实战

USB RUBBER DUCKY

简称USB橡皮鸭,是最早的按键注入工具,通过嵌入式开发板实现,后来发展成为一个完全成熟的商业化按键注入攻击平台。它的原理同样是将USB设备模拟成为键盘,让电脑识别成为键盘,然后进行脚本模拟按键进行攻击。

BadUSB

U盘由芯片控制器和闪存两部分组成,芯片控制器负责与PC的通讯和识别,闪存用来做数据存储;闪存中有一部分区域用来存放U盘的固件,它的作用类似于操作系统,控制软硬件交互;固件无法通过普通手段进行读取。BadUSB就是通过对U盘的固件进行逆向重新编程,相当于改写了U盘的操作系统而进行攻击的。

实现

可以使用leonardo Arduino开发板实现一个BadUSB,使用Arduino IDE进行攻击代码写入,在Arduino中开发板选Arduino leonardo,串口选插入设备显示的串口,否则可能无法写入。

初始界面代码如下:

可以在setup()里填入攻击代码,首先#include <KeyBoard.h>就可以模拟出一个键盘:

这里有一款软件叫LaAzgne,能够抓取本地一些软件内存放的密码,可以用来窃取邮箱密码,wifi密码等,下载时文件名后缀最好不是exe,保存时重命名,防止被杀毒软件拦截。

将结果发送到邮箱的powershell脚本:

发表评论

电子邮件地址不会被公开。