基于Wi-Fi的HID注射器,利用WHID攻击实验
WHID 代表基于 Wi-Fi 的 HID 注射器,即对 HID 攻击进行无线化攻击的一种注入工具。
实验攻击原理如下图:
攻击者使用ESP8266作为AP,在自己的电脑创建客户端连接AP。在客户端键入命令发送到ESP8266,它再利用串口转发给Arduino Leonardo。利用Arduino中的Keyboard库就可以使用传输的命令控制目标主机的键盘。
前期准备
1. 硬件设备
Arduino Leonardo
ESP8266 Wi-Fi模块
FT282串口调试模块
2. 软件环境
sockettool
Arduino IDE
串口调试助手
TCP调试助手
实验步骤
1.ESP8266设置
使用串口连接ESP8266,依次键入命令:
AT+CWMODE=3 //设置模式为AP兼Station模式;
AT+RST //模式改变需重启后生效;
AT+CWSAP=”name”,”password”,11,2 //创建一个名为name,密码为password的AP节点;
AT+UART=9600,8,1,0,0 //设置波特率为9600,Arduino和ESP8266波特率需相同;
AT+CIPSERVER=1,8089 //将esp8266设置为server模式,这样才能够在下面被访问;
2. 代码烧录
将写好的代码烧录进Arduino Leonardo,这里选择了主要部分说明:
在loop中循环读取ESP8266向串口发送的数据,判断收到数据时过滤并利用Keyboard库打印在Arduino接入的电脑上。
3. 硬件接线
设置好ESP8266和Arduino之后就可以进行硬件接线了,接线原理图如下:
实际接线图如下:
4. 客户端操作
①连接到之前创建的网络name。
②打开sockettool.exe,点击左侧 “TCP Client” 后点击“创建”来创建客户端:
③ 输入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可以模仿键盘、鼠标操作,所以常规的安全软件、杀毒软件不能起作用。显然不让任何不受信任的硬件连接自己的电脑是最安全的选择。
转载于:https://www.cnblogs.com/h2zZhou/p/7305053.html
基于Wi-Fi的HID注射器,利用WHID攻击实验相关推荐
- android环境监测,基于Wi―Fi和Android家居环境监测与实现
摘 要 为了人们生活环境健康安全,实现家居环境检测,利用现在手持智能设备,设计出一种基于Android的家居检测系统.本文采用了具有Android操作系统的智能手机或平板电脑作为家居设备终端,以STM ...
- wifi频率和zigbee干扰_浅谈ZigBee和Wi—Fi的共存和干扰
龙源期刊网 http://www.qikan.com.cn 浅谈 ZigBee 和 Wi - Fi 的共存和干扰 作者:姜伟 朱凯 刘童 来源:<科技视界> 2013 年第 16 期 [摘 ...
- 比较802.11ac(Wi‑Fi 5)和802.11ax(Wi‑Fi 6)
MIMO 802.11ac仅在下行模式下,支持多用户MIMO. 802.11ax不仅下行链路:也在上行链路支持MIMO功能,因此多个用户可以同时上传视频. 调制方法 802.11ax具有更高的调制方案 ...
- TF之GD:基于tensorflow框架搭建GD算法利用Fashion-MNIST数据集实现多分类预测(92%)
TF之GD:基于tensorflow框架搭建GD算法利用Fashion-MNIST数据集实现多分类预测(92%) 目录 输出结果 实现代码 输出结果 Successfully downloaded t ...
- DL之CNN:基于CRNN_OCR算法(keras,CNN+RNN)利用数据集(torch,mdb格式)训练来实现新图片上不定长度字符串进行识别—训练过程
DL之CNN:基于CRNN_OCR算法(keras,CNN+RNN)利用数据集(torch,mdb格式)训练来实现新图片上不定长度字符串进行识别-训练过程 目录 输出结果 设计思路 核心代码 输出结果 ...
- DL之CNN:基于CRNN_OCR算法(keras,CNN+RNN)利用数据集(torch,mdb格式)训练来实现新图片上不定长度字符串进行识别—预测过程
DL之CNN:基于CRNN_OCR算法(keras,CNN+RNN)利用数据集(torch,mdb格式)训练来实现新图片上不定长度字符串进行识别-预测过程 目录 输出结果 设计思路 核心代码 输出结果 ...
- Keras之DNN:基于Keras(sigmoid+linear+mse+predict)利用DNN实现回归预测——DIY多分类数据集预测新数据点
Keras之DNN:基于Keras(sigmoid+linear+mse+predict)利用DNN实现回归预测--DIY多分类数据集&预测新数据点 目录 输出结果 实现代码 输出结果 实现代 ...
- 基于BC95的数据转发,利用Python实现UDP接收数据,TCP转发数据
基于BC95的数据转发,利用Python实现UDP接收数据,TCP转发数据 文章信息 环境信息 系统概览 基于Python的UDP(服务端)数据接收 1. UDP接受的数据如何读取 文章信息 撰写日期 ...
- 基于《仙剑奇侠传柔情版》利用Java的简单实现(一)
基于<仙剑奇侠传柔情版>利用Java的简单实现(一) 2018-12-01 23:55:36 by Louis 一,新建一个类GameFrame.class,具体代码如下: pack ...
- 基于jupyter notebook的python编程-----利用梯度下降算法求解多元线性回归方程,并与最小二乘法求解进行精度对比
基于jupyter notebook的python编程-----利用梯度下降算法求解多元线性回归方程,并与最小二乘法求解进行精度对比目录 一.梯度下降算法的基本原理 1.梯度下降算法的基本原理 二.题 ...
最新文章
- OKR的火爆,正是基于这些价值
- VS2012生成ReactOS的VS工程失败(三)和 “ cl is not able to compile a simple test program“错误
- SLAM-ch2-使用kdevelop创建helloWorld程序
- 1.5 Map集合:HashMap 和TreeMap 类
- 我们应该学习什么 java、C#还是C++(VC)
- docker compose linux安装以及使用
- 企业——Docker容器的搭建及简单应用
- matlab显示曲线图中某个点的坐标值
- [深度学习论文笔记][Depth Estimation] Depth Map Prediction from a Single Image using a Multi-Scale Deep Netw
- 联发科之殇:破碎高端梦
- 安装好vmware后界面默认英语如何修改成中文或者其他语言
- 面向对象文字游戏,蜈蚣怪和蛇怪
- CSS动态绑定背景图片
- 错误数据(图片)去除
- 【译】UI 的黑暗面!暗色背景的优势
- 重复性、分辨率的计算方法
- 学会做笔记-子弹笔记学习概要一
- Trinity简介(1)--用于无参考基因组的转录组de novo组装
- 计算机网络验证型实验
- 数字音频芯片--Digilent 公司PmodI2S芯片控制
热门文章
- docker_4 数据卷技术
- 高中信息技术——VB数据类型和基础语句结构
- html中心点缩放,html canvas 让物体随物体中心缩放
- PAT (Basic Level) Practice1016 部分A+B
- Spark Session 与 Spark Context的区别
- 新浪微博分享 小记!!!(尚未成功)
- LeetCode 387:first-unique-character-in-a-string
- 基于JDBC的数据库连接池高效管理策略
- 【原创】VS2010 C++ Debug 出现 SXS: RtlCreateActivati...
- Windows移动开发(二)——闭关修炼