Fight For Freedom

08月 12

usb攻击的前世今身

0x01. autorun.inf

       原理: autorun.inf文件记录用户选择何种程序来打开u盘。如果autorun.inf指向了木马安装程序,那么windows就会运行这个程序,安装运行木马程序。

       工具介绍: usb hacksaw是u盘进行攻击的一套工具。 

       具体利用: 向u盘写入木马程序,然后修改autorun.inf文件。当安装了此软件的u盘插入到windows系统时,会感染运行。而被感染的主机会监控系统的usb接口,当有u盘插入到主机时,hacksaw会悄悄地把u盘中的内容复制到主机,并通过邮件发送给攻击者。如果系统禁止了自动运行,那么相关的程序就无法运行。

0x02. HID模拟攻击

预备知识:

Arduino是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。

Teensy 是一个可编程的USB HID设备。

HID(Human Interface Device) 人机接口设备类别是Windows最早支持的USB类别。由其名称可以了解HID设备是计算机直接与人交互的设备,例如键盘、鼠标和游戏杆等。不过HID 设备不一定要有人机接口,只要符合HID类别规范,就都是HID设备。

1. Teensy USB HID

       原理:利用可编程的USB电路板模拟键盘,此类USB电路板上有内置的微处理器和存储器,当插入此类设备时系统认为插入的是USB键盘,并且USB板上的微处理器可以很快的速度敲击键盘,对系统发出指令。比如运行装载木马程序。如遇到上面这种情况,就可以让模拟键盘运行恶意程序。

工具介绍:set社会工程包里有teensy usb hid attack vector    

       具体利用:

a. 在set工具包里生成一个后缀名为pde的攻击载荷,具有下载并运行(vbs、powershell...)的功能;
b. 下载和使用Arduino接口,该图形化界面接口可以用来编译pde文件,将ped文件拖入到Arduino接口中;
c. 在电脑上插入usb设备并上传代码,这样就将usb设备和set生成的代码集成到一起;
d. 将编程后的usb设备插入到目标主机上,发现恶意代码被执行,拿到shell。

2. USB RUBBER DUCKY(USB 橡皮鸭)

      USB 橡皮鸭最初作为一个IT自动化的POC,通过嵌入式开发板实现的,后来它发展成为一个成熟的商业化按键注入攻击平台。

      不管是笔记本、台式机、平板以及智能手机,几乎每个计算机都通过键盘获得输入。这就是为什么会有一个无处不在的USB标准HID(人机接口设备)。任何一个宣称是键盘HID的设备都能够被大多数操作系统自动的探测和接入。不管它是Windows、Mac或Android系统,键盘就是老大。

      原理: 同样是将USB设备模拟成为键盘,让电脑识别成为键盘,然后进行脚本模拟按键进行攻击。

攻击步骤:

  1. 下载网站生成的inject.bin载荷文件;
  2. 把文件microSD放到卡的根目录;
  3. 把microSD卡插入到USB橡皮鸭;
  4. 在USB橡皮鸭插入到目标系统中;
  5. 当看到命令提示窗口时,移除USB橡皮鸭;

 

0x03. BADUSB  
 

       这种攻击方法是2014年黑帽大会才公开的,它让USB安全和几乎所有和USB相关的设备(包括具有USB端口的电脑)都陷入相当危险的状态。

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

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

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

     通俗地来说,电脑是通过usb描述符来识别各个器件的

    演讲者给了以下攻击步骤:
    (1). find leaked firmware and flash tool on the net 
    (2). sniffer update communication using wireshark
    (3). reverse-engineer firmware
    (4). patch firmware

      攻击简单剖析:

                    
   

危害:键盘模拟;伪装成网卡进行DNS劫持攻击;引导病毒...

防护(对固件下手):

 
总结
    USB RUBBER DUCKY和Teensy都需要定制的硬件设备,通用性差;

    USB RUBBER DUCKY和Teensy可以实现HID模拟攻击,尚未实现插入恶意代码的功能;

    BADUSE从目前来讲可以无视杀软,不容易被发现。

随着技术的不断发展,各种攻击手段层出不穷。也正是因为攻与防的不断竞争,使得各方技术能力呈螺旋式上升。


参考资料:

        《metasploit魔鬼训练营》7.6.3

        《metasploit渗透指南》10.5

          http://www.youtube.com/watch?v=ovfZXeGvjN8

http://www.freebuf.com/tools/47411.html

http://www.freebuf.com/articles/terminal/42616.html

标签:none

还不快抢沙发

添加新评论

captcha
请输入验证码

最新文章

最近回复

  • lynahex:...Orz
  • chybeta:师傅好!
  • lynahex:拜大佬
  • cdxy:师傅好
  • lynahex:十分感谢解惑,特别是解决问题的方法。
  • ld:1. 搜索CVE-2016-0701 进入 https://cv...
  • lynahex:好的。
  • xdxd:友链已加~~~希望有机会多多交流~~
  • lynahex:恩,重测了下是可以的。可能当时一些危险函数被我禁掉了。 thx
  • 过客:虽然博主文章过了好久了,本地system测试还是可以执行的
  • 友情链接

    分类

    其它