工具介绍
游魂是一个开源的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
如侵权请联系,请立即删除。工具来源于网络,仅供研究学习。
原文始发于微信公众号(菜鸟学信安):开源的Webshell管理器--游魂
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论