Skip to content

Python3 Based gopherus, completely refactored and added more feature.

License

Notifications You must be signed in to change notification settings

Esonhugh/Gopherus3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gopherus

If you know a place which is SSRF vulnerable then, this tool will help you to generate Gopher payload for exploiting SSRF (Server Side Request Forgery) and gaining RCE (Remote Code Execution). And also it will help you to get the Reverse shell on the victim server. And for more information you can get a blog on the same Blog on Gopherus

Installation

From Esonhugh

this repo can easily install via pipx

pipx install git+https://github.com/Esonhugh/Gopherus3.git

Note :

From Antabuse-does-something

This repo is a fork from the Original Tool but I have updated the code from python2 to python3 (because python2 is dead) and added a new feature to select the port for the reverse shell(Redis).

Esonhugh

This repo is a fork merged Antabuse-does-something's changes and completelt refactor the code to make it more readable and maintainable.

Enhanced cli terminal experience with the use of argparse and added other exploit as modules.

About

This tool can generate payload for following:

  1. MySQL (Port-3306)
  2. PostgreSQL(Port-5432)
  3. FastCGI (Port-9000)
  4. Memcached (Port-11211)
    • If stored data is getting De-serialized by:
      • Python
      • Ruby
      • PHP
  5. Redis (Port-6379)
  6. Zabbix (Port-10050)
  7. SMTP (Port-25)

Usage

Command Description
gopherus --help Help
gopherus --exploit Arguments can be :
--exploit mysql -h
--exploit postgresql -h
--exploit fastcgi -h
--exploit redis -h
--exploit zabbix -h
--exploit pymemcache -h
--exploit rbmemcache -h
--exploit phpmemcache -h
--exploit dmpmemcache -h
--exploit smtp -h

Examples

  • MySQL: If the user is not protected with password you can dump his database and also you can put malicious files in his system.
gopherus --exploit mysql

      It only asks username of the MySQL user and it will provide you gopher link.

  • PostgreSQL: If the user is not protected with password you can dump his database and also you can put malicious files in his system.
gopherus --exploit postgresql

      It only asks username of the Postgres user and database name then it will provide you gopher link.

  • FastCGI: If port 9000 is open with no security then you can get RCE.
gopherus --exploit fastcgi

      It only asks for a file which must be present in the victim system(preferable .php file), BTW we have default one.

  • Redis: If redis port is open then we can overwrite the file in the system which is too dangerous.
    So here is two things you can get:
    a. Reverse Shell
    b. PHP Shell
gopherus --exploit redis
  • Zabbix: If port 10050 is open and EnableRemoteCommands = 1 then you can run shell commands on the victim system.
gopherus --exploit zabbix
  • Memcached: It is used for mainly storing serialized data, but when it comes to De-serialize these data then known vulnerability such as PHP De-serialization issue, Python-Pickle De-serialization issue, Ruby-Marshal De-serialization issue comes into picture which can lead to RCE.
    So for each of them I created different scripts and also one script for dumping Memcached content:
gopherus --exploit pymemcache
gopherus --exploit rbmemcache
gopherus --exploit phpmemcache
gopherus --exploit dmpmemcache
  • SMTP: If port 25 is open and we can access it then, we can send message to anyone as victim user, So this tool will generate gopher payload for sending mail.
gopherus --exploit smtp

Screenshots

image image image image image

Author

Tarunkant Gupta (SpyD3r)

Antabuse-does-something

Esonhugh

Reference

About

Python3 Based gopherus, completely refactored and added more feature.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages