前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >插入U盘自动攻击:BadUSB原理与实现(含视频)

插入U盘自动攻击:BadUSB原理与实现(含视频)

作者头像
FB客服
发布2018-02-05 14:08:29
2K0
发布2018-02-05 14:08:29
举报
文章被收录于专栏:FreeBufFreeBufFreeBuf

漏洞背景

“BadUSB”是今年计算机安全领域的热门话题之一,该漏洞由Karsten Nohl和Jakob Lell共同发现,并在今年的BlackHat安全大会上公布。BadUSB号称是世界上最邪恶的USB外设。

笔者使用他们的代码做了个类似的U盘,用户插入U盘,就会自动执行预置在固件中的恶意代码,下载服务器上恶意文件,执行恶意操作。注意,这里的U盘自动运行可不是以前的autorun.inf自动运行程序哦,具体的技术细节可以参考后文内容。

视频链接:http://v.qq.com/boke/page/l/g/w/l01425u2igw.html

BadUSB最可怕的一点是恶意代码存在于U盘的固件中,由于PC上的杀毒软件无法访问到U盘存放固件的区域,因此也就意味着杀毒软件和U盘格式化都无法应对BadUSB进行攻击。

BadUSB原理

在介绍BadUSB的原理之前,笔者在这里先介绍下BadUSB出现之前,利用HID(Human InterfaceDevice,是计算机直接与人交互的设备,例如键盘、鼠标等)进行攻击的两种类型。分别是"USB RUBBERDUCKY"和"Teensy"。

TEENSY介绍

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

关于TEENSY,可以参考天融信阿尔法实验室的《HID攻击之TEENSY实战》

USB RUBBER DUCKY介绍

简称USB橡皮鸭,是最早的按键注入工具,通过嵌入式开发板实现,后来发展成为一个完全成熟的商业化按键注入攻击平台。它的原理同样是将USB设备模拟成为键盘,让电脑识别成为键盘,然后进行脚本模拟按键进行攻击。

这两种攻击方式,是在BadUSB公布之前,比较流行的两种HID攻击方式,缺陷在于要定制硬件设备,通用性比较差。但是BadUSB就不一样了,它是在“USB RUBBER DUCKY”和“Teensy”攻击方式的基础上用通用的USB设备(比如U盘)。

U盘的内部构造

U盘由芯片控制器和闪存两部分组成,芯片控制器负责与PC的通讯和识别,闪存用来做数据存储;闪存中有一部分区域用来存放U盘的固件,它的作用类似于操作系统,控制软硬件交互;固件无法通过普通手段进行读取。

BadUSB就是通过对U盘的固件进行逆向重新编程,相当于改写了U盘的操作系统而进行攻击的。

USB协议漏洞

为什么要重写固件呢?下面我们可以看看USB协议中存在的安全漏洞。

现在的USB设备很多,比如音视频设备、摄像头等,因此要求系统提供最大的兼容性,甚至免驱;所以在设计USB标准的时候没有要求每个USB设备像网络设备那样占有一个唯一可识别的MAC地址让系统进行验证,而是允许一个USB设备具有多个输入输出设备的特征。这样就可以通过重写U盘固件,伪装成一个USB键盘,并通过虚拟键盘输入集成到U盘固件中的指令和代码而进行攻击。

BadUSB利用代码分析

笔者对KarstenNohl和Jakob Lell公布的代码进行简单的一个流程解析。

这样一个带有恶意代码的U盘就产生了,更详细的可以搜索Karsten Nohl 和 Jakob Lell公布的代码。

总结

“USB RUBBER DUCKY”、“TEENSY”、“BadUSB”三种最终都是利用了USB协议的漏洞而进行攻击的,“BadUSB”和另外两者的区别在于:BadUSB可以利用普通的USB设备,而不需要进行硬件定制,更具有普遍性。

HID攻击方式有很多种,BadUSB作为其中一种是通过伪装成键盘设备来实现的,同时HID攻击也可以通过伪装成网卡进行DNS劫持攻击。BadUSB的危害目前局限于单向感染,即USB设备感染PC,暂无发现从PC感染USB设备案例。

为了预防此类安全风险,需要我们在日常使用USB设备时,不要使用陌生的USB设备,避免USB存在恶意代码导致安全风险。

延伸:更多的USB接口攻击

通过USB接口攻击的案例很多,BadUSB只是一类,还有通过USB接口横跨PC和Mobile平台进行攻击的案例。

比如今年爆发的WireLurker蠕虫,感染病毒的电脑系统会通过USB接口去间接感染iOS设备,即使是未越狱的设备也无法避免;还有前段时间发现的电子香烟通过USB传播恶意软件到PC;最近央视也报道了充电宝盗取手机隐私的案例。

http://www.hq.xinhuanet.com/news/2014-12/03/c_1113505877.htm

对于愈演愈烈的USB风险,应用层还没有见到好的解决方案。倒是硬件层面比较容易解决。比如360无线安全研究团队的SecUSB,还有我们腾讯安全应急响应中心的SecLine。原理都是将USB中的两根数据线去掉,具体细节可以参考《揭秘:充电宝是如何盗取你的个人隐私的》。

http://www.freebuf.com/news/special/53260.html

或许未来SecUSB或者SecLine将成为USB接口标配。

[本文作者/腾讯安全平台部(企业帐号),不影响文章质量的情况下可能包含少量商业信息,转载请注明来自FreeBuf.COM]

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2014-12-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档