giriaryan694-a11y/ShellCamo

GitHub: giriaryan694-a11y/ShellCamo

一款纯客户端的高级命令混淆 Payload 生成工具,支持 Bash、PowerShell 和 cmd.exe 的多平台混淆技术,帮助红蓝团队进行安全检测与防御研究。

Stars: 0 | Forks: 0

# 🐟 ShellCamo **专为红队与安全研究设计的高级命令混淆生成器** [![在线工具](https://img.shields.io/badge/Live%20Tool-ShellCamo-00ff88?style=for-the-badge&logo=github-pages)](https://giriaryan694-a11y.github.io/ShellCamo/) ![Stage](https://img.shields.io/badge/stage-Developmental-orange) ![License](https://img.shields.io/badge/license-Educational-blue) ![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20Windows-lightgrey) ## 🔗 在线工具 直接在浏览器中访问 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, 免杀技术, 前端工具, 后端开发, 命令混淆, 多模态安全, 数据可视化, 暴力破解检测