• 基于Wi-Fi的HID注射器,利用WHID攻击实验


    WHID 代表基于 Wi-Fi 的 HID 注射器,即对 HID 攻击进行无线化攻击的一种注入工具。 

    实验攻击原理如下图:

    实验攻击原理 

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

    前期准备

    1. 硬件设备

    Arduino Leonardo

    Arduino Leonardo

    ESP8266 Wi-Fi模块

    ESP8266 Wi-Fi模块

    FT282串口调试模块

    FT282串口调试模块

    2. 软件环境

    sockettool

    Arduino IDE

    串口调试助手

    TCP调试助手

    实验步骤

    1.ESP8266设置

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

    AT+CWMODE=3 //设置模式为AP兼Station模式;

    AT+CWMODE=3 //设置模式为AP兼Station模式

    AT+RST //模式改变需重启后生效;

    AT+RST //模式改变需重启后生效

    AT+CWSAP=”name”,”password”,11,2 //创建一个名为name,密码为password的AP节点;

    创建一个名为name,密码为password的AP节点

    AT+UART=9600,8,1,0,0 //设置波特率为9600,Arduino和ESP8266波特率需相同;

    ESP8266设置

    AT+CIPSERVER=1,8089 //将esp8266设置为server模式,这样才能够在下面被访问;

    ESP8266设置

    2. 代码烧录

    将写好的代码烧录进Arduino Leonardo,这里选择了主要部分说明:

    将写好的代码烧录进Arduino Leonardo

    在loop中循环读取ESP8266向串口发送的数据,判断收到数据时过滤并利用Keyboard库打印在Arduino接入的电脑上。

    3. 硬件接线

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

    接线原理

    实际接线图如下: 

    实际接线图

    4. 客户端操作

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

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

    创建客户端

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

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

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

    连接成功

    实验演示

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

    实验演示

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

    实验演示

    实验总结

    这里实现的功能只是简单地将输入的字符显示在目标机器上,危害性并不强。但是如果结合之前做过的BadUSB实验(http://www.freebuf.com/news/141833.html?preview=true),则可以远程执行命令,例如通过PowerShell远程下载文件等等,这将会对目标主机造成难以预料的影响。 

    实验总结

    因为是研究性质所以没有继续深入挖掘WHID的应用,而且也意识到使用Wi-Fi有一定的局限性,可以设想采用蓝牙或2.4G传输的方式提高传输的稳定性或是传输距离等,相信对HID的攻击绝不止于此。

    和BadUSB类似,WHID可以模仿键盘、鼠标操作,所以常规的安全软件、杀毒软件不能起作用。显然不让任何不受信任的硬件连接自己的电脑是最安全的选择。

  • 相关阅读:
    Idea 2017的激活方式
    Hash校验
    释放自己
    不再等待
    常用数据结构及类
    My Construct
    西安商洛之行
    delphi locate多字段查询
    对于沟通的理解
    My Interface
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/7305053.html
Copyright © 2020-2023  润新知