解密BadUSB:世界上最邪恶的USB外设

作者 Rabbit_Run

概述‍‍

在2014年美国黑帽大会上,柏林SRLabs的安全研究人员JakobLell和独立安全研究人员Karsten Nohl展示了他们称为“BadUSB”(按照BadBIOS命名)的攻击方法,这种攻击方法让USB安全和几乎所有和USB相关的设备(包括具有USB端口的电脑)都陷入相当危险的状态。

USB背景知识‍

‍‍1. USB内部结构‍‍

注:BadUSB主要依靠USB驱动器的构建方式,USB通常有一个大容量的可重写的内存芯片用于实际的数据存储,以及一个独立的控制器芯片。控制芯片实际上是一个低功耗计算机,并且与你的笔记本电脑或台式机一样,它通过从内存芯片加载基本的引导程序来启动,类似于笔记本电脑的硬盘驱动器包含一个隐藏的主引导记录(MasterBoot Record)。

‍‍2. USB如何识别‍‍

3. USB设备的初始化‍‍

设备可以拥有多个标识(注:一个设备可以被识别为多种类型):‍‍

*一个设备通过一个描述符标明它的功能;
*一个设备可以拥有多个描述符,如果它支持多种设备类别,例如网络摄像头+麦克风;
*设备可以注销,然后再次注册为一个不同的设备;

‍‍

可重复编程的外设‍‍

USB攻击场景‍‍

‍‍1. 在Windows环境下感染USB,然后再控制Linux机器‍‍

键盘模拟足够用于感染和权限提升(不需要软件漏洞)

注:在Linux/Unix操作系统,LD_PRELOAD是一个环境变量,可以影响程序的运行时的链接(Runtimelinker),设置在程序运行前优先加载的动态链接库。通过这个环境变量,可以在主程序和其动态链接库的中间加载别的动态链接库,甚至覆盖正常的函数库。一方面,我们可以以此功能来使用自己的或是更好的函数(无需别人的源码),而另一方面,我们也可以以向别人的程序注入恶意程序,从而达到那不可告人的罪恶的目的。

‍‍‍‍2. USB设备篡改Windows系统的DNS设置‍‍

‍‍通过“USB上的DHCP”转移网络流量‍‍‍‍

意外收获:突破虚拟机‍‍

3. Android转移Windows机器的网络流量‍‍‍‍‍‍‍

“我能借用你的笔记本给手机充电吗?”Android手机是最简单的USB攻击平台。

注:Ethernet-Over-USB:将USB接口模拟为以太网接口,实现基于Ethernet的网络连接。

Android设备的POC代码下载地址为:

https://srlabs.de/blog/wp-content/uploads/2014/07/BadAndroid-v0.1.zip

‍‍4. USB引导扇区病毒‍‍‍

5. 攻击方式总结‍‍‍

防护以及下一步‍‍

‍‍1. 防护对策及缺陷‍‍

‍‍‍‍2. USB外设的可重复编程也有积极的用途‍‍‍‍

总结‍‍

以上内容主要源自SRLabs在2014年黑帽子大会上的演讲稿,仅对内容的编排做了调整,原稿的下载地址https://srlabs.de/blog/wp-content/uploads/2014/07/SRLabs-BadUSB-BlackHat-v1.pdf。

花了一周的空余时间翻译的,水平有限,欢迎大家批评指正!

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2014-09-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

2017 年 Linux 的五大痛点

到目前为止,糟糕的文档是 Linux 用户最头痛的问题。这里还有一些其他常见的问题。 -- Jeremy Garcia 到目前为止,糟糕的文档是 Linux 用...

3007
来自专栏技术博文

大型网站架构体系的演变

文章出处来源 摘自 微信--IT搬运工 地址:http://mp.weixin.qq.com/s?__biz=MzAxNTI4NDAzNA==&mid=205...

3417
来自专栏无原型不设计

Mockplus是如何节省你的原型时间的?

还在用老牌原型工具一点点绘制产品原型吗?还在为实现一个满意的交互而绞尽脑汁吗?还在为无法和用户高效沟通而发愁吗?朋友,现在是快速原型的时代了。时间不等人,当你...

2803
来自专栏架构师小秘圈

揭秘大型网站架构进化之路

丁浪,非著名架构师。关注高并发、高可用的架构设计,对系统服务化、分库分表、性能调优等方面有深入研究和丰富实践经验。热衷于技术研究和分享。 声明:版权归丁浪作者本...

4615
来自专栏大数据架构师专家

zabbix告警系统--文末彩蛋

zabbix安装和配置非常简单,学习成本低,但是zabbix告警却是很烦人的,而且关于告警的中文翻译资料非常少.

2783
来自专栏腾讯数据中心

数据中心假负载验证测试实战指导方案

前言 数据中心作为一个由多个系统高度结合的复杂工程,在基础设施建设全部完成,各系统调试结束后,就具备了开展假负载验证测试的基本条件。一场规模宏大的数据中心规划、...

3406
来自专栏IT技术精选文摘

见证微信强大后台架构从0到1的演进历程

3274
来自专栏杨建荣的学习笔记

数据库和开发行业中的IDE工具

在我从事DBA工作的这些年,经常会有网友会问我,数据库有什么好的工具可以使用,让我给推荐几个,数据库的工具还少吗,Oracle阵营: Toad(付费),S...

4968
来自专栏chenssy

Java必看 | 阿里巴巴总结:Java常见疑惑和陷阱

本文是淘宝 @逾轮 总结的Java常见的疑惑和陷阱。对于文中列举的例子,希望大家都能好好跑一下看看实际结果,然后思考一下为什么是这个结果。相信通过实践,大家能够...

2184
来自专栏花叔的专栏

解读小程序用户信息授权机制的变动,为官方点赞

话说,有同学又问我为什么没有去解读微信小程序最新发布的特性。实在不好意思,最近花叔有点儿忙,所以就耽误了。 但这变动的意义其实比我们想象中大,所以虽然晚了点,还...

9857

扫码关注云+社区

领取腾讯云代金券