工具介绍
游魂是一个开源的Webshell管理器,提供更为方便的界面和更为简单易用的功能,可配合或代替其他webshell管理器,帮助用户在各类渗透场景中控制目标机器。
游魂不仅支持常见的一句话webshell以及常见Webshell管理器的功能,还支持添加冰蝎的webshell,以及将任何webshell提供给蚁剑进行连接的功能。通过使用游魂,用户可以使用蚁剑操控冰蝎webshell,在冰蝎webshell上使用蚁剑的各类插件,同时享受蚁剑的丰富生态以及冰蝎的流量加密和免杀特性。
游魂使用了B/S架构,用户可以将游魂架设在服务器上,通过本地浏览器进行连接,彻底移除了本地机器被感染的风险。
游魂自带上手即用RSA2048+AES256-CBC强加密,AES密钥在连接时生成并使用RSA加密传输,彻底阻止重放攻击和流量分析。
工具特点
同时支持PHP一句话webshell和冰蝎PHP webshell
流量防重放和流量强加密
TCP正向代理
异步上传下载文件
chunked transfer encoding分块发包
对接蚁剑
默认使用随机User Agent
HTTP填充垃圾数据
自定义encoder和decoder
支持导入部分蚁剑encoder和decoder
自定义主题和背景图片(?)
工具预览
工具功能
支持的webshell
PHP一句话
冰蝎PHP
webshell操作
异步文件上传下载
支持伪终端和普通的命令执行
命令执行
文件管理
PHP代码执行
TCP正向代理
查看基本信息
下载phpinfo
webshell编码
HTTP参数混淆
蚁剑类encoder和decoder
session暂存payload
防流量重放
RSA+AES加密
为什么不用蚁剑?
我自从学习渗透开始就一直在用蚁剑,蚁剑是一个非常优秀的webshell管理器,但是在我想要二开蚁剑的时候才发现蚁剑的架构存在一些问题,无法实现我想要的功能。具体来说:
蚁剑基于早已过时的Electron 4,其Chromium内核存在多个安全漏洞,存在被反制的风险。同时Electron 4的开发环境难以配置,给二开带来困难。
蚁剑的PHP webshell不支持GET参数传参,在CTF环境下较为不便
这里虽然可以在GET参数下指定eval另一个POST参数,但是有这时间填参数为什么不去直接拿flag?
蚁剑使用的Electron导致XSS漏洞极易被提升为RCE漏洞,导致攻击机被反制
蚁剑的encoder需要经过复杂配置之后才可支持AES和RSA加密
虽然蚁剑可以使用php_raw配合encoder连接冰蝎webshell,但蚁剑的插件生态仅支持php类型的webshell,无法在冰蝎webshell上使用各类插件
蚁剑的encoder生态和插件生态还是很丰富的,encoder可以通过让python调用nodejs直接使用,插件移植难度比较大,可以让游魂假装是一个webshell,接受蚁剑传来的代码就可以解决。
TODO
对接蚁剑、冰蝎、哥斯拉
[done] 导入冰蝎webshell
从哥斯拉的本地数据库导入哥斯拉webshell
从蚁剑的本地目录导入蚁剑webshell
从冰蝎的本地目录导入冰蝎webshell
[done] 以webshell形式对接蚁剑
i18n
改进文件管理的文件夹管理功能
支持冰蝎4.1的自定义类型webshell
批量测试webshell是否存活
数据库连接功能
写安装使用的文档,然后把文档分割为多个文件,存到
docs/
里让用户决定是否将AES密钥在session中持久化
加密(或者至少混淆的)反弹Shell
可以用类似TCP正向代理的思路搞
或者绑定本地端口等着目标连过来
一键生成webshell
[done] 下载phpinfo
[done] 显示机器信息
[done] 真正的正向代理和反向代理
PHP貌似很难支持绑定本地端口
[done] pyinstaller打包,给windows用户提供一个绿色的exe
项目地址
https://github.com/Marven11/EtherGhost
如侵权请联系,请立即删除。工具来源于网络,仅供研究学习。