SaadSaid158/C2-Framework

GitHub: SaadSaid158/C2-Framework

一个模块化的红队命令与控制框架,支持跨平台植入程序、多传输通道和丰富的后渗透功能。

Stars: 1 | Forks: 0

# Tempest — 后渗透攻击 C2 框架 一个模块化的红队命令与控制框架。跨平台 C 植入程序(Windows + Linux),配备 Go 团队服务器、多操作员 CLI、OTA 更新系统以及生产构建流水线。 ## 架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ Operator CLI (Go) │ │ Multi-operator auth · RBAC · attach / detach │ └────────────────────────┬────────────────────────────────────┘ │ ┌────────────────────────▼───────────────────────────────────┐ │ Teamserver (Go) │ │ ┌──────────┐ ┌────────┐ ┌───────┐ ┌───────┐ ┌─────────┐ │ │ │ HTTPS │ │ DNS │ │ TCP │ │ SMB │ │ Discord │ │ │ │ Listener │ │Listener│ │Listen.│ │/Pipe │ │ Bot/GW │ │ │ └────┬─────┘ └───┬────┘ └──┬────┘ └──┬────┘ └────┬────┘ │ │ └─────┬──────┴────┬────┴────┬────┘ │ │ │ ┌─────▼─────┐ ┌───▼───┐ ┌───▼──────┐ ┌──────▼────┐ │ │ │ Session │ │ Task │ │ Crypto │ │ OTA │ │ │ │ Manager │ │ Queue │ │ AES-256 │ │ Update │ │ │ └───────────┘ └───────┘ └──────────┘ └───────────┘ │ │ ┌───────────┐ ┌───────┐ ┌──────────┐ ┌───────────┐ │ │ │ Builder │ │ Event │ │ SOCKS5 │ │ Operator │ │ │ │ Engine │ │ Bus │ │ Proxy │ │ Auth/RBAC │ │ │ └───────────┘ └───────┘ └──────────┘ └───────────┘ │ └────────────────────────────────────────────────────────────┘ │ │ │ │ │ HTTPS/H2 DNS TXT Raw TCP Named Pipe Discord │ │ │ │ Webhook ┌───────────▼───────────▼──────────▼─────────▼──────────▼─────┐ │ Implant (C) │ │ │ │ ┌────────── Windows ───────────┐ ┌──────── Linux ────────┐ │ │ │ Hell's Gate / Halo's Gate │ │ Direct syscalls │ │ │ │ Indirect syscalls + SSN sort │ │ ptrace / memfd_create │ │ │ │ ETW / AMSI / ntdll unhook │ │ eBPF PID/port hiding │ │ │ │ Token steal / make / privs │ │ Cred harvest (SSH/FF) │ │ │ │ PE Reflective / CLR hosting │ │ ELF memfd exec │ │ │ │ BOF (COFF) loader │ │ Anti-forensics │ │ │ │ Process injection (6 types) │ │ Namespace escape │ │ │ │ SOCKS5 in-memory proxy │ │ Timestomp / log clear │ │ │ │ Keylogger (low-level hook) │ │ Self-shred on exit │ │ │ │ Registry / Schtask / Svc │ │ Cron / systemd / bash │ │ │ │ Credential harvesters (12+) │ │ Credential harvest │ │ │ │ OTA self-update + rollback │ │ OTA self-update │ │ │ └──────────────────────────────┘ └───────────────────────┘ │ │ │ │ ┌─────────── Shared ───────────────────────────────────┐ │ │ │ Transport: HTTPS · DNS · TCP · SMB/UDS · Discord │ │ │ │ Crypto: AES-256-CBC · PKCS7 · fresh IV per msg │ │ │ │ Modules: proc · file_ops · persist · shell · recon │ │ │ │ OPSEC: sandbox detect · jitter · kill date │ │ │ └──────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ## 功能 ### 团队服务器 - **多操作员** — 基于角色的访问控制(管理员 / 操作员 / 观察者),支持同时连接和断开 - **持续运行** — 服务器独立运行;操作员连接和断开不会中断会话 - **7 种传输监听器** — HTTPS、DNS、TCP、SMB 命名管道、UDS、Discord 机器人/网关 - **植入程序构建器** — 交互式向导,支持按功能开关配置,可仅生成配置或完整交叉编译 - **OTA 更新** — 向运行中的植入程序推送新版本,支持 SHA-256 验证、稳定性检查、自动回滚 - **SOCKS5 代理** — 通过植入程序会话进行内存中 pivoting - **会话标记** — 标记会话并通过标记批量执行任务(`task-all`) - **状态持久化** — 会话、监听器和配置自动保存(可选 AES 加密存储) - **事件总线** — 实时通知新会话、断连和任务结果 ### Windows 植入程序 - **免杀** — Hell's Gate + Halo's Gate 系统调用、间接系统调用、ntdll 解除挂钩、ETW/AMSI 修补、睡眠混淆、PE stomping、PPID 欺骗、DLL 阻止、CFG 绕过、禁用 Sysmon - **执行** — 内存中 .NET 程序集(CLR 托管)、BOF/COFF 加载器、进程注入(CreateRemoteThread、APC、Early Bird、NtCreateSection、线程劫持、进程挖空) - **凭证收集** — Chromium、Firefox、Discord、SSH、RDP、Vault、Outlook、FileZilla、Slack、Teams、WiFi 密码、LSASS 转储、SAM hive 导出、浏览器历史记录/cookie - **后渗透** — 截图、剪贴板、键盘记录器、壁纸、显示器、输入阻止、系统转储、启动项列表、已安装应用、驱动器、hosts 文件管理、关键进程标志、UAC 绕过 - **持久化** — 注册表 Run 键、计划任务、Windows 服务、自动持久化模式(复制 + Defender 排除 + schtask + 互斥体) - **网络** — SOCKS5 代理、端口扫描、运行时传输切换 - **OTA 更新** — 接收二进制 → BCrypt SHA-256 验证 → 备份 → 替换 → `CreateProcessW` 重启;失败时自动回滚 ### Linux 植入程序 - **免杀** — 清除 `LD_PRELOAD`、自删除、时间戳篡改、日志清除、基于 eBPF 的 PID/端口隐藏 - **执行** — `memfd_create` + `fexecve` 实现无文件执行、ptrace 注入 - **凭证收集** — SSH 密钥/known_hosts、Firefox 配置文件、`/etc/shadow` 访问 - **侦察** — 网络接口、连接、路由、已挂载文件系统、内核信息、容器检测 - **后渗透** — 进程枚举/终止/注入、文件搜索、下载全部、系统转储 - **持久化** — Cron 任务、systemd 单元、`.bashrc` 后门 - **反取证** — 时间戳篡改(`utimensat`)、日志清除、磁盘自粉碎 - **OTA 更新** — 接收二进制 → OpenSSL SHA-256 验证 → 备份 → 替换 → `execv()` 原子重启 ### 传输通道 | 通道 | 协议 | 用例 | 隐蔽性 | |-------------|-------------------|-----------------------------------|-----------| | HTTPS | HTTP/2 over TLS | 主要方式 — 融入 Web 流量 | ★★★★★ | | DNS | TXT 记录 | 备用方案 — 可穿透防火墙 | ★★★★☆ | | Raw TCP | 自定义二进制 | 实验室/测试 — 高吞吐 | ★★☆☆☆ | | SMB / Pipe | 命名管道 | 横向移动/内部 pivot | ★★★☆☆ | | UDS | Unix 域套接字 | 同主机 Linux 到 Linux | ★★★★☆ | | Discord | Webhook + 网关 | 完全隐蔽 — 无直接 C2 基础设施 | ★★★★★ | 所有通道共享相同的 AES-256-CBC 加密信封。传输方式可在构建时选择,也可通过 `transport` 命令在运行时切换。 ## 仓库结构 ``` framework/ ├── README.md ├── tempest.json # Default server config ├── scripts/ │ ├── build.sh # Development build (all components) │ ├── dist.sh # Production pipeline → /dist/ tree │ ├── ci_check.sh # CI lint checks │ └── obfuscate_strings.py # Compile-time string encryption │ ├── server/ # Go teamserver + operator CLI │ ├── go.mod / go.sum │ ├── cmd/server/main.go # Entry point (auth + CLI loop) │ └── pkg/ │ ├── builder/builder.go # Implant builder (config gen + cross-compile) │ ├── config/config.go # JSON config, operator accounts, RBAC │ ├── crypto/crypto.go # AES-256-CBC seal/unseal (matches C wire) │ ├── listeners/ # HTTPS, TCP, DNS, SMB/UDS, Discord listeners │ │ ├── listeners.go │ │ ├── discord.go │ │ ├── discord_bot.go │ │ └── discord_gateway.go │ ├── operator/ # Interactive readline CLI │ │ ├── operator.go # Main loop, dispatch, completer │ │ ├── cmd_sessions.go # Session mgmt + help text │ │ ├── cmd_listeners.go # Listener commands │ │ ├── cmd_tasks.go # All implant task commands + OTA │ │ └── cmd_admin.go # Builder wizard, aliases, local exec │ ├── sessions/sessions.go # Session manager, task queue, results │ ├── socks/socks.go # SOCKS5 proxy server │ ├── update/update.go # OTA update manager + stability checks │ └── version/version.go # Compile-time version metadata │ ├── implant/ │ ├── windows/ # Windows C implant │ │ ├── main.c # Entry point + sandbox checks │ │ └── src/ │ │ ├── core/ │ │ │ ├── common.h # Types, enums, wire protocol │ │ │ ├── config.h # Compile-time configuration │ │ │ ├── syscalls.c/h # Hell's Gate + Halo's Gate + SSN sort │ │ │ ├── crypto.c/h # BCrypt AES-256-CBC │ │ │ └── implant.c/h # Main loop + task dispatch + OPSEC init │ │ ├── transport/ │ │ │ ├── transport.c/h # Vtable dispatcher + transport_switch() │ │ │ ├── https.c # WinHTTP + HTTP/2 │ │ │ ├── dns.c # DnsQuery_W + base32 + TXT decode │ │ │ ├── tcp.c # Winsock2, length-prefixed │ │ │ ├── smb.c # Named pipes (client) │ │ │ └── discord.c # Webhook + polling │ │ └── modules/ │ │ ├── proc.c/h # Process list/kill/inject (6 techniques) │ │ ├── token.c/h # Enumerate/steal/make tokens, enable privs │ │ ├── file_ops.c/h # Dir list, read/write/delete │ │ ├── persist.c/h # Registry, schtasks, CreateService │ │ ├── evasion.c/h # Unhook, ETW, AMSI, UAC bypass │ │ ├── creds.c/h # 12+ credential harvesters │ │ ├── postex.c/h # Screenshot, clipboard, webcam, etc. │ │ ├── keylogger.c/h # Low-level keyboard hook │ │ ├── socks.c/h # In-memory SOCKS5 relay │ │ ├── execute_assembly.c/h # CLR hosting (.NET in-memory) │ │ ├── bof_loader.c/h # COFF object (BOF) execution │ │ └── ota_update.c/h # OTA self-update + rollback │ │ │ └── linux/ # Linux C implant │ ├── main.c # Entry + sandbox + main loop + dispatch │ └── src/ │ ├── core/ │ │ ├── common.h # POSIX types, shared wire protocol │ │ ├── config.h # Compile-time configuration │ │ └── crypto.c/h # OpenSSL EVP AES-256-CBC │ ├── transport/ │ │ ├── transport.c/h # Vtable dispatcher │ │ ├── https.c # libcurl + HTTP/2 │ │ ├── dns.c # libresolv + ns_parserr │ │ ├── tcp.c # POSIX sockets, length-prefixed │ │ ├── uds.c # Unix domain sockets (AF_UNIX) │ │ └── discord.c # Webhook + polling │ └── modules/ │ ├── proc.c/h # /proc enum, kill, ptrace injection │ ├── file_ops.c/h # POSIX directory/file operations │ ├── persist.c/h # Cron, systemd, .bashrc │ ├── evasion.c/h # LD_PRELOAD clear, self-delete, eBPF │ ├── recon.c/h # Network, mounts, kernel, containers │ ├── cred_harvest.c/h # SSH keys, Firefox, shadow │ ├── advanced.c/h # memfd_exec, eBPF, timestomp, shred │ └── ota_update.c/h # OTA self-update + rollback │ └── dist/ # Production build output (from dist.sh) ├── Implant/{Linux,Windows}/{arm64,amd64}/ ├── Server/{Linux,Windows}/{arm64,amd64}/ └── SHA256SUMS.txt ``` ## 通信协议 所有传输共享单一二进制信封: ``` ┌────────────┬───────────────────────────────────────────────┬──────────────────────────┐ │ IV (16 B) │ WireEnvelope (24 B) │ AES-256-CBC payload │ │ │ magic (4) | sessionID (16) | payloadLen (4) │ [TaskHeader...][data...] │ └────────────┴───────────────────────────────────────────────┴──────────────────────────┘ ``` - **魔术头**:`0xDEADC2FF` - **任务头**:`taskID (4) | commandID (4) | dataLen (4)` — 每个信封可打包多个任务 - **加密**:AES-256-CBC 配合 PKCS7 填充,每条消息使用新的随机 IV - **OTA 协议格式**:`[totalLen LE32][sha256 32B][binary data]` ## 构建 ### 快速构建(开发环境) ``` # From WSL or Linux — builds all components to /build bash scripts/build.sh # Single component bash scripts/build.sh --component linux bash scripts/build.sh --component windows bash scripts/build.sh --component server bash scripts/build.sh --debug # Debug symbols + DEBUG define ``` ### 生产分发流水线 ``` # From Windows (WSL2) wsl -d Ubuntu -- bash scripts/dist.sh # With version tag wsl -d Ubuntu -- bash scripts/dist.sh --version 1.0.0 # Debug build wsl -d Ubuntu -- bash scripts/dist.sh --debug ``` `dist.sh` 流水线: 1. **自动安装** 所有必需工具(`build-essential`、`mingw-w64`、`aarch64-linux-gnu-gcc`、`llvm-mingw`、`libssl-dev`、`libcurl4-openssl-dev`、Go 1.22) 2. **交叉编译** 8 个二进制文件:4 个植入程序目标 × {Linux,Windows} × {amd64,arm64} + 4 个服务器目标 3. **标记** 所有二进制文件版本、git 提交和构建日期,通过 `-ldflags -X`(Go)和 `-DTEMPEST_VERSION`(C) 4. **生成** `SHA256SUMS.txt`,包含所有输出文件的校验和 输出结构: ``` dist/ ├── Implant/ │ ├── Linux/ │ │ ├── arm64/tempest_linux_arm64 │ │ └── amd64/tempest_linux_amd64 │ └── Windows/ │ ├── arm64/tempest_win_arm64.exe │ └── amd64/tempest_win_amd64.exe ├── Server/ │ ├── Linux/ │ │ ├── arm64/tempest_server_linux_arm64 │ │ └── amd64/tempest_server_linux_amd64 │ └── Windows/ │ ├── arm64/tempest_server_windows_arm64.exe │ └── amd64/tempest_server_windows_amd64.exe └── SHA256SUMS.txt ``` ### 仅构建团队服务器(Go) ``` cd server go build -o tempest-server ./cmd/server ``` ### 从 CLI 构建 操作员 CLI 包含完整的交互式构建器: ``` tempest> build --- Implant Builder ------------------------------------------------ Target OS (windows/linux) [windows]: Architecture (x64/arm64) [x64]: Output format (exe/shellcode) [exe]: ... --- Feature Toggles (all ON by default, enter 'n' to disable) ------ File Operations (upload/download/delete) [Y]: Process Ops (ps/kill/inject) [Y]: Token Ops (steal/make/priv) [Y]: ... Debug build? [n]: Mode: (c)onfig-only or (b)uild [c]: b [+] Build successful! ``` ## 快速开始 1. **构建所有组件:** wsl -d Ubuntu -- bash scripts/dist.sh --version 1.0.0 2. **启动服务器:** ./dist/Server/Linux/amd64/tempest_server_linux_amd64 # 或在 Windows 上: .\dist\Server\Windows\amd64\tempest_server_windows_amd64.exe 3. **身份验证**(默认:`admin` / `tempest` — 立即修改): Username: admin Password: tempest [+] 已以 admin 身份认证(角色:管理员) 4. **创建监听器:** tempest> lc https 0.0.0.0:443 --cert certs/server.crt --key certs/server.key [+] 监听器 'https-443' 已启动于 0.0.0.0:443 tempest> listener-save 5. **构建植入程序:** tempest> build windows 6. **部署** 植入程序到目标并等待回调。 7. **交互:** tempest> sessions tempest> use tempest(TARGET)> sysinfo tempest(TARGET)> whoami ## 操作员 CLI — 完整命令参考 ### 核心命令 | 命令 | 描述 | |---------|-------------| | `sessions` / `ls` | 列出所有会话 | | `use ` / `interact ` | 选择会话 | | `back` | 取消选择当前会话 | | `info` | 详细会话信息(操作系统、PID、用户、传输、通道) | | `channels` | 显示会话的传输通道 | | `note [text]` | 获取/设置会话备注 | | `kill [id]` | 向植入程序发送退出命令 | | `remove ` | 从列表中移除已死亡会话 | | `results [task_id]` | 显示任务结果 | | `clear-results` | 清除存储的结果 | | `detach` | 断开 CLI(服务器继续运行) | | `exit` / `quit` | 关闭服务器(仅管理员) | ### 监听器 | 命令 | 描述 | |---------|-------------| | `listeners` | 列出活动监听器 + 连接数 | | `listener-create` / `lc` | 创建器(向导或内联) | | `listener-stop ` | 停止并移除监听器 | | `listener-save [file]` | 保存监听器配置以实现自动启动 | | `listener-info ` | 详细监听器指标和健康状态 | ### 执行 | 命令 | 描述 | |---------|-------------| | `shell ` | 在目标上执行 shell 命令 | | `ps` | 列出运行中的进程 | | `pskill ` | 按 PID 终止进程 | | `inject ` | 向进程注入 shellcode | | `execute-assembly [args]` | 内存中 .NET 程序集(CLR 托管) | | `bof-exec [args]` | 执行 Beacon Object File(COFF .o) | | `memfd-exec ` | Linux 无文件执行通过 memfd | ### 侦察与数据 | 命令 | 描述 | |---------|-------------| | `sysinfo` | 系统信息 | | `whoami` | 当前用户 + 权限 | | `screenshot` | 捕获截图(Windows) | | `clipboard` | 获取剪贴板文本(Windows) | | `webcam` | 捕获摄像头图像(Windows) | | `env` | 列出环境变量 | | `ipconfig` | 网络适配器配置 | | `netstat` | 活动的网络连接 | | `arp` | ARP 表 | | `reg-query ` | 查询注册表项(Windows) | | `system-dump` | 深度系统信息(杀软、域等) | | `startup-list` | 启动程序(Windows) | | `installed-apps` | 已安装应用程序(Windows) | | `drives` | 枚举磁盘驱动器(Windows) | ### 文件操作 | 命令 | 描述 | |---------|-------------| | `pwd` | 打印当前工作目录 | | `cd ` | 更改工作目录 | | `ls-files [path]` / `dir` | 列出目录内容 | | `download ` / `cat` | 下载/读取文件 | | `upload ` | 上传文件到目标 | | `delete ` | 删除目标上的文件 | | `download-all ` | 搜索并下载所有匹配文件 | | `file-search ` | 递归文件搜索 | ### 凭证收集 | 命令 | 描述 | |---------|-------------| | `cred-chromium` | Chrome、Edge、Brave 凭证 | | `cred-firefox` | Firefox 凭证和 cookie | | `cred-discord` | 所有客户端的 Discord 令牌 | | `cred-ssh` | SSH 私钥和 known_hosts | | `cred-rdp` | 保存的 RDP 凭证 | | `cred-vault` | Windows 凭据保管库 | | `cred-outlook` | Outlook/MAPI 凭证 | | `cred-filezilla` | FileZilla 保存的凭证 | | `cred-slack` | Slack 令牌和工作区数据 | | `cred-teams` | Microsoft Teams 令牌 | | `cred-all` | 同时运行所有收集器 | | `lsass-dump` | 转储 LSASS 内存(需要 SYSTEM) | | `sam-dump` | 导出 SAM/SYSTEM/SECURITY hive | | `wifi-passwords` | 保存的 WiFi 密码 | | `browser-harvest` | 浏览器历史/密码/cookie | | `discord-tokens` | Discord 令牌 | ### 键盘记录器(Windows) | 命令 | 描述 | |---------|-------------| | `keylog-start [seconds]` | 启动键盘记录器(0 = 无限) | | `keylog-stop` | 停止并获取按键记录 | | `keylog-dump` | 转储缓冲区(保持运行) | ### 令牌操作(Windows) | 命令 | 描述 | |---------|-------------| | `tokens` | 列出可访问的令牌 | | `steal-token ` | 从进程窃取令牌 | | `make-token ` | 使用凭证创建令牌 | | `enable-priv ` | 启用令牌权限 | ### 持久化 | 命令 | 描述 | |---------|-------------| | `persist-reg [hklm]` | 注册表 Run 键(Windows) | | `persist-schtask ` | 计划任务(Windows) | | `persist-service ` | Windows 服务 | | `persist-cron [schedule]` | Cron 任务(Linux) | | `persist-systemd [user]` | Systemd 服务(Linux) | | `persist-bashrc ` | .bashrc 后门(Linux) | ### 免杀(Windows) | 命令 | 描述 | |---------|-------------| | `unhook` | 解除 ntdll 用户态钩子 | | `patch-etw` | 修补 EtwEventWrite | | `patch-amsi` | 修补 AmsiScanBuffer | | `uac-bypass [path]` | UAC 绕过 → SYSTEM | | `disable-defender` | 禁用 Windows Defender | | `disable-firewall` | 禁用防火墙 | ### 反取证(Linux) | 命令 | 描述 | |---------|-------------| | `timestomp ` | 从参考文件复制时间戳 | | `clear-logs` | 清除系统日志 | | `shred-self` | 安全删除植入程序二进制 | | `ebpf-hide-pid ` | 通过 eBPF 隐藏进程 | | `ebpf-hide-port ` | 通过 eBPF 隐藏网络端口 | | `ebpf-cleanup` | 移除 eBPF 程序 | | `ebpf-status` | 显示 eBPF 隐藏状态 | ### 破坏性 | 命令 | 描述 | |---------|-------------| | `bsod` | 通过 NtRaiseHardError 触发蓝屏(Windows) | | `fork-bomb` | 指数级进程生成 ⚠️ | | `critical-proc [enable\|disable]` | 将进程标记为关键进程(Windows) | ### 后渗透(Windows) | 命令 | 描述 | |---------|-------------| | `monitors [on\|off]` | 打开/关闭显示器 | | `block-sites ` | 通过 hosts 文件阻止网站 | | `unblock-sites ` | 移除网站阻止 | | `list-sites` | 显示 hosts 文件 | | `block-input [on\|off]` | 阻止/解除阻止鼠标和键盘 | | `wallpaper ` | 更改桌面壁纸 | | `hosts-file [list\|block\|unblock]` | 管理 hosts 文件 | ### 网络 | 命令 | 描述 | |---------|-------------| | `socks [start\|stop\|status]` | 通过会话的 SOCKS5 代理 | | `portscan ` | TCP 连接扫描 | ### OTA 更新(管理员) | 命令 | 描述 | |---------|-------------| | `update-push ` | 推送新二进制(分阶段 + SHA-256 验证) | | `update-apply` | 应用更新:备份 → 替换 → 重启 | | `update-status` | 查询植入程序的更新状态 | ### 配置 | 命令 | 描述 | |---------|-------------| | `sleep [jitter%]` | 更改回调间隔 | | `transport ` | 切换传输方式(https/tcp/dns/smb/discord) | | `show-key` | 显示 AES-256 密钥 | | `save-config [path]` | 保存服务器配置 | | `build [os]` | 交互式植入程序构建器 | ### 标记与批量操作 | 命令 | 描述 | |---------|-------------| | `tag ` | 标记活动会话 | | `untag ` | 移除标记 | | `tags` | 显示所有会话的标记 | | `task-all ` | 向所有带有标记的会话排队命令 | ### 操作员管理 | 命令 | 描述 | |---------|-------------| | `add-operator ` | 创建操作员账户(管理员) | | `remove-operator >` | 移除操作员账户(管理员) | | `list-operators` | 列出所有操作员(管理员) | | `operator-passwd` | 更改您的密码 | | `whoami-server` | 显示当前操作员和角色 | ### 别名与本地 | 命令 | 描述 | |---------|-------------| | `alias ` | 定义命令别名 | | `unalias ` | 移除别名 | | `aliases` | 列出所有别名 | | `exec-local ` / `! ` | 在操作员机器上运行命令 | ## OTA 更新流程 ``` Operator Server Implant │ │ │ │ update-push │ │ │ ─────────────────────────> │ │ │ │ CMD_UPDATE_PUSH │ │ │ [size][sha256][binary] │ │ │ ─────────────────────────> │ │ │ │ verify SHA-256 │ │ │ stage in memory │ │ "staged OK" │ │ │ <───────────────────────── │ │ │ │ │ update-apply │ │ │ ─────────────────────────> │ │ │ │ CMD_UPDATE_APPLY │ │ │ ─────────────────────────> │ │ │ │ backup current binary │ │ │ write new binary │ │ │ restart (execv / CreateProcess) │ │ │ │ │ [new session check-in] │ │ │ <───────────────────────── │ │ │ │ │ │ stability check (30s loop) │ │ │ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─> │ │ │ session alive? → SUCCESS │ │ │ no check-in? → FAILED │ ``` 失败时,植入程序的回滚路径会自动恢复备份二进制文件。 ## 安全注意事项 - 默认凭据为 `admin` / `tempest` — **立即通过** `operator-passwd` 修改 - AES-256 密钥在首次运行时自动生成并保存在 `tempest.json` 中 - 所有植入程序↔服务器流量均使用 AES-256-CBC 加密,每条消息使用新的 IV - 状态文件(会话、监听器)可加密存储(配置中设置 `encrypt_state_files: true`) - 终止日期支持:植入程序在配置日期后自动终止 - 工作时间执行:植入程序仅在工作时间联系 ## 免责声明 此工具仅用于**授权的安全测试和研究**。仅可在您拥有或已获得明确书面授权测试的系统上使用。未经授权访问计算机系统是违法行为。
标签:Bing搜索, C2框架, Conpot, C语言编程, Discord Bot, DNS隧道, Docker镜像, Go语言, HTTPS隧道, HTTP工具, Implant, IP 地址批量处理, OTA更新, PE 加载器, RBAC权限控制, SMB管道, TCP通信, Teamserver, Windows安全, 会话管理, 加密通信, 命令与控制, 多operator, 安全学习资源, 安全测试工具, 客户端加密, 恶意软件框架, 无线安全, 日志审计, 渗透测试框架, 生产构建, 程序破解, 端点可见性, 红队基础设施, 跨平台安全, 防御, 隐蔽通信