前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[ffffffff0x] IOT安全 :HID

[ffffffff0x] IOT安全 :HID

原创
作者头像
r0fus0d
修改2021-01-05 10:19:28
1.6K0
修改2021-01-05 10:19:28
举报
文章被收录于专栏:ffffffff0xffffffff0x

前言

随着国内网络安全制度的不断完善,网络管理人员安全意识也逐步提高,大部分公司的内部网络出网有着严格的管控限制,从外网入侵难度变得极高,因此攻击者也在不停的改变攻击手段。如今,使用USB设备进行攻击的案例也屡见不鲜。本文将介绍常见的利用USB设备进行钓鱼攻击的手段。


什么是HID攻击

HID 全称为 Human Interface Device,直译为人类接口设备,也被称为人体学输入设备,是指与人类直接交互的计算机设备,而pc端上的”HID”一般指的是USB-HID标准,更多指微软在USB委员会上提议创建的一个人体学输入设备工作组。

而HID攻击就是攻击者将USB设备模拟成为键盘,让电脑识别成为键盘,再进行脚本模拟按键进行攻击。

Badusb也属于HID攻击的一种,在badusb之前还有两种HID攻击,分别是USB RUBBER DUCKY(usb橡皮鸭)和Teensy.

USB RUBBER DUCKY

USB RUBBER DUCKY简称usb橡皮鸭,是最早的按键注入工具,可根据对应要求定制硬件。价格较贵,不过目前已形成了成熟的商业模式。可在 http://www.ducktoolkit.com/Home.jsp 自助生成攻击脚本。

Teensy

Teensy是拥有芯片且功能完整的单片机开发系统,可模拟键盘和鼠标。经开发的Teensy usb设备可被电脑识别成键盘或鼠标,再执行编程进去的恶意代码。价格亲民,开源性强且可以和kali配合使用。Teensy芯片的开发,可以在Arduino中进行,不用担心枯燥的汇编与机器代码。因为Arduino IDE具有使用类似Java,C语言的Processing/Wiring开发环境。环境安装与搭建也非常便捷,可以从 http://www.arduino.cc 下载安装包,进行安装。

BadUSB

BadUSB早在2014年底的PacSec会议上便已提出,这是USB协议中的一个漏洞————USB设备可以伪装成其他任何设备,如输入设备、网卡等。

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

USBkiller

USB杀手是一种外观类似于USB拇指驱动器的设备,它会向所连接的设备发送高压电涌,从而损坏硬件组件。其制造商声称,该设备旨在测试组件免受电涌和静电放电的影响。但是,已经发生了几次恶意使用的情况,并且任何大公司都不使用该设备进行设备测试。

Digispark

Digispark 是一个基于 ATTINY85 微控制器的 USB 开发板,体积小且价钱便宜,但功能方面没有 Arduino 强大。代码与 Arduino 大同小异,但使用的是 Arduino IDE 开发。

接下来,以ATTINY85开发板为演示,展示如何制作简单的Digispark

先安装 Arduino IDE

从官网按照自己的操作系统下载并安装 https://www.arduino.cc/en/main/software

安装完成后,打开 Arduino IDE 应用程序,依次选择 File -> Preferences ,并在字段名为“Additional Boards Manager URL”的输入框中,输入以下 URL。

http://digistump.com/package_digistump_index.json

安装 Digispark 的驱动(32位操作系统和64位操作系统安装程序不同)

https://github.com/digistump/DigistumpArduino/releases/download/1.6.7/Digistump.Drivers.zip

运行 Install Drivers.exe

进入“工具”菜单,然后选择“开发板”子菜单 - 选择“开发板管理器”

然后从类型下拉菜单中选择“贡献”, 选择“Digistump AVR Boards”包,然后单击“安装”按钮

最后,打开 Tools -> Board,然后选择 Digispark (Default — 16.5mhz)并将其设置为默认值。

用无害的 payload 演示

代码语言:txt
复制
#include "DigiKeyboard.h"

void setup() {

  DigiKeyboard.delay(500);
  DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);//win+r
  DigiKeyboard.delay(100);
  DigiKeyboard.println("cmd");
  DigiKeyboard.delay(500);
  DigiKeyboard.println("shutdown -f -s -t 10");
}

void loop() {

}

将上面的代码复制到软件中,点击左上角 "验证" 按钮,等待编译完成,检测代码是否有误。当然你可以跳过这一步直接点击上传 :)

点击上传按钮。底部状态框现在会要求插入Digispark - 插入它 - 或者拔下并重新插入它。

此时,若设备无问题,即可上传成功。


总结

本文介绍了HID攻击的几种方法,以ATTINY85开发板为演示,展示了如何制作简单的Digispark的过程。受篇幅限制,BadUSB内容会在之后的文章中进行补充。HID攻击需配合社会工程学才能进行攻击,因此除了设备上的防护能力要增强,个人的安全意识也需要增强。


本文作者 r0fus0d

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 什么是HID攻击
    • USB RUBBER DUCKY
      • Teensy
        • BadUSB
          • USBkiller
            • Digispark
            • 总结
            相关产品与服务
            网站渗透测试
            网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档