怎样反制红队“硬件“攻击

本文介绍了如何使用Windows SDK反制红队的BadUSB硬件攻击。通过监听WM_DEVICECHANGE消息,捕获BadUSB插入事件,并在设备插入后自动执行命令行烧录代码,覆盖红队可能修改的程序。文章详细阐述了代码分析流程、消息响应实现以及实际使用过程,提供了一种防御硬件攻击的新思路。
摘要由CSDN通过智能技术生成

前言

随着红蓝对抗日益激烈,而红队的攻击点从原有的Web方法,也涉及到了很多的方向,例如硬件攻击。

而硬件攻击最显著的就是Badusb。说起这个玩意儿。想必大家都知道,网上一搜一大堆制作文章。

【查看学习资料】

在这里插入图片描述

另一种烧录BadUsb

网上的确有大多数BadUsb的烧录方法,但都是基于arduino界面的烧录,但经过本人研究

arduino也是可以通过命令行参数进行烧录的,具体如下:

C:\Users\Administrator\Desktop\Arduino\arduino_debug.exe --port COM端口 --upload 烧录的内容文件

文件路径的话,可以看如下图,当对内容进行保存的时候,给出了详细信息,后缀名为ino,经过笔者用命令行编译试验,路径要为:

C:\\xxx\\sketch_apr01a\sketch_apr01a.ino

sketch_apr01a为项目文件,而在上层还要有一个sketch_apr01a名字的目录
在这里插入图片描述

代码分析流程

Windows sdk开发中,任何一个窗口都能接收消息并响应。同理 BadUSB或U盘插入或拔出也会有相应的消息与响应。

用到的消息为:WM_DEVICECHANGE

(通知应用程序对设备或计算机的硬件配置进行更改,通过WindowProc函数接收消息)

函数原型如下:

LRESULT CALLBACK WindowProc ( HWND hWnd, 
                              UINT message,
                                WPARAM wParam, 
                                LParam);

WindowProc中第三个参数wParam,指向发生的事件,该参数Dbt.h头文件找那个的值。说说我们要用到的宏吧,Dbt.h中:

DBT_DEVICEARRIVAL //设备插入会进行响应
DBT_DEVICEREMOVECOMPLETE //设备拔出时响应

代码实现消息响应

首先来看WndProc函数。具体实现就是通过一个case来进行消息响应的
在这里插入图片描述
添加自己的消息响应,以下代码当BadUSB插入之后,会弹窗显示设备插入。

case WM_DEVICECHANGE://捕获设备更改时的消息
    switch (wParam){
   
    case DBT_DEVICEARRIVAL://捕获设备插入
      MessageBoxA(NULL, "设备插入", "test", NULL);
      break;
    case DBT_DEVICEREMOVECOMPLETE://捕获设备弹出
      MessageBoxA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值