This project implements a multi-client reverse shell using Python, allowing a server to manage multiple client connections, list clients, and execute PowerShell commands on them.
- Handle multiple reverse shell connections.
- List connected clients with IP and username.
- Select a client to interact with.
- Execute commands remotely via PowerShell.
- Python 3.x on both server and client.
- Open port on the server for incoming connections.
-
Edit server IP and port in
server.py:server_ip = "localhost" server_port = 4444
-
Run the server:
python server.py
-
Edit server IP and port in
client.py:server_ip = "localhost" server_port = 4444
-
Run the client:
python client.py
list: List connected clients with IP and username.details <index>: Show details of a specific client.select <index>: Select a client to send commands.exit: Exit the shell or stop interacting with a client.
ServerShell> list
[0] IP: 192.168.1.10, Username: user1
[1] IP: 192.168.1.12, Username: user2
ServerShell> select 0
Shell(192.168.1.10)> dir