techleadevelopers/research-sniper-injections

GitHub: techleadevelopers/research-sniper-injections

一个基于Rust/Tokio/Axum技术栈的红队C2框架,专注于隐蔽的数据窃取、加密外传和多渠道持久化,用于授权环境下的安全评估行动。

Stars: 1 | Forks: 0

# GhostInject - 红队行动 完整技术文档 ## 📋 目录 * 概述 * 系统架构 * 前置条件 * 安装与配置 * 项目结构 * 环境配置 * 运行服务器 * API 端点 * Web Dashboard * 安全与加固 * 监控与日志 * 故障排除 * 路线图 * 支持与联系方式 * 免责声明 * 许可证 ## 🎯 概述 **Operation RustyStealer** 是一个用 Rust 开发的 C2 (Command & Control) 系统,用于授权实验室环境中的红队行动。该系统允许管理多个目标、收集窃取的数据,并与植入的 Agent 保持持久通信。 ### 主要特性 | 特性 | 描述 | | :--- | :--- | | **高性能** | 使用 Rust 和 `tokio` async 编写,支持数百个并发连接 | | **安全存储** | SQLite,数据静态加密 | | **多种 Payload** | 支持不同的攻击阶段(`stager`、`stealer`、`persistence`)| | **Web Dashboard** | 用于实时监控的 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 core | 2+ cores | | 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 Dashboard ``` O dashboard web permite acompanhar alvos ativos, eventos de exfiltração, status de beacons e indicadores operacionais em tempo real. ``` ## 🔒 安全与加固 ### 1. JWT 认证 为 Dashboard 和管理 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)) ``` ### Health Check 端点 ``` 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` | | Dashboard 无法加载 | 模板缺失 | 检查 `templates/dashboard/index.html` 是否存在 | | Agent 无法连接 | API Key 无效 | 确认 `config.toml` 中的 API Key 与 Agent 一致 | | Exfil 数据过大 | Payload 大小限制 | 在 `config.toml` 中增加 `max_payload_size` | ### 调试模式 ``` RUST_LOG=debug cargo run ``` ``` [logging] level = "debug" ``` ## 🗺️ 路线图 ### 第一阶段 (MVP) ✅ * 基于 Axum 的基本 HTTP 服务器 * `/exfil` 端点用于接收数据 * `/beacon` 端点用于心跳 * `/payload` 端点用于分发 Agent * SQLite 数据库存储 * 基本的 Web Dashboard ### 第二阶段(当前)🔄 * JWT 认证 * Discord/Telegram 通知 * 结构化日志 * 数据压缩 * 静态数据加密 ### 第三阶段(下一步)📅 * 操作员 CLI 界面 * 多租户支持 * Grafana 集成 * Payload 自动更新 * 支持 Linux/macOS * Exfil 自动分析 ### 第四阶段(未来)🚀 * WebSocket 双向通信 * Pivoting 和横向移动 * AI 规避技术 * 带世界地图的 Dashboard * 自动报告 ## 📞 支持与联系方式 关于授权实验室环境中的项目问题: * 技术文档:仓库中的 `/docs` * Issues:GitHub Issues,仅用于 Bug 反馈 * 内部聊天:红队 Matrix/Slack 频道 ## ⚠️ 免责声明 本项目仅用于教育目的和在授权环境中进行安全测试。 严禁将此软件用于任何未经授权的活动。开发者不对软件的滥用或由此造成的损害承担责任。 ## 📄 许可证 本项目基于 MIT 许可证授权。详情请参阅 `LICENSE` 文件。
标签:AI合规, C2框架, Discord通知, DNS 反向解析, HTTP工具, IP 地址批量处理, Rust编程, SQLite, Web仪表盘, Windows内核, 中高交互蜜罐, 可视化界面, 命令控制, 安全学习资源, 库, 应急响应, 异步编程, 恶意软件开发, 持久化控制, 攻击模拟, 数据渗出, 数据窃取, 数据采集, 白帽子, 网络安全, 计算机病毒, 请求拦截, 通知系统, 隐私保护, 隐蔽通信, 驱动签名利用