Skip to content

r3nt0n/multicat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPL-3.0 License Python 3 Version 0.1.1

multicat

Multithread reverse shell listener

Use cases

Sometimes you have to spread the same payload to multiple targets and don't know how many clients will try to connect back. Multicat setup a listener capable of handling multiple connections on the same port and interact with each client on a separate session. The server is client agnostic: compatible with any reverse shell that would work with a netcat listener.

(back to top)

Installation

pip install multicat

Usage

To start listening on the port of your choice:

mc -p 1234

Arguments

Usage: mc [-h] [-p] [-m] [-t]

-h, --help           show this help message and exit
-p , --port          port to listen (default: 28000)
-m , --max-clients   max number of new clients to queue before establish connection (default: 5)
-t , --timeout       connections timeout (default: 10)

Commands

Available commands in general menu context:

COMMAND         DESCRIPTION
------------------------------------
HELP            List available commands
SESSIONS        List established sessions
START <id>      Interact with a client
CLOSE <id>      Close an specific connection
EXIT / QUIT     Exit the entire application

Available commands in session context:

COMMAND         DESCRIPTION
------------------------------------
STOP            Stop interacting with the current session
CLOSE           Close the current connection

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the GNU General Public License v3.0. See LICENSE for more information.

(back to top)

Legal disclaimer

This tool is created for the sole purpose of security awareness and education, it should not be used against systems that you do not have permission to test/attack. The author is not responsible for misuse or for any damage that you may cause. You agree that you use this software at your own risk.

(back to top)