在开发 EgoDrop 和 DuplexSpy 的过程中,我成功地在基于 C# 的 GUI 应用程序中实现了一个交互式 shell。随后,我想起了早期因开发经验有限而暂停的一个项目。因此,我决定重新审视并完成它。
这个项目的想法源于我学习 Web 渗透测试的时候。
当发现一个 RCE(远程命令/代码执行)漏洞时,我们通常会用简单的 Linux 命令(例如 id、whoami、ls、cat /etc/passwd)来演示,然后往往就此结束。然而,如果我们希望进行进一步的后渗透利用——例如进入内网进行横向移动——我们可能会依赖诸如 metasploit、nc 或 openssl 等反向 shell 工具。虽然它们功能强大且应用广泛,但在实际的渗透测试场景中仍存在一定的局限性。
因此,我决定开发一个基于 GUI 的远程访问工具,可以在获得 RCE 后使用,建立一个带有交互式 shell 和文件管理器的健壮且安全的信道。
由于时间、资源和经验有限,完全靠自己开发和维护这个工具颇具挑战。因此,该项目可能仍包含未发现的缺陷或设计问题。如果你在使用中遇到任何问题,欢迎提交 issue。
如果你觉得这个工具有用或有所启发,一个星标 ⭐ 将不胜感激。你的支持将是我继续改进此工具的巨大动力。
Eden-RAT 是一个轻量级的远程访问工具(RAT),专为渗透测试的初始阶段设计。
它提供了针对 Linux 系统的图形用户界面(GUI),包含文件管理器和交互式 shell 等多种功能。
交互式 shell 支持完整的命令执行,允许用户运行诸如 ssh、nc、apt、pip install、vim 以及其他交互式程序。
Eden-RAT 支持使用 AES/RSA 混合加密或 TLS 进行加密通信。
AES 纯实现改编自:
https://github.com/bozhu/AES-Python
一旦 payload 成功连接到 Eden 服务器,它会动态加载由服务器传递的额外模块。这些模块通过 exec() 执行,其实例将注册在一个基于字典的内部类注册表中。
整体架构如下图所示:
本项目纯粹出于网络安全研究和教育目的而开发。
严禁用于非法或未经授权的活动。
作者不对因使用本软件而造成的任何误用或损害承担责任。
在启动 C2 服务器之前,你需要安装 pycryptodome:
pip3 install pycryptodome
安装包之后,你必须生成 SSL 私钥和证书:
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes
确保文件名完全为:
key.pemcert.pem最后,启动 C2 服务器:
python3 eden_server.py -lvvp 4444
Eden-Server 正在运行。