Karmagate/KarmaEcho
GitHub: Karmagate/KarmaEcho
一款高性能的自建 OOB 带外交互收集服务器,用于检测 SSRF、XXE、Log4shell 等盲打漏洞。
Stars: 0 | Forks: 0
KarmaEcho
面向 KarmaGate 的高性能 OOB 交互收集服务器 —— 为安全团队提供的多协议漏洞检测工具。
这是什么 • 功能特性 • 快速开始 • 协议支持 • WebSocket • 部署说明 • 项目结构 • 许可证
## 这是什么 KarmaEcho 是一个用于安全测试的带外 交互收集服务器和客户端库。它使用 Go 语言构建以实现高性能,能够检测导致外部交互的漏洞 —— 这对于渗透测试和漏洞赏金狩猎至关重要。 部署您自己的 OOB 服务器,生成唯一的相关性 Payload,并捕获跨越 **9 种协议** 的盲交互 —— DNS、HTTP(S)、SMTP(S)、LDAP、WebSocket、FTP 和 SMB。 | KarmaEcho 的功能 | 为什么重要 | |---------------------|---------------| | 捕获盲 DNS、HTTP、SMTP 回调 | 检测 SSRF、XXE、RCE、log4shell、盲 XSS | | WebSocket OOB 检测 | 独特功能 —— 其他 OOB 工具中不具备 | | AES 加密零日志 | 您的测试数据保持私密 | | 通过 Let's Encrypt 自动通配符 TLS | HTTPS/WSS Payload 开箱即用 | | 云元数据 DNS 条目 | 内置 SSRF 测试快捷方式 |
## 功能特性 - **多协议支持** — 单一服务器支持 DNS、HTTP(S)、SMTP(S)、LDAP、FTP、SMB、WebSocket - **WebSocket OOB** — 其他工具中不具备的独特 WS/WSS 交互检测功能 - **AES 加密** — 客户端与服务器之间的零日志端到端加密 - **自动 TLS** — 通过 Let's Encrypt 自动获取基于 ACME 的通配符证书 - **云元数据 DNS** — 用于 SSRF 测试的内置 DNS 条目 (169.254.169.254 等) - **动态响应** — 即时自定义 HTTP 响应 - **自托管** — 完全掌控您的 OOB 基础设施 - **指标监控** — 内置 Prometheus 指标端点
## 快速开始 ### 一键安装 (Ubuntu 22.04 + Cloudflare) ``` curl -sSL https://raw.githubusercontent.com/Karmagate/KarmaEcho/main/scripts/install-karmaecho.sh -o install.sh chmod +x install.sh && sudo ./install.sh ``` ### 通过 Go 安装 ``` go install -v github.com/Karmagate/KarmaEcho/cmd/karmaecho-server@latest go install -v github.com/Karmagate/KarmaEcho/cmd/karmaecho-client@latest ``` ### 从源码构建 ``` git clone https://github.com/Karmagate/KarmaEcho.git cd KarmaEcho go build -o karmaecho-server ./cmd/karmaecho-server/ go build -o karmaecho-client ./cmd/karmaecho-client/ ``` ### 运行 **服务器端:** ``` karmaecho-server -domain example.com ``` **客户端:** ``` karmaecho-client -s example.com -t YOUR_TOKEN ``` ``` _ __ ______ _ | |/ /__ _ _ __ _ __ ___ __ _| ____|___| |__ ___ | ' // _' | '__| '_ ' _ \ / _' | |__ / __| '_ \ / _ \ | . \ (_| | | | | | | | | (_| | __|| (__| | | | (_) | |_|\_\__,_|_| |_| |_| |_|\__,_|_____|\___| | |_|\___/ karmagate.com [INF] Listing 1 payload for OOB Testing [INF] c23b2la0kl1krjcrdj10cndmnioyyyyyn.example.com ```
## 支持的协议 | 协议 | 端口 | 描述 | |----------|------|-------------| | DNS | 53 | DNS 查询 (A, AAAA, MX, TXT 等) | | HTTP | 80 | HTTP 请求 | | HTTPS | 443 | 启用自动 TLS 的 HTTPS 请求 | | WebSocket | 80/443 | WS/WSS 连接 | | SMTP | 25 | 邮件交互 | | SMTPS | 587 | 安全邮件 | | LDAP | 389 | LDAP 查询 | | FTP | 21 | FTP 连接 (自托管) | | SMB | 445 | SMB 连接 (自托管) | ### Payload 格式 | 协议 | 格式 | |----------|--------| | DNS | `[correlation-id].yourdomain.com` | | HTTP | `http://[correlation-id].yourdomain.com` | | HTTPS | `https://[correlation-id].yourdomain.com` | | WebSocket | `wss://[correlation-id].yourdomain.com/ws` | | SMTP | `test@[correlation-id].yourdomain.com` | | LDAP | `ldap://[correlation-id].yourdomain.com` |
## WebSocket OOB 检测 KarmaEcho 引入了 **WebSocket OOB 检测** —— 这是其他 OOB 工具中不具备的独特功能。 | 端点 | 描述 | |----------|-------------| | `/ws` | WebSocket 升级 — 相关 ID 来自子域名 | | `/ws/{id}` | WebSocket 升级 — 相关 ID 位于路径中 | **Payloads:** ``` wss://c59e3crp82ke7bcnedq0.example.com/ws wss://example.com/ws/c59e3crp82ke7bcnedq0 ``` **捕获的事件:** | 事件 | 描述 | |-------|-------------| | `websocket` | 连接已建立 | | `websocket-message` | 收到文本消息 | | `websocket-binary` | 二进制消息 (base64) | | `websocket-close` | 连接已关闭 |
## 部署说明 ### 环境要求 - **操作系统**: Linux (Ubuntu 22+, Debian 12+) - **Go** 1.21+ (用于从源码构建) - **域名**: 由 Cloudflare 托管 (推荐) - **硬件配置**: 1 vCPU, 1 GB RAM, 20 GB SSD - **开放端口**: 53, 80, 443, 25, 587, 389 (+ 21, 445 可选) ### 步骤 1: 准备服务器 ``` # 更新系统 apt update && apt upgrade -y apt install -y git curl wget build-essential # 禁用 systemd-resolved(DNS 53 端口需要) sudo systemctl stop systemd-resolved sudo systemctl disable systemd-resolved echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf # 防火墙 sudo ufw allow 22/tcp sudo ufw allow 53 sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 25/tcp sudo ufw allow 587/tcp sudo ufw allow 389/tcp sudo ufw enable ``` ### 步骤 2: 配置 DNS (Cloudflare) | 类型 | 名称 | 内容 | 代理 | |------|------|---------|-------| | A | ns1 | YOUR_SERVER_IP | 仅 DNS | | A | ns2 | YOUR_SERVER_IP | 仅 DNS | | A | @ | YOUR_SERVER_IP | 仅 DNS | | A | * | YOUR_SERVER_IP | 仅 DNS |
Cloudflare API Token (用于自动 HTTPS)
如果您需要自动通配符 TLS 证书: 1. 访问:https://dash.cloudflare.com/profile/api-tokens 2. 点击 **Create Token** 3. 选择模板:**Edit zone DNS** 4. 配置: - 权限:Zone → DNS → Edit - Zone Resources:Include → Specific zone → 您的域名 5. 点击 **Continue to summary** → **Create Token** 6. **复制 Token** (仅显示一次!)
## 客户端用法 ``` # 基本用法 karmaecho-client -s yourdomain.com -t TOKEN # 多个 payload karmaecho-client -s yourdomain.com -t TOKEN -n 5 # 仅 DNS karmaecho-client -s yourdomain.com -t TOKEN -dns-only # 仅 WebSocket karmaecho-client -s yourdomain.com -t TOKEN -websocket-only # 详细输出 karmaecho-client -s yourdomain.com -t TOKEN -v # 保存到文件 karmaecho-client -s yourdomain.com -t TOKEN -o results.txt ```
## 项目结构 ``` KarmaEcho/ ├── cmd/ │ ├── karmaecho-client/ # CLI client │ └── karmaecho-server/ # Server application + Dockerfile ├── pkg/ │ ├── client/ # Client library │ ├── server/ # Server implementation │ │ ├── dns_server.go # DNS protocol handler │ │ ├── http_server.go # HTTP/HTTPS handler │ │ ├── websocket_server.go # WebSocket handler │ │ ├── smtp_server.go # SMTP handler │ │ ├── ldap_server.go # LDAP handler │ │ ├── ftp_server.go # FTP handler │ │ ├── smb_server.go # SMB handler │ │ └── metrics.go # Prometheus metrics │ ├── storage/ # Interaction storage (AES encrypted) │ ├── options/ # Configuration options │ └── settings/ # Default settings ├── scripts/ │ ├── install-karmaecho.sh # Automated installer │ └── update.sh # Update script ├── docs/ │ ├── QUICK-INSTALL.md # Quick installation guide │ └── DEPLOYMENT.md # Detailed deployment docs └── examples/ # Usage examples ```
## 文档 - [快速安装指南](docs/QUICK-INSTALL.md) — 使用 Cloudflare 的分步安装说明 - [部署指南](docs/DEPLOYMENT.md) — 详细的部署与配置说明
## 支持 - **邮箱**: support@karmagate.com - **网站**: [karmagate.com](https://karmagate.com) - **文档**: [docs.karmagate.com](https://docs.karmagate.com) - **Bug 报告**: [GitHub Issues](https://github.com/Karmagate/KarmaEcho/issues)
## 许可证 KarmaEcho 基于 **[Apache License 2.0](LICENSE.md)** 发布。 | 组件 | 许可证 | 版权 | |-----------|---------|-----------| | **KarmaEcho** (此 Fork) | Apache License 2.0 | 2025 KarmaGate | | **Interactsh** (原项目) | MIT License | 2021 ProjectDiscovery, Inc. | KarmaEcho 是 [ProjectDiscovery](https://projectdiscovery.io) 开发的 [Interactsh](https://github.com/projectdiscovery/interactsh) 的一个 Fork。我们衷心感谢 ProjectDiscovery 创建并根据 MIT License 开源了原始项目。
标签:AES加密, CISA项目, DNS, EVTX分析, EVTX分析, EVTX分析, Go, IP 地址批量处理, KarmaEcho, KarmaGate, LDAP, Log4j检测, OOB, RCE验证, Ruby工具, SMB, SMTP, SSRF检测, WebSocket, 中间人测试, 依赖分析, 回调服务器, 多协议, 安全测试, 带外检测, 攻击性安全, 日志审计, 网络交互, 网络安全, 自定义请求头, 错误配置检测, 隐私保护, 零日志