USB攻击之BadUSB实现linux和macOS反弹shell

admin 2023年3月13日08:54:26评论54 views字数 2372阅读7分54秒阅读模式
USB攻击之BadUSB实现linux和macOS反弹shell

BadUSB是什么

简单来讲,就是通过硬件直接插入目标设备,让目标设备执行代码,达到干扰、控制主机或者窃取信息等目的。属于一种HID攻击,全称Human Interface Device,看名字来讲,HID设备是直接与人交互的设备,例如鼠标,键盘,手柄等设备。

Teensy简介

为什么一个看起来像USB的设备,会具备攻击性呢?因为攻击者在定制这款设备时,会向设备中置入一个攻击芯片,此攻击芯片是一个非常小且功能完整的单片机系统,名字就是Teensy,通过这个攻击设备会模拟出键盘和鼠标等HID设备,当插入时,系统就会识别为一个HID设备,利用设备中的微处理器与储存空间和攻击代码,来控制主机。

Arduino简介

Arduino是一款便捷灵活、方便上手的开源电子原型平台;它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境;我们只需要在IDE中编写程序代码,将程序上传到Arduino电路板后,就可以让电路板做我们想做的事

实验环境

BadUSB硬件和[Arduino软件](https://www.arduino.cc/en/software)

实验过程

烧录过程

首先打开Arduino程序,然后选择工具,选择端口,选择BadUSB对应的端口

USB攻击之BadUSB实现linux和macOS反弹shell

打开工具,选择开发板"Arduino Leonardo"

USB攻击之BadUSB实现linux和macOS反弹shell

编辑脚本,实现反弹shell,烧录进去

USB攻击之BadUSB实现linux和macOS反弹shell

用arduino写脚本烧入badusb

#includevoid setup() {  Keyboard.begin();//开启键盘通讯...  Keyboard.press(KEY_LEFT_GUI);//按下win键  delay(500);  Keyboard.release(KEY_LEFT_GUI);//释放win键 ..}
void loop() {  // put your main code here, to run repeatedly:}

arduino的语法并不复杂,setup函数主要是安装时运行的代码,loop函数为重复执行的代码。一般我们都写入到setup函数中。

参考[文章](https://wiki.arduino.cn/?file=011-USB%E9%A9%B1%E5%8A%A8%E5%BA%93/001-%E6%A8%A1%E6%8B%9F%E9%94%AE%E7%9B%98)模拟键盘代码的语法并不多,主要有:

1.Keyboard.begin()2.Keyboard.end()3.Keyboard.press(char)4.Keyboard.print()5.Keyboard.println()6.Keyboard.release()7.Keyboard.releaseAll()8.Keyboard.write()

arduino硬件虚拟键盘中对应键盘上的按键,参考[文章](https://blog.csdn.net/qq_41840148/article/details/104072033)

键盘左边ctrl    ---   KEY_LEFT_CTRL键盘左边shift   ---   KEY_LEFT_SHIFT  键盘左边alt     ---   KEY_LEFT_ALT键盘左边win     ---   KEY_LEFT_GUI  键盘右边ctrl    ---   KEY_RIGHT_CTRL键盘右边shift   ---   KEY_RIGHT_SHIFT键盘右边alt     ---   KEY_RIGHT_ALT键盘右边win     ---   KEY_RIGHT_GUI方向键上        ---   KEY_UP_ARROW方向键下        ---   KEY_DOWN_ARROW方向键左        ---   KEY_LEFT_ARROW方向键右        ---   KEY_RIGHT_ARROW空格键          ---   KEY_BACKSPACEtab键           ---   KEY_TAB回车键          ---   KEY_RETURNesc键           ---   KEY_ESCinsert---   KEY_INSERTdelete---   KEY_DELETEpage up键       ---   KEY_PAGE_UP page down键     ---   KEY_PAGE_DOWNhome键          ---   KEY_HOMEend---   KEY_ENDcapslock键      ---   KEY_CAPS_LOCK F1              ---   KEY_F1F2              ---   KEY_F2F3              ---   KEY_F3F4              ---   KEY_F4F5              ---   KEY_F5F6              ---   KEY_F6F7              ---   KEY_F7F8              ---   KEY_F8F9              ---   KEY_F9F10             ---   KEY_F10F11             ---   KEY_F11F12             ---   KEY_F12

现在可以自由编辑模拟键盘啦~

linux上测试

受害机ubuntu22.04,linux反弹shell演示

mac上测试

成功反弹shell
USB攻击之BadUSB实现linux和macOS反弹shell

注意问题

需要考虑到输入法的原因,输入法可能会影响输入,就会导致异常产生

还需要考虑搜索栏或者运行栏中已经存在字符串,也会出现很多异常

文献参考

https://wiki.arduino.cn/?file=011-USB%E9%A9%B1%E5%8A%A8%E5%BA%93/001-%E6%A8%A1%E6%8B%9F%E9%94%AE%E7%9B%98

https://blog.csdn.net/qq_41840148/article/details/104072033

往期回顾

01

华云安荣膺创新赛道之攻击面收敛赛道领航者,入选2021数字安全「年度创新力十强」

02

媒体聚焦:从漏洞管理到攻击面管理

03

华云安沈传宝:攻击面管理要做的是比攻击者更快一步

04

数字时代,安全从攻击面管理开始——2022网络安全运营技术峰会在北京(线上)召开

05

产品视角看攻击面管理,华云安发布攻击面管理产品解决方案

USB攻击之BadUSB实现linux和macOS反弹shell

原文始发于微信公众号(华云安):USB攻击之BadUSB实现linux和macOS反弹shell

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月13日08:54:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   USB攻击之BadUSB实现linux和macOS反弹shellhttps://cn-sec.com/archives/1229458.html

发表评论

匿名网友 填写信息