一、介绍

前段时间翻译了有关BadUSB的两篇文章《解密BadUSB:世界上最邪恶的USB外设》和《研究人员公布BadUSB攻击测试(exploit)代码》,大家反应强烈,很多人都在打听BadUSB的实现方法,或者从那里可以买到这样的U盘。原本打算本周写一篇分析已公开的BadUSB利用代码,兑现一下诺言,但实在是抽不出时间。在此先给大家介绍一下BadUSB的“老前辈”:USB RUBBER DUCKY和Teensy,满足一下大家的好奇心。USB RUBBER DUCKY和Teensy都可用于实施HID模拟攻击,其中USB RUBBER DUCKY入手简单,傻瓜式操作,但价格不菲啊;而Teensy USB性价比比较高,也可用来制作各种酷炫的DIY。

二、USB RUBBER DUCKY(USB 橡皮鸭)

1.介绍

USB RUBBER DUCKY(USB 橡皮鸭)是最早的按键注入工具。自2010年以来,USB橡皮鸭就一直深受黑客、渗透测试人员以及IT专家的欢迎。USB 橡皮鸭最初作为一个IT自动化的POC,通过嵌入式开发板实现的,后来它发展成为一个成熟的商业化按键注入攻击平台。USB橡皮鸭通过简单的脚本语言、强大的硬件以及出色的伪装成功地俘获了黑客的“芳心”。(谁能想到这么可爱的大黄鸭却暗藏杀机)

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

Freebuf小科普

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

USB橡皮鸭的名字和背后的原理都源自美国一句俗语“ If it looks like a duck,quacks like a duck and walks like a duck,it's a duck”(意思就是如果走路和叫声都像鸭子,那就是鸭子)。人类使用键盘,而计算机相信人类,进而推论出计算机相信键盘。结合计算机对键盘的固有信任和速度超过1000字/分钟的通过脚本模拟的按键操作,传统的安全对策都能够被USB橡皮鸭轻易的绕过,即HID模拟攻击。

2.特点

1).简单易用的脚本语言

USB 橡皮鸭所使用的脚本语言Duckyscript简单易用,编写payload并不需要任何编程经验。而且现支持在线定制Payload:http://www.ducktoolkit.com/Home.jsp。只需要简单的三个步骤,就可以创建功能强大的Payload:

USB 橡皮鸭已有的Payload模块如下表所示:

2).功能强大的定制硬件

USB 橡皮鸭使用自定制的硬件设备,具有更大的处理能力和功能性多样化,硬件当然是收费的——39.99$。

硬件特点:

①快速的60MHZ 32位处理器

②便捷的Type A USB连接器

③可通过Micro SD卡扩展内存

④隐藏在不起眼的外壳中

⑤内置载荷重按钮

3).跨平台特性

不管是Windows、Linux、Mac还是Android(当然是不算触摸屏了),各个系统平台所遵守的USB标准都是一致的。所以USB RUBBER DUCKY自然而然就具有了跨平台的特点。

4).活跃的交流社区

USB RUBBER DUCKY拥有自己社区版固件、编码器以及工具箱,具有良好的交流沟通平台:

https://forums.hak5.org/index.php?/forum/56-usb-rubber-ducky/

3.攻击测试步骤

①下载网站生成的inject.bin载荷文件;

②把文件microSD卡的根目录;

③把microSD卡插入到USB橡皮鸭

④在USB橡皮鸭插入到目标系统中

⑤当看到命令提示窗口时,移除USB橡皮鸭;

三、Teensy USB

Teensy是一套完整的基于USB微控制器的开发系统,在占用极少资源的情况下可以实现多种多样的项目。所有的编程都是通过USB端口进行的。不需要特殊的编程器,只需要一个标准的Mini-B USB线缆、一台带有USB口的PC机或Macintosh机。

主要特点:

①可以变身为任意类型的设备

②AVR处理器,16 MHz

③单按钮编程

④易于使用的Teensy Loader应用程序

⑤免费软件开发工具

⑥兼容Mac OS X,Linux和Windows

⑦便携,许多项目的完美支持

⑧使用标签面包板

⑨非常低的成本

你可能问我Teensy能干什么?我会说,你应该问我Teensy不能干什么!,装X必备的神器之一。

关于Teensy如何实现HID模拟攻击,我就不贴具体内容了,详情大家可以查看一下文章:

  1. 一个U盘黑掉你:HID攻击之TEENSY实战

  2. Teensy HID新型攻击方式(Kautilya渗透测试套件)

四、总结

HID(Human Interface Devices)攻击当前不流行,但是攻击方式很新颖,实用性很高,危险系数应该还是比较高的,值得研究。BadUSB公布的利用代码借鉴了以上两个项目中的一些思路,但这两个项目和BadUSB还是有比较大的区别:

①USB RUBBER DUCKY和Teensy都需要定制的硬件设备,通用性差,而BadUSB针对的是通用的USB设备;

②USB RUBBER DUCKY和Teensy不能够自动复制传播,仅实现了从USB设备->计算机的单向感染途径,缺少计算机->USB设备的感染途径,仅适用于定点攻击(Targeted attack),危害程度大大削弱;

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

参考链接:

