giriaryan694-a11y/ShellCamo
GitHub: giriaryan694-a11y/ShellCamo
一款纯客户端的高级命令混淆 Payload 生成工具,支持 Bash、PowerShell 和 cmd.exe 的多平台混淆技术,帮助红蓝团队进行安全检测与防御研究。
Stars: 0 | Forks: 0
# 🐟 ShellCamo
**专为红队与安全研究设计的高级命令混淆生成器**
[](https://giriaryan694-a11y.github.io/ShellCamo/)



## 🔗 在线工具
直接在浏览器中访问 ShellCamo —— 无需安装:
**👉 [https://giriaryan694-a11y.github.io/ShellCamo/](https://giriaryan694-a11y.github.io/ShellCamo/)**
## 📖 概述
ShellCamo 是一个完全静态的客户端 Web 工具,用于为 **Bash**、**PowerShell** 和 **cmd.exe** 生成 **真正隐藏的** 混淆命令 payload。与仅插入引号或反斜杠(使命令保持可读性)的简单混淆器不同,ShellCamo v4.1 确保原始命令在生成的输出中 **永远不可见**。
所有的 payload 生成过程均通过 JavaScript 在浏览器中完成 —— **没有服务端执行,没有数据传输,没有任何依赖**。
### 🎯 核心原则
所包含的每一项技术都能保证静态分析工具、AV 特征码和日志解析器 **无法读取原始命令**,除非进行运行时解码。仅包含编码、转换、压缩和基于 LOLBin 的技术。
## ✨ 功能特性
- 🐧 **多平台支持** — 为 Linux/Bash、Windows PowerShell 和 cmd.exe 生成 payload
- 🎯 **平台选择** — 按目标 OS(Linux、Windows 或全部)筛选输出
- 📋 **可靠的一键复制** — 基于事件委托的剪贴板复制,采用安全的 base64 编码(兼容所有特殊字符)
- 📊 **规避指标** — 实时统计信息,展示技术数量、平台覆盖率和规避等级评分
- 🎨 **现代深色 UI** — 网络安全主题的响应式设计,带有平滑动画
- 🔒 **100% 客户端** — 零网络调用;所有逻辑均在浏览器本地运行
- ⌨️ **键盘支持** — 按 `Enter` 键即可立即生成 payload
- 📱 **完全响应式** — 在移动设备、平板电脑和桌面设备上均能完美运行
- 🏷️ **技术标签** — 每个 payload 都标有相应的类别(编码、分层、LOLBin、加密等)
- 📝 **内嵌说明** — 每个 payload 都包含关于其工作原理的清晰解释
- 🚧 **开发阶段** — 持续维护与更新中
## 🛡️ 支持的技术(共 48 种)
### 🐧 Bash / Linux(17 种技术)
| 技术 | 类别 | 描述 |
| :--- | :--- | :--- |
| Base64 Encoding | Encoding | 标准 base64 解码后通过管道传递给 bash |
| ROT13 Cipher | Encoding | 通过 `tr` 解码的 ROT13 位移 |
| String Reversal | Transform | 通过 `rev` 解码的反转字符串 |
| Hex Encoding (`$'...'`) | Encoding | ANSI-C 十六进制转义序列 |
| Octal Encoding (`$'...'`) | Encoding | ANSI-C 八进制转义序列 |
| Double Base64 | Layered | 两层 base64 编码 |
| Triple Base64 | Layered | 三层编码以实现最大熵值 |
| Here-String + Base64 | Advanced | Bash here-string 传递解码后的命令 |
| Process Substitution | Advanced | 通过 `<()` 避免使用临时文件 |
| XARGS Execution | Advanced | base64 解码后通过 xargs 管道传递 |
| Printf Hex Escapes | Encoding | 带有十六进制转义的 printf 通过管道传递给 bash |
| xxd Reverse Hex | Encoding | 通过 xxd -r -p 实现的十六进制字符串 |
| Gzip + Base64 | Compression | 命令压缩后再进行编码 |
| Variable + Base64 | Advanced | base64 存储在变量中,在运行时解码 |
| Octal echo -e | Encoding | 通过 echo -e 实现的八进制转义 |
| Base64 + Reversed | Layered | 反转命令的 base64 编码 |
| Hex printf Chain | Encoding | 通过 printf 实现的十六进制转义链接至 stdin |
### 💙 PowerShell(16 种技术)
| 技术 | 类别 | 描述 |
| :--- | :--- | :--- |
| EncodedCommand (`-enc`) | Native | UTF-16LE base64 编码命令 |
| Short Flag (`-e`) | Native | 缩写的 `-EncodedCommand` 标志 |
| Character Array | Encoding | 作为 `[char[]]` 代码的命令 |
| Reversed + Base64 | Layered | 反转命令的 base64 编码 |
| Environment Variable | Advanced | 存储在环境变量中的编码 payload |
| ASCII Cast (`[char]...`) | Encoding | 每个字符转换为 `[char]` 然后拼接 |
| Double Base64 | Layered | 带有解码链的两层 base64 |
| New-Variable Chain | Advanced | 通过 New-Variable cmdlet 实现的字符代码 |
| `[ScriptBlock]::Create` | Advanced | base64 解码并载入 ScriptBlock |
| .NET Concat + Char Codes | Advanced | 字符代码的 .NET 拼接 |
| Base64 + ROT13 | Layered | 应用 ROT13 后进行 base64 编码 |
| Triple Layer | Polymorphic | 组合多种编码层 |
| .NET Convert Base64 | Advanced | 使用 .NET Convert 类进行解码 |
| Invoke-Command | Advanced | 带有解码后 scriptblock 的 Invoke-Command |
| XOR Decode | Encryption | 命令经 XOR 编码,通过位运算解码 |
| Compressed Stream | Compression | DeflateStream 压缩 + base64 |
### ⬛ cmd.exe(14 种技术)
| 技术 | 类别 | 描述 |
| :--- | :--- | :--- |
| certutil -decode | LOLBin | base64 写入文件,使用 certutil 解码 |
| findstr + certutil | LOLBin | findstr 过滤后由 certutil 解码 |
| mshta VBScript | LOLBin | mshta 执行带有编码命令的 VBScript |
| rundll32 JavaScript | LOLBin | 带有 javascript: 协议的 rundll32 |
| FOR Loop + certutil | LOLBin | FOR /F 循环读取 certutil 解码后的输出 |
| Base64 Variable Expansion | Obfuscation | base64 拆分为变量,在执行时展开 |
| PowerShell Wrapper | Wrapper | cmd 调用带有 -EncodedCommand 的 PowerShell |
| Delayed Expansion + B64 | Advanced | `/v:on` 延迟扩展结合 base64 |
| Reversed + certutil | Layered | 存储反转的命令,由 certutil 解码 |
| Hex + certutil | LOLBin | 通过 certutil 解码的十六进制编码命令 |
| forfiles + B64 | LOLBin | forfiles 执行 base64 解码后的命令 |
| regsvr32 scrobj.dll | LOLBin | regsvr32 加载带有编码命令的 scriptlet |
| Double B64 + certutil | Layered | 通过两次 certutil 过程解码双重 base64 |
| bitsadmin download | LOLBin | bitsadmin 下载并执行编码后的 payload |
## 🎯 应用场景
- **红队行动** — 测试 AV/EDR 针对基于特征码检测的规避能力
- **蓝队培训** — 了解真正的混淆模式以改进检测规则
- **安全教育** — 学习跨平台隐藏命令的工作原理
- **CTF 比赛** — 为挑战快速生成隐藏的 payload
- **检测工程** — 针对编码技术构建并测试 YARA/Sigma 规则
- **对手模拟** — 模拟映射到 MITRE ATT&CK T1027.010 的 TTPs
## ⚠️ 法律与道德免责声明
- ShellCamo 生成的混淆技术 **目前正被真实的威胁行为者** 在实际攻击中广泛使用。
- 在任何系统上生成或执行任何 payload 之前,您必须拥有 **明确的书面授权**。
- 未经授权访问计算机系统属于刑事犯罪,违反的法律包括但不限于 **计算机欺诈和滥用法(CFAA)**、**英国计算机滥用法** 以及全球范围内的同等立法。
- 作者和贡献者对滥用此工具 **不承担任何责任**。
- 请始终在签署的 **交战规则** 文档范围内进行操作。
## 🏗️ 技术细节
- **架构:** 带有内联 CSS 和 JavaScript 的单一静态 HTML 文件
- **依赖项:** 无 —— 零外部库、框架或 CDN 链接
- **执行:** 100% 客户端;无服务器、无 API 调用、无遥测
- **复制机制:** 事件委托 + 安全的 base64 数据属性(修复所有特殊字符问题)
- **编码:** 使用浏览器原生 API(`btoa()`、`atob()`、`TextEncoder`)
- **PowerShell Base64:** 正确实现 `-EncodedCommand` 所需的 UTF-16LE 编码
- **浏览器兼容性:** Chrome、Firefox、Edge、Safari(所有现代版本)
- **阶段:** 开发中 —— 正在积极改进和扩展
## 📜 许可证
本项目仅供 **教育目的**。请负责任且合法地使用。
**由 Aryan Giri 制作** | [giriaryan694-a11y](https://github.com/giriaryan694-a11y)
*仅用于教育和授权测试。*
标签:DNS 反向解析, OpenCanary, 免杀技术, 前端工具, 后端开发, 命令混淆, 多模态安全, 数据可视化, 暴力破解检测