如果您知道某个地方存在 SSRF 漏洞,那么此工具将帮助您生成 Gopher 有效负载,以利用 SSRF(服务器端请求伪造)并获得 RCE(远程代码执行)。此外,它还将帮助您在受害服务器上获取反向 shell。有关更多信息,您可以在Gopherus 上的同一个博客上找到一篇博客
安装
来自Esonhugh
这个 repo 可以通过 pipx 轻松安装
pipx install git+https://github.com/Esonhugh/Gopherus3.git
笔记 :
这个 repo 是从原始工具分叉出来的,但我已将代码从 python2 更新到 python3(因为 python2 已死),并添加了一个新功能来选择反向 shell(Redis)的端口。
埃森休
这个 repo 是一个合并了 Antabuse-does-something 更改的 fork,并完全重构了代码以使其更具可读性和可维护性。
通过使用 argparse 增强了 cli 终端体验并添加了其他漏洞作为模块。
关于
该工具可以为以下对象生成payload:
- MySQL(端口 3306)
- PostgreSQL(端口-5432)
- FastCGI(端口 9000)
- Memcached(端口 11211)
- 如果存储的数据通过以下方式进行反序列化:
- Python
- 红宝石
- PHP
- 如果存储的数据通过以下方式进行反序列化:
- Redis(端口-6379)
- Zabbix(端口 10050)
- SMTP(端口 25)
用法
命令 | 描述 |
---|---|
gopherus–帮助 | 帮助 |
gopherus–exploit 工具 | 参数可以是: |
–exploit mysql -h | |
–exploit postgresql -h | |
–exploit fastcgi -h | |
–exploit redis-h | |
–exploit zabbix-h | |
–exploit pymemcache -h | |
–利用rbmemcache -h | |
–利用 phpmemcache -h | |
–利用dmpmemcache -h | |
–利用 smtp -h |
示例
- MySQL:如果用户没有密码保护,您可以转储他的数据库,也可以在他的系统中放置恶意文件。
gopherus --exploit mysql
它仅询问 MySQL 用户的用户名,然后就会为您提供 gopher 链接。
- PostgreSQL:如果用户没有密码保护,您可以转储他的数据库,也可以在他的系统中放置恶意文件。
gopherus --exploit postgresql
它只询问 Postgres 用户的用户名和数据库名称,然后就会为您提供 gopher 链接。
- FastCGI:如果端口 9000 开放且没有安全性,那么您就可以获得 RCE。
gopherus --exploit fastcgi
它仅要求受害者系统中必须存在的文件(最好是 .php 文件),顺便说一下,我们有一个默认文件。
- Redis: 如果 redis 端口开放,那么我们可以覆盖系统中的文件,这太危险了。
所以你可以得到两样东西:
a. 反向 Shell
b. PHP Shell
gopherus --exploit redis
- Zabbix:如果端口 10050 开放,
EnableRemoteCommands = 1
那么您就可以在受害系统上运行 shell 命令。
gopherus --exploit zabbix
- Memcached:主要用于存储序列化数据,但当需要对这些数据进行反序列化时,就会出现已知漏洞,如 PHP 反序列化问题、Python-Pickle 反序列化问题、Ruby-Marshal 反序列化问题,这些漏洞可能会导致 RCE。
因此,我为它们分别创建了不同的脚本,还创建了一个用于转储 Memcached 内容的脚本:
gopherus --exploit pymemcache
gopherus --exploit rbmemcache
gopherus --exploit phpmemcache
gopherus --exploit dmpmemcache
- SMTP:如果端口 25 开放并且我们可以访问它,那么我们就可以作为受害者用户向任何人发送消息,因此此工具将生成 gopher 有效负载以发送邮件。
gopherus --exploit smtp
截图





国内下载链接
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END