1.USB Rubber Ducky主页:http://192.64.85.110/index.php

2.Teensy USB Development Board:http://www.pjrc.com/teensy/

3.一个U盘黑掉你:HID攻击之TEENSY实战:http://sec.chinabyte.com/410/13056910.shtml

4.Teensy HID新型攻击方式(Kautilya渗透测试套件)http://www.xocoder.com/archives/1328

[原文作者Rabbit_Run,喜欢文章请点赞鼓励。转载请注明来自FreeBuf.COM。免责声明:以上介绍的技术仅作为测试验证目的]

BadUSB的前世今生:USB RUBBER DUCKY和Teensy USB相关推荐

  1. 利用USB RUBBER DUCKY(USB 橡皮鸭)在目标机器上启动Empire或Meterpreter会话

    今天我将教大家如何使用Rubber Ducky在渗透中建立Empire或Meterpreter会话连接.然而对于Ducky而言,想要完成大多数现实场景中的USB攻击,往往需要花费大量的时间去实践.本文 ...

  2. 10行代码DIY一个类USB Rubber Ducky来遥控自己电脑

    文章目录 一.前言 二.完整代码 三.制作方法 四.实验结果 五.结语 一.前言 shineblink core 开发板(简称Core)能够很方便的变成USB Slave设备,并且内部集成HID协议, ...

  3. Rubber Ducky简介

    USB Rubber Ducky是一款模仿人工键盘输入的设备,外形和U盘一样,模拟键盘输入速度可达到1000个字符每分钟,并且适合任何操作系统,包括安卓等移动OS,它使用的是它特定的脚本语言,用记事本 ...

  4. python判断sqlite连接状态_python3 自动识别usb连接状态,即对usb重连的判断方法

    在做自动化测试时,遇到两种情况需要判断usb是否已连接上(注,本文仅针对用adb命令来control手机) 一种是在开测时(前提是同时要测试多台), 希望等待所有设备usb全部识别后同时进行测试.对于 ...

  5. usb 由于计算机限制,电脑usb被限制了怎么办

    方法一,BIOS设置法 重新启动计算机,在开机过程中,点击键盘上的"Delete"键,进入BIOS设置界面,选择"Integrated Peripherals" ...

  6. otg usb 定位_详解USB OTG工作原理及其应用

    原标题:详解USB OTG工作原理及其应用 1994年,Intel,Compaq等七家软硬件全球知名企业为了突破当时PC使用串口和并口传输速度的限制,成立了通用串行 开发者论坛( Implemente ...

  7. 将ARM4412开发板配置成USB网卡,并且使用USB通过Ubuntu上网

    注:以下配置在三星s4手机也成功测试通过,可以ping通外网ip和域名,但是浏览器不能上网. 1. 开发板4412 linux内核配置 4412需要安装USB Gadget驱动g_ether.ko(d ...

  8. Linux usb bus日志如何打开,从linux usb bus节点来认识usb linux usb认识

    首先从linux dmesg来认识usb: <6>[   19.610046] msm_hsic_host msm_hsic_host: Qualcomm EHCI Host Contro ...

  9. java usb 无驱打印_Windows Usb 无驱动打印

    \?\USB#VID_8866&PID_0100#0001B0000000#{a5dcbf10-6530-11d2-901f-00c04fb951ed} USB小票打印解决办法 一.需要驱动, ...

最新文章

  1. 字符串数组-获取两个字符串中最大的相同子串(最大相同子串有且只有一个)
  2. lab2_selenium测试
  3. 自编码器Autoencoders
  4. 两个小工具,MySQL死锁分析,新技能又Get!!!
  5. jupyter 接受参数
  6. rest spring_Spring的REST服务发现性,第5部分
  7. idea 生成sdk_如何安装独立的Android SDK,然后将其添加到Windows上的IntelliJ IDEA?
  8. 楼天成 中国大学生编程第一人
  9. python字符串长度_在python中如何获取字符串的长度
  10. word2013、word2016、word2019标题序号变黑色竖线解决方法
  11. 基于 SPI 的增强式插件框架设计
  12. C语言10.10,查找英文的星期几
  13. 逆序整数求和C语言,c语言 数字逆序相加
  14. vue引入svg图片
  15. 【工作笔记】微信公众号页面摇一摇+触发音效
  16. 已有企业认证的微信公众号快速创建一个企业小程序
  17. 百度apistore第三方登陆
  18. PDF转WORD为什么这么难
  19. Browser 浏览器内核
  20. 本主题的评论还有不足之处,还望海涵

热门文章

  1. 2021款途锐噪音测试软件,试驾2021款大众途锐:这才是原汁原味的德国沃尔夫斯堡的味道...
  2. 丰田chr内外循环怎么区分_从奕泽/C-HR的这些细节 我已经看出南北丰田的差异在哪里...
  3. Linux添加IP黑名单
  4. LLVM IR 语法
  5. Kony 如何获取Android context
  6. 菜鸟的MySQL学习之旅(二)—查询语句
  7. k8s 中部署kafka集群
  8. WordPress免费正版图片插件——Pixabay Free Images
  9. ceph---luminous版的安装
  10. 【NPM】ubuntu20.04安装npm