praetorian-inc/ChromeAlone

GitHub: praetorian-inc/ChromeAlone

将 Chromium 浏览器转化为具备 SOCKS 代理、凭据窃取、WebAuthn 钓鱼等能力的 C2 植入框架。

Stars: 556 | Forks: 73

# ChromeAlone - 浏览器 C2 框架 ![架构图](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/6ad75a0f02120128.png) # 这能为我提供什么? ChromeAlone 是一种浏览器植入程序,可用于替代 Cobalt Strike 或 Meterpreter 等常规植入程序。本仓库提供了一个简单的构建流程,将生成管理控制台、部署基础设施,并创建一个 powershell 侧载脚本以便在目标上运行。 安装后,每个 ChromeAlone 植入程序将提供以下机制: * 在主机上提供 SOCKS TCP 代理 * 浏览器会话窃取和凭据捕获 * 从 Chrome 在主机上启动可执行文件 * 针对物理安全令牌(如 YubiKey 或 Titan Security Key)的 WebAuthn 请求进行钓鱼。 * 一种主机上抗 EDR 的持久化形式,完全通过 Chromium 的内置功能实现。 # 构建说明 首先构建 docker 容器:`docker build -t chromealone .` ## 部署说明 目前支持两种部署模式。请注意,无论哪种情况,都应从 ChromeAlone git 仓库的根目录运行 `docker`。 ### 通过 AWS 从零开始部署 为此,你需要拥有一个 AWS 账户,并将凭据配置存储在 `~/.aws/credentials` 中。确保你的账户拥有完整的 EC2 写入权限以及 Route53 权限。此外,假设你的 Route53 已配置至少一个包含已注册域名的托管区域。如果满足这些条件,则可以运行此命令。 ``` docker run --rm -v $(pwd):/project -v ~/.aws:/root/.aws chromealone --domain=sendmea.click --appname=UpdateService --region=us-west-2 ``` `domain` 值应与你的 Route53 设置控制的域名匹配。`appname` 可以是你想要的任何值,将用于在部署时命名磁盘上的几个注册表键和文件夹。建议使用相当无害的名称,如 `UpdateService` 或其他同样不起眼的名称。 请注意,`region` 是可选的,如果未指定,默认为 `us-east-2`。 这会将 BATTLEPLAN 中继服务器部署到 AWS 并生成以下工件: `output/client` - 用于管理 ChromeAlone 安装的控制 Web 应用程序。 `output/sideloader.ps1` - 在目标上运行以感染其本地浏览器实例的安装脚本。注意:还会有一个 `iwa-sideloader.ps1` 文件用于仅加载 Isolated Web App,以及 `extension-sideloader.ps1` 用于仅加载浏览器扩展。 `output/extension` - 生成的恶意浏览器扩展。 `output/iwa` - 生成的已签名恶意 Isolated Web App Web 应用程序包文件。 `output/relay-deployment` - 来自 AWS 部署的 Terraform 工件,包括用于直接访问主机的 SSH 密钥。 ### 从现有服务器部署生成部署脚本 如果你已经部署了一个实例,`output/relay-deployment/terraform.tfvars` 将包含生成新侧载脚本 + 恶意扩展所需的所有信息。你可以将 ChromeAlone docker 文件指向 `tfvars` 文件,它将跳过部署步骤,同时维护适当的元数据以处理连接。 运行构建脚本 `docker run --rm -v $(pwd):/project -v ~/.aws:/root/.aws chromealone --tfvars=/project/path/to/terraform.tfvars --appname=UpdateService`,它将为你的部署生成一个新的恶意侧载器。 ## 在主机上安装 获取 `sideloader.ps1` 并在目标 Windows 10 或 Windows 11 机器上通过运行 `powershell.exe ExecutionPolicy Bypass -File .\path\to\sideloader.ps1` 执行。请注意,如果你想安装 NativeMessaging 主机(用于 shelling out)或强制 Chrome 重启(如果你希望扩展在运行此脚本后立即运行,而不是等待用户下次打开 Chrome,则这是必要的),你可以使用额外的标志运行。一个同时包含这两个标志的调用示例是 `powershell.exe -ExecutionPolicy Bypass .\sideloader.ps1 -InstallNativeMessagingHost $true -ForceRestart $true`。如果你希望自动使用这些标志,也可以将脚本顶部的默认值从 `false` 修改为 `true`。 完整的脚本执行大约需要 20-30 秒。 # 操作员说明 一旦 ChromeAlone 加载完毕,你可以通过打开 `output/client/index.html` 查看任何已连接的主机。此 Web 应用程序将预配置为回连到你部署的 BATTLEPLAN 中继实例。请注意,默认情况下,中继防火墙仅允许部署服务器的 IP 在端口 1080-1181 上进行传入控制访问。如果你想修改此设置,则需要更新 EC2 实例的网络设置以包含任何其他机器。 大多数命令可以从 WebUI 运行,包括: * 转储历史记录 + Cookie(通过 `Quick Commands` 部分,需要在 `Execute Command` 部分选择目标 Agent) * 捕获凭据(将通过 `Captured Data` 选项卡显示) * 强制 WebAuthn 请求(通过 `Execute Command` 部分) * 文件系统读取(通过 `File Browser` 选项卡) * 执行 Shell 命令(通过 `Interactive Shell` 选项卡) 主要的例外是 SOCKS 代理。每个受感染的主机都会为服务器分配一个唯一的 SOCKS 端口,可以在 `Agent Information` 部分下看到,其中每个 Agent 都有一个 `Port` 字段。分配的端口与存储在 `output/client/config.js` 中的 `admin` 凭据结合使用时,可用于配置特定于主机的 SOCKS 代理。 例如,假设我们有一个 Agent,其端口为 1081,我们的域是 `chrome.alone`,用户名 `admin`(始终如此),密码是 `thisisnotarealpassword`。以下是一些用法示例: ``` proxychains -q socks5 admin:thisisnotarealpassword@chrome.alone:1081 curl http://ifconfig.me xfreerdp /cert:ignore /v: /u: /proxy:socks5://admin:thisisnotarealpassword@chrome.alone:1081 curl -x socks5h://chrome.alone:1081 -u "admin:thisisnotarealpassword" http://ifconfig.me ``` # 这个仓库里有什么? ChromeAlone 仓库分为多个组件,其中许多组件可以作为评估的一部分单独使用 - 但组合在一起代表了整个 Chromium 浏览器植入工具链。 * `BATTLEPLAN` - 这是工具链的管理服务器组件。它包含用于部署到 AWS 环境的 Terraform 脚本,以及用于在部署后与服务器交互的 HTML 客户端。 * `BLOWTORCH` - 这是一个恶意的 Isolated Web Application,它使用 `Direct Socket` 权限实现 SOCKS TCP 代理和 WebSocket 服务器,以启用其他 Chrome 组件之间的通信。它还充当回连到 `BATTLEPLAN` 中继服务器的消息桥接。 * `DOORKNOB` - 这是一系列用于生成 Isolated Web App 和 Chrome 扩展的 powershell 侧载器的脚本。`build.sh` 中的脚本提供了一个示例,说明如何创建一个将这两个单独的侧载器组合成一个的 Powershell 安装脚本。 * `HOTWHEELS` - 这是一个恶意的 Chrome 扩展,在 Web Assembly 中实现其所有功能。它提供了 ChromeAlone 绝大多数的功能集,用于凭据捕获、会话劫持、shelling out 和读取文件系统。 * `PAINTBUCKET` - 一系列内容脚本,通过在发出正常 WebAuthn 请求时,在非活动标签页的 iFrame 中隐藏额外的 WebAuthn 请求,从而启用对 WebAuthn 请求的钓鱼。 # 谁制作了这个? 该工具由 [Praetorian Security](https://www.praetorian.com/) 的 [Mike Weber](https://www.linkedin.com/in/michael-weber-6a466517/) 编写。 # 参考 这项工作建立在许多其他研究人员工具和博客文章的基础上,他们为该领域做出了贡献。没有他们的工作,这个项目就不会存在。如果你希望深入了解本项目利用的内部机制,我建议阅读以下资源: * Silent Chrome - https://github.com/asaurusrex/Silent_Chrome * Return of the Extension - https://syntax-err0r.github.io/Return_Of_The_Extension.html * CursedChrome - https://github.com/mandatoryprogrammer/CursedChrome * https://www.adlice.com/google-chrome-secure-preferences/ * Browser Extension Supply Chain Attacks - https://www.darktrace.com/blog/cyberhaven-supply-chain-attack-exploiting-browser-extensions * LummaC2 Sideloading - https://www.esentire.com/blog/lummac2-malware-and-malicious-chrome-extension-delivered-via-dll-side-loading * BlinkOn 19 - https://www.youtube.com/watch?v=Q3b5NB-7HQQ * RedExt - https://github.com/Darkrain2009/RedExt * Browser Syncjacking - https://labs.sqrx.com/browser-syncjacking-cc602ea0cbd0 * Isolated Web Apps Explainer - https://github.com/WICG/isolated-web-apps * LevelDB Writeup - https://www.cclsolutionsgroup.com/post/hang-on-thats-not-sqlite-chrome-electron-and-leveldb * DirectSockets Explainer - https://wicg.github.io/direct-sockets/ * WebUSB Yubikey Phishing - https://www.wired.com/story/chrome-yubikey-phishing-webusb/ * Offensive Browser Extension Development - https://www.irongeek.com/i.php?page=videos/derbycon8/track-4-02-offensive-browser-extension-development-michael-weber # 许可证 ChromeAlone 根据 Apache License 2.0 版获得许可。 ``` Copyright 2025 Praetorian Security, Inc Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ```
标签:AI合规, AI工具, AWS部署, C2框架, Chromium, Docker, EDR绕过, Google Chrome, Implant, IPv6, IP 地址批量处理, PowerShell, SOCKS代理, WebAuthn钓鱼, YubiKey, 会话劫持, 侧载攻击, 命令与控制, 嗅探欺骗, 安全学习资源, 安全防御评估, 恶意软件, 数据可视化, 权限维持, 模糊测试, 漏洞利用检测, 物理安全密钥, 窃取凭证, 网络信息收集, 网络安全, 自定义脚本, 自定义脚本, 请求拦截, 隐私保护, 高交互蜜罐