USB的29种攻击方式
本文地址:http://tongxinmao.com/Article/Detail/id/354
这29种USB攻击方式,起初是由以色列本·古里安大学研究团队所鉴定并确认的会入侵电脑的USB设备攻击方式。
他们根据其执行攻击的方式,又将这29种不同类型的恶意攻击分为四大类。
A类
通过对USB设备内置的微型控制器进行重新编程。
这种改编后的USB在外观上与一般USB没有差别,也不影响充电功能,但是会执行其他的操作,如:在键盘中植入命令。
e.g.: keyboard -injects keystrokes.
B类
通过对USB设备的固件进行重新编程,从而执行恶意操作,如:下载恶意软件、泄漏数据等。
C类
不通过重新编程,而是利用操作系统与USB协议交互时的漏洞。
D类
以USB为媒介的电力攻击。
下面这张图,将前四类的29种USB攻击类型都罗列出来了,请点击放大查看。
29种类型的USB攻击
接下来,针对每一种USB的攻击方式,我们来仔细了解一下。
A类微型控制器改编类USB攻击
1)Rubber Ducky
“USB橡皮鸭”诞生于2010年,是最早的按键注入工具,一直深受黑客、渗透测试人员以及IT专家的欢迎,后来它发展成为一个商业化按键注入攻击平台。
最初,作为一个IT自动化的POC,橡皮鸭是通过嵌入式开发板实现的,能用简单的脚本语言、强大的硬件进行出色的伪装。
关于这种USB攻击的详情学习链接:
2) PHUKD/URFUKED attack platforms
PHUKD是「ProgrammableHIDUSB Keystroke Dongle」的缩写,它与Rubber Ducky的攻击方式类似,其区别在于这一种, PHUKD式攻击能够让攻击者自由选择注入恶意命令的攻击时间。
关于这种USB攻击的详情学习链接:
http://www.irongeek.com/i.php?page=security/programmable-hid-usb-keystroke-dongle
3)USBdriveby
这个USB设备,你甚至可以当作装饰戴在脖子上。当USBdriveby通过模拟USB键盘和鼠标,连接到OS X系统时,会在几秒钟内秘密安装后门,并且将DNS服务制定到一个特定的IP,对受害者机器进行DNS欺骗。如果恰好你的系统偏好设置没有设定任何密码,那么这个电脑就被完全控制了。
(没错,几秒完成后,攻击者也许会将这个“项链”戴回脖颈大摇大摆走人了)
关于这种USB攻击的详情学习链接:
samy.pl/usbdriveby/
4) Evilduino
与PHUKD/URFUKED类似,但它利用的不是Teensy,而是使用Arduino微控制器。依然是通过模拟键盘/鼠标来实施攻击,并且还能根据预加载的脚本控制主机的击键或鼠标的活动。
hackwhiz.com/2015/03/evilduino-usb-hack-tool/
Tips:
Teensy是一个基于USB接口非常小巧而又功能完整的单片机开发系统,它能够实现多种类型的项目开发和设计。
Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。
5) Unintended USB channel
POC测试USB硬件木马,通过一般人意想不到的USB通道,如:USB扬声器,来泄露数据。
关于这种USB攻击的详情学习链接:
ieeexplore.ieee.org/document/5319005/authors?part=1
Tips:
POC测试,即Proof of Concept,是业界流行的针对客户具体应用的验证性测试,根据用户对采用系统提出的性能要求和扩展需求的指标,在选用服务器上进行真实数据的运行,对承载用户数据量和运行时间进行实际测算,并根据用户未来业务扩展的需求加大数据量以验证系统和平台的承载能力和性能变化。
6) TURNIPSCHOOL (COTTONMOUTH-1)
Cottonmouth-1技术,指的是利用USB嵌入式硬件,让USB插入变成远程窃听或者遥控器的技术。这个技术于2014年被德国《明镜周刊》曝光,是美国国家安全局(NSA)的“ANT”项目小组收集的各种黑客技术之一,让间谍通过计算机和网络硬件收集情报。
这种方式让黑客、间谍在不需要联网的情况下向目标植入病毒,实现了他们一直幻想的间接攻击法,但技术相对复杂。
就在2015年的黑客大会上,“黑客硬件”电商Great Scott Gadgets的联合创始人Michael Ossman向大家展示了他们团队的作品TURNIPSCHOOL,该设备具有4层PCB板、内置芯片的接口扩展USB HUB、来自德州仪器的内置射频收发器单片机和一个3D打印的塑料模具。
关于这种USB攻击的详情学习链接:
www.nsaplayset.org/turnipschool
7) RIT attack via USB mass storage
这种攻击经常在研究论文中被讨论,当USB大容量存储设备连接到计算机时,通过更改文件内容实施攻击。
关于这种USB攻击的详情学习链接:
8) Attacks on wireless USB dongles
这个类别的攻击,首先被Samy Kamkar发现,刚好就在他发布KeySweeper那段时间,这是一种能够隐蔽地记录和解密许多Microsoft RF无线键盘击键的工具。
Tips:
keysweeper:无线键盘记录仪,由安全研究员Samy Kamkar设计的小装置。外表和廉价USB充电器无异,但它可以秘密地记录附近无线键盘的敲击数据,并可将该数据通过因特网或蜂窝数据网络发送给后台。
9) Default Gateway Override
使用微控制器欺骗USB以太网适配器以覆盖DHCP设置并劫持本地流量的攻击。
Tips:
HID(Human Interface Device)人机接口设备类别是Windows最早支持的USB类别。由其名称可以了解HID设备是计算机直接与人交互的设备,例如键盘、鼠标和游戏杆等。不过HID设备不一定要有人机接口,只要符合HID类别规范,就都是HID设备。
大家应该有发现,前四种都是通过模拟键盘的方式,这是因为不管是笔记本、台式机、平板以及智能手机,几乎每个计算机都通过键盘获得输入。
这就是为什么会有一个无处不在的USB标准HID(人机接口设备)。任何一个宣称是键盘HID的设备都能够被大多数操作系统自动的探测和接入。不管它是Windows、Mac或Android系统,键盘就是老大。
人类使用键盘,而计算机相信人类,所以计算机相信键盘。
结合计算机对键盘的固有信任和速度超过1000字/分钟的通过脚本模拟的按键操作,传统的安全对策都能够被USB橡皮鸭轻易的绕过,即HID模拟攻击。
B类外围固件改编类USB攻击
10) Smartphone-based HID attacks
针对智能手机的HID攻击,首见于论文研究,研究人员自行创建定制的Android小工具驱动程序,然后通过覆盖Android与USB设备交互的方式,让恶意驱动程序与Android USB小工具API交互,从而在连接到手机时,模拟USB键盘和鼠标设备。
关于这种USB攻击的详情学习链接:
https://dl.acm.org/citation.cfm?id=1920314
11) DNS Override by Modified USBFirmware
通过修改USB闪存驱动器的固件,用来模拟USB以太网适配器,然后就能成功劫持本地流量。
12) Keyboard Emulation by Modified USB Firmware
通过让USB闪存驱动器的固件中毒的方式,然后攻击者就可以模拟键盘,植入命令。
https://srlabs.de/wp-content/uploads/2014/07/SRLabs-BadUSB-BlackHat-v1.pdf
https://www.youtube.com/watch?v=xcsxeJz3blI
13) Hidden Partition Patch
将USB闪存驱动器重新编程为正常驱动器,创建无法格式化的隐藏分区,从而实现隐蔽的数据泄露目的。
https://www.youtube.com/watch?v=xcsxeJz3blI
14) Password Protection Bypass Patch
对USB闪存驱动器固件的进行一些小改动,攻击者便能绕过有密码保护的USB闪存驱动器,然后为所欲为了……
15) Virtual Machine Break-Out
使用USB固件来突破虚拟机环境。
16) Boot Sector Virus
使用USB闪存驱动器,在计算机启动之前进行感染。
关于这种USB的视频与文档学习链接
https://dl.acm.org/citation.cfm?id=1920314
17) iSeeYou
这也是一种POC程序,可对一类Apple内部iSight网络摄像机的固件进行重新编程,让攻击者能够隐蔽捕捉视频画面,且LED指示灯不会发出报警。
https://www.usenix.org/system/files/conference/usenixsecurity14/sec14-paper-brocker.pdf
C类未改编程序USB攻击
18) CVE-2010-2568
常被Stuxnet和Fanny恶意软件使用的.LNK漏洞,特制的LNK文件可能导致Windows自动执行快捷方式文件所指定的代码。这些代码如果存在于USB驱动中,就会使用资源管理器查看了LNK文件所在位置就足以触发这个漏洞。默认下Windows启动了自动加载和自动播放功能,因此在连接可移动设备(如USB闪存)后Windows会自动打开资源管理器。
禁用AutoRun功能可临时解决这个问题。
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2568
19) USB Backdoor into Air-Gapped Hosts
这种攻击使用USB的秘密存储来存储预置命令,从而能将电脑映射到 air-gapped网络中,然后该网络上的信息转而又被保存到USB闪存驱动器的隐藏存储中,这种攻击经常会和Fanny恶意软件一同使用。
20) DataHiding on USB Mass Storage Devices
在USB闪存驱动器中隐藏恶意软件或被盗数据的大量技巧(例如:将数据存储在正常分区之外,通过将该文件夹的图标隐藏在不可见文件夹中和名称透明等
21) AutoRun Exploits
这类攻击还取决于主机配置的方式,有一些PC会自动执行位于USB设备存储器上的预定文件,就很容易中招。有一类恶意软件就是专门为AutoRun量身打造,这个类别的恶意软件均是利用这个。
22) Cold Boot Attacks
冷启动攻击,又名RAM转储攻击。攻击者可以将存储器转储在USB闪存驱动器中,并通过从USB设备启动来从RAM中提取剩余数据。
https://www.elsevier.com/books/seven-deadliest-usb-attacks/anderson/978-1-59749-553-0
对操作系统缓冲区的溢出进行多次攻击,其原理在于操作系统在USB设备插入计算机时,会对设备和功能枚举(USB设备被插入时运行某些预定操作)
https://media.blackhat.com/bh-dc-11/Larimer/BlackHat_DC_2011_Larimer_Vulnerabiliters_w-removeable_storage-wp.pdf
24) Driver Update
这种攻击非常复杂,需要获得VeriSign Class 3组织证书并向Microsoft提交驱动程序,从而插入某个SUB设备时,驱动程序会自动发送并安装在用户PC上。这种攻击虽然可行,但在现实世界中很难实现。
25) DeviceFirmwareUpgrade (DFU)
(DFU)设备固件升级(DFU),攻击者可以使用USB标准支持的合法进程设备固件升级(DFU),将本地合法固件更新为恶意版本。
26) USB Thief
ESET最近发现的基于USB闪存驱动器的数据窃取恶意软件。
27) Attacks on Smartphones via the USB Port
通过USB端口对智能手机的攻击,攻击者通过USB电话充电器隐藏和传送恶意软件(恶意),达到攻击目的。
28) USBee attack
使USB连接器的数据总线发出电磁辐射,而这种辐射是用于泄露数据的。
D类电力攻击
29) USB Killer
终极USB杀手,这种攻击是毁灭性的,通过插入设备,积蓄电容,然后瞬间释放大量电能造成主板烧坏等销毁设备的后果。
这种方式不计后果,纯粹以毁坏为目的,性质恶劣,只能从物理层面进行防护。
完
好了,以上就是29种USB攻击的集锦。本古里安团队在ScienceDirect杂志上的一篇文章中详述了所有这些攻击,目的是提醒用户USB设备可能被滥用来感染他们的系统,并秘密窃取来自受保护和空隙网络的数据的多种方式。
小编对文章进行了编译,并进一步给您解释了相关知识Tips并贴上了参考链接,大家可以就感兴趣的攻击类型去进一步了解详情。
最后,建议大家在工作中注意USB设备的风险,严格控制内部网络中USB的使用
上一篇:GIT使用及学习资源
下一篇:利用SOC+LINUX截取USB数据(和电脑软件截取类似)