BadUSB原理浅析及制作指南

何为BadUsb

简介

通过硬件直接插入对方电脑,让对方电脑执行代码,达到干扰、控制主机或者窃取信息等目的。

威胁

BadUSB的威胁在于:恶意代码存在于U盘的固件中,PC上的杀毒软件无法访问到U盘存放固件的区域,因此也就意味着杀毒软件和U盘格式化都无法应对BadUSB的攻击。


原理

硬件知识基础

HID攻击

HID是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,例如键盘、鼠标与游戏杆等。不过HID设备并不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。一般来讲针对HID的攻击主要集中在键盘鼠标上,因为只要控制了用户键盘,基本上就等于控制了用户的电脑。攻击者会把攻击隐藏在一个正常的鼠标键盘中,当用户将含有攻击向量的鼠标或键盘,插入电脑时,恶意代码会被加载并执行。

Teensy

攻击者在定制攻击设备时,会向USB设备中置入一个攻击芯片,此攻击芯片是一个非常小而且功能完整的单片机开发系统,它的名字叫TEENSY。通过TEENSY你可以模拟出一个键盘和鼠标,当你插入这个定制的USB设备时,电脑会识别为一个键盘,利用设备中的微处理器与存储空间和编程进去的攻击代码,就可以向主机发送控制命令,从而完全控制主机,无论自动播放是否开启,都可以成功。

Arduino

Arduino是一款便捷灵活、方便上手的开源电子原型平台。 它构建于开放原始码simple
I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。

攻击流程

Bad-Usb插入后,会模拟键盘鼠标对电脑进行操作,通过这些操作打开电脑的命令终端,并执行一条命令,这条命令将从指定网址下载其他代码并于后台静默运行。这些代码功能包括:窃取信息、反弹shell、发送邮件等,从而实现控制目标机或者窃取信息的目的。

制作工具

硬件

1286芯片或者2303芯片的U盘

这里我们使用的是:
BS Micro pro micro leonardo Arduino 开发板

IDE

kali自带,win下载链接:
http://downloads.arduino.cc/arduino-1.6.4-windows.zip

下载为zip,不需安装,直接解压就能用。

2 Teensyduino

http://www.pjrc.com/teensy/td_123/teensyduino.exe

下载后双击运行,安装的时候会有一步安装设备驱动,按提示安装之。
注意,安装时要求手动选择Arduino IDE的安装位置,此时选择之前步骤zip的解压目录即可。

安装成功后运行会发现这里有了许多可选项:
我们根据之前案例中使用的硬件,按图中所示,选择Arduino Leonardo这一项。

这里写图片描述

2 代码写入硬件

  1. 复制如下代码到IDE中(代码在后面)
    这里写图片描述
  2. 将硬件重新插入电脑,此时会看到电脑自动执行代码的全部动画过程

代码解释:

插入后等待五秒,
按下ctrl+esc,(作用:在任何界面打开开始菜单)
等待半秒,
模拟输入一个字符串,并回车执行(作用:在开始菜单执行命令)
等待2.5秒,更改焦点,模拟键盘输入y(作用:绕过uac,得到系统许可)

3 准备服务器端代码

到此为止,硬件的设置已经完成,当硬件插入之后,系统会模拟键盘输入执行:

也就是从域名下面的main.ps1文件下载代码并执行。

以下代码可在我的github下载:
https://github.com/Xyntax/BadUSB-code

  1. 下载所需代码,
  2. 修改main.ps1的2754行 为上面的域名,
  3. 修改main.ps1的2903-2919行 为发送邮件配置 发送邮箱尽量不要用163
    入口文件为GetPass.ps1,
  4. 修改GetPass.ps1中的前两行,域名,Getpass.rar实际上是lazagne,用rar下载尽量避免出发安全软件,这个不放心可以百度下载。command.rar实为bat 因为 lazagne注入lsass时会被安全软件拦截,所以用bat避免注入。修改GetPass.ps1中的邮箱配置,同main.ps1中的就行
  5. 将这四个文件上传到公网服务器
    这里写图片描述

这里写图片描述

屏幕截图、wif密码、文档窃取、本地dump结果:

这里写图片描述

扩展

理解原理之后,通过修改服务器端代码,利用方式可有很多,如反弹shell或者开3389等,代码这里就不提供了,您比我懂,欢迎交流。

参考及感谢

  1. BadUsb—-结合实例谈此类外设的风险
  2. 利用烧鹅制作简单BadUSB,插谁谁怀孕
  3. HID攻击之TEENSY实战
  4. 新的U盘自动运行——BadUSB原理与实现

感谢HackPanda大牛的技术支持和答疑解惑!

来源:Xyntax

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2016年1月10日
下一篇 2016年1月10日

相关推荐