techleadevelopers/high-ghost-injections

GitHub: techleadevelopers/high-ghost-injections

一款基于 Rust 开发的红队 C2 系统,专注于高价值目标的静默渗透、凭据窃取与加密数据外发。

Stars: 1 | Forks: 0

# GhostInject - 红队行动 完整技术文档 ## 📋 目录 * 概述 * 系统架构 * 前置条件 * 安装和配置 * 项目结构 * 环境配置 * 运行服务器 * API 端点 * Web 仪表板 * 安全和加固 * 监控和日志 * 故障排除 * 路线图 * 支持与联系 * 法律声明 * 许可证 ## 🎯 概述 **Operation RustyStealer** 是一个用 Rust 开发的 C2 (Command & Control) 系统,用于授权实验室环境中的红队行动。该系统允许管理多个目标、收集被窃取的数据,并与植入的 agent 保持持久通信。 ### 主要特性 | 特性 | 描述 | | :--- | :--- | | **高性能** | 使用 Rust 和 `tokio` async 编写,支持数百个并发连接 | | **安全存储** | SQLite,静态数据已加密 | | **多种 Payload** | 支持不同的攻击阶段 (`stager`, `stealer`, `persistence`) | | **Web 仪表板** | 用于实时监控的 Web 界面 | | **通知** | 通过 Discord webhook 发送关键事件警报 | | **结构化日志** | 详细的日志记录,用于取证分析 | ``` ┌─────────────────────────────────────────────────────────────────┐ │ 1. VETOR DE ENTREGA │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 📧 Phishing e-mail com PDF anexo │ │ 📱 WhatsApp com PDF disfarçado (fatura, boleto, contrato) │ │ 🌐 Smart Click — página falsa que força download do PDF │ │ │ │ O PDF contém: │ │ ├─ Macro maliciosa (se for PDF com macro) │ │ ├─ JavaScript exploit (CVE-2018-4990, CVE-2020-0601, etc.) │ │ └─ Ou simplesmente instrução pra abrir e "executar" │ │ │ └─────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ 2. EXECUÇÃO INVISÍVEL │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ Ao abrir o PDF: │ │ ├─ Macro executa silenciosamente (sem alerta) │ │ ├─ Ou exploit de JavaScript baixa o payload em memória │ │ └─ Ou PDF chama PowerShell com one-liner │ │ │ │ O que executa: │ │ └─ stage1.ps1 (AMSI/ETW bypass + download do stealer.exe) │ │ │ └─────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ 3. STEALER (Rust) │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ stealer.exe (compilado com as flags de release): │ │ ├─ Anti-debug + sandbox detection │ │ ├─ Dump LSASS (credenciais) │ │ ├─ Extrai cookies/creds dos navegadores │ │ ├─ Coleta documentos sensíveis │ │ ├─ Criptografa (AES) e envia pro C2 │ │ └─ Envia backup via Discord webhook │ │ │ └─────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ 4. C2 E PERSISTÊNCIA │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ C2 Server (Rust/Axum): │ │ ├─ Recebe dados via /exfil │ │ ├─ Armazena em SQLite criptografado │ │ ├─ Dashboard web pra operador │ │ └─ Notifica Discord │ │ │ │ Persistência: │ │ ├─ WMI Event Subscription │ │ ├─ Scheduled Task │ │ └─ Registry Run Keys │ │ │ │ DNS C2 (fallback): │ │ └─ Se HTTP bloqueado, exfiltra via DNS tunneling │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` ## 🏗️ 系统架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ C2 Server (Rust) │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ HTTP API │ │ SQLite │ │ Dashboard Web │ │ │ │ (Axum) │◄─┤ Database │ │ (HTML/CSS/JS) │ │ │ └─────────────┘ └─────────────┘ └─────────────────────┘ │ │ ▲ ▲ ▲ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ Payload Repository (Static) │ │ │ │ stage1.ps1 │ stealer.exe │ persistence.ps1 │ │ │ └─────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ │ │ HTTPS ▼ ┌─────────────────────────────────────────────────────────────┐ │ Alvos (Providers) │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ Windows 10 │ │ Windows 11 │ │ Windows Server │ │ │ │ (Agent) │ │ (Agent) │ │ (Agent) │ │ │ └─────────────┘ └─────────────┘ └─────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ## 📦 前置条件 ### 推荐硬件配置 | 组件 | 最低配置 | 推荐配置 | |------------|--------|-------------| | CPU | 1 核 | 2+ 核 | | RAM | 512 MB | 2 GB | | 磁盘 | 10 GB | 50 GB+ | ### 必要软件 | 软件 | 版本 | 检查命令 | |----------|--------|------------------------| | Rust | 1.70+ | `rustc --version` | | Cargo | 1.70+ | `cargo --version` | | Git | 2.0+ | `git --version` | | SQLite | 3.0+ | `sqlite3 --version` | ### 安装 Rust ``` # Linux/macOS curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source "$HOME/.cargo/env" ``` ``` # Windows Baixe e execute: https://rustup.rs/ ``` ## 🛠️ 安装和配置 ### 1. 克隆仓库 ``` git clone https://github.com/your-org/operation-rustystealer.git cd operation-rustystealer/c2-server ``` ### 2. 创建必要目录 ``` mkdir -p data/alvos mkdir -p data/exfils mkdir -p data/logs mkdir -p payloads/windows mkdir -p payloads/linux mkdir -p static/css mkdir -p static/js mkdir -p static/img ``` ### 3. 编译 Stealer ``` cd ../lsass_dumper cargo build --release strip target/release/lsass_dumper.exe cp target/release/lsass_dumper.exe ../c2-server/payloads/windows/stealer.exe ls -la ../c2-server/payloads/windows/stealer.exe ``` ### 4. 配置 `config.toml` 文件 ``` cp config.toml.example config.toml vim config.toml ``` ## 📁 项目结构 ``` c2-server/ ├── src/ │ ├── main.rs │ ├── handlers.rs │ ├── database.rs │ ├── crypto.rs │ ├── models.rs │ ├── config.rs │ ├── auth.rs │ ├── logging.rs │ └── alerts.rs ├── templates/ │ └── dashboard/ │ ├── index.html │ ├── alvo.html │ └── login.html ├── static/ │ ├── css/ │ │ └── dashboard.css │ └── js/ │ └── dashboard.js ├── payloads/ │ ├── windows/ │ │ ├── stealer.exe │ │ ├── stage1.ps1 │ │ └── persistence.ps1 │ └── linux/ ├── data/ │ ├── alvos/ │ ├── exfils/ │ ├── logs/ │ └── c2.db ├── certs/ │ ├── cert.pem │ └── key.pem ├── scripts/ │ ├── backup.sh │ ├── cleanup.sh │ └── monitor.sh ├── Cargo.toml ├── Cargo.lock ├── config.toml ├── config.toml.example ├── README.md └── .env.example ``` ## ⚙️ 环境配置 ### 环境变量 ``` C2_SERVER__HOST=0.0.0.0 C2_SERVER__PORT=8443 C2_AUTH__API_KEY=my-super-secret-key C2_DATABASE__PATH=./data/c2.db ``` ### TLS 证书 ``` mkdir -p certs openssl req -x509 -newkey rsa:4096 -keyout certs/key.pem -out certs/cert.pem -days 365 -nodes -subj "/CN=localhost" ``` ``` Para produção, use certificados válidos, como Let's Encrypt. ``` ## 🚀 运行服务器 ### 开发模式 (HTTP) ``` cargo run # 或者 cargo build --release ./target/release/c2-server ``` ### 生产模式 (HTTPS) ``` cargo build --release ./target/release/c2-server ``` ``` Configure `tls_enabled = true` no `config.toml` e garanta que os certificados existam em `certs/`. ``` ### 使用 Docker ``` FROM rust:1.70-slim as builder WORKDIR /app COPY . . RUN cargo build --release FROM debian:bookworm-slim RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY --from=builder /app/target/release/c2-server /app/ COPY --from=builder /app/config.toml /app/ COPY --from=builder /app/payloads /app/payloads/ COPY --from=builder /app/static /app/static/ COPY --from=builder /app/templates /app/templates/ EXPOSE 8443 CMD ["./c2-server"] ``` ### 验证服务器是否正在运行 ``` curl http://localhost:8443/health ``` ``` Resposta esperada: {"status":"healthy","timestamp":"2026-03-30T10:00:00Z"} ``` ## 🔌 API 端点 ### Base URL ``` http://localhost:8443 ``` ## 🖥️ Web 仪表板 ``` O dashboard web permite acompanhar alvos ativos, eventos de exfiltração, status de beacons e indicadores operacionais em tempo real. ``` ## 🔒 安全和加固 ### 1. JWT 身份验证 为仪表板和管理 API 启用 JWT 身份验证: ``` [auth] jwt_secret = "YOUR_VERY_STRONG_SECRET_KEY_MIN_32_CHARS" jwt_expiry_hours = 24 ``` ### 2. Agent API Key 每个 agent 使用服务器上配置的固定 API key: ``` [auth] api_key = "RANDOM_STRING_AT_LEAST_32_CHARS" ``` ### 3. TLS/SSL (HTTPS) ``` [server] tls_enabled = true cert_file = "./certs/cert.pem" key_file = "./certs/key.pem" ``` ### 4. Rate Limiting 防御暴力破解和 DDoS 攻击: ``` // Já implementado via tower_http use tower_http::limit::RequestBodyLimitLayer; ``` ### 5. IP 白名单(可选) ``` [security] allowed_ips = ["192.168.1.0/24", "10.0.0.0/8"] deny_all_others = true ``` ### 6. 审计日志 记录所有访问日志: ``` [2026-03-30 10:23:45] INFO [ACCESS] IP: 192.168.1.100 | Endpoint: /exfil | Status: 200 [2026-03-30 10:23:46] INFO [ACCESS] IP: 10.0.0.1 | Endpoint: /dashboard | Status: 200 ``` ## 📈 监控和日志 ### 结构化日志 ``` # 查看实时日志 tail -f data/logs/c2.log ``` ``` {"timestamp":"2026-03-30T10:23:45Z","level":"INFO","message":"Exfil received","alvo_id":"alvo-001","data_type":"lsass_dump","size":47102400} ``` ### Prometheus 指标(可选) ``` // Endpoint para métricas .route("/metrics", get(prometheus_handler)) ``` ### 健康检查端点 ``` curl http://localhost:8443/health ``` ``` { "status": "healthy", "version": "0.1.0", "uptime_seconds": 3600, "database_status": "connected", "total_alvos": 4, "active_beacons": 3 } ``` ## 🔧 故障排除 ### 常见问题及解决方案 | 问题 | 可能原因 | 解决方案 | |----------|----------------|---------| | 服务器无法启动 | 端口被占用 | 在 `config.toml` 中更改端口,或结束占用该端口的进程 | | 数据库错误 | 写入权限问题 | 调整 `data/` 和 `data/c2.db` 的权限 | | Payload 无法下载 | 路径不正确 | 检查 `payloads/windows/stealer.exe` 文件是否存在 | | 仪表板无法加载 | 模板缺失 | 检查 `templates/dashboard/index.html` 是否存在 | | Agent 无法连接 | API Key 无效 | 确认 `config.toml` 中的 API key 与 agent 中的相同 | | 窃取数据量过大 | payload 大小限制 | 在 `config.toml` 中增加 `max_payload_size` | ### 调试模式 ``` RUST_LOG=debug cargo run ``` ``` [logging] level = "debug" ``` ## 🗺️ 路线图 ### 第一阶段 (MVP) ✅ * 基于 Axum 的基础 HTTP 服务器 * 用于接收数据的 `/exfil` 端点 * 用于心跳的 `/beacon` 端点 * 用于提供 agent 的 `/payload` 端点 * SQLite 数据库用于存储 * 基础的 Web 仪表板 ### 第二阶段(当前) 🔄 * JWT 身份验证 * Discord/Telegram 通知 * 结构化日志 * 数据压缩 * 静态数据加密 ### 第三阶段(下一阶段) 📅 * 操作员 CLI 界面 * 多租户支持 * Grafana 集成 * Payload 自动更新 * 支持 Linux/macOS * 自动分析窃取数据 ### 第四阶段(未来) 🚀 * 用于双向通信的 WebSocket * Pivoting 和横向移动 * 用于规避检测的人工智能 * 带有世界地图的仪表板 * 自动生成报告 ## 📞 支持与联系 有关授权实验室环境中的项目问题: * 技术文档:仓库中的 `/docs` * 问题:仅限在 GitHub Issues 提交 Bug * 内部聊天:红队团队的 Matrix/Slack ## ⚠️ 法律声明 本项目仅用于教育目的和在授权环境中的安全测试。 严禁将本软件用于任何未经授权的活动。开发者不对软件的滥用或由此造成的损害承担责任。 ## 📄 许可证 本项目基于 MIT License 授权。有关详细信息,请参阅 `LICENSE` 文件。
标签:AI合规, Async Tokio, C2框架, Discord通知, Ghost Stealer, IP 地址批量处理, RustyStealer, Rust语言, SQLite, TGT, Web面板, 加密外发, 反取证, 可视化界面, 嗅探欺骗, 安全学习资源, 安全评估, 恶意载荷, 攻防演练, 数据可视化, 数据展示, 数据窃密, 权限维持, 精准提取, 红队, 网络安全, 请求拦截, 通知系统, 隐私保护, 静默识别