Shell Upgrade
TTY Fixes & Stabilisierung
Viele Reverse Shells (z. B. über Bash, PHP oder Netcat) starten nur in einer minimalen Umgebung: keine History, keine Pfeiltasten, kein Ctrl+C. Diese Shells sind nicht interaktiv. Ziel eines Shell Upgrades ist es, eine vollwertige TTY-Umgebung nachzubilden.
Ziel des Shell Upgrades
Interaktive Eingabe mit History und Zeilenbearbeitung
Verwendung von
su
,nano
,passwd
und anderen interaktiven ProgrammenSauberes Verhalten von Steuerzeichen (z. B. Ctrl+C)
Grundlegender Upgrade-Prozess (TTY via Python)
Nach Verbindungsaufbau:
python3 -c 'import pty; pty.spawn("/bin/bash")'
Alternativen:
python -c 'import pty; pty.spawn("/bin/sh")'
Wenn weder python3
noch python
verfügbar:
/usr/bin/python3 -c 'import pty; pty.spawn("/bin/bash")'
Hinweis: Ersetze /bin/bash
durch die vorhandene Shell (z. B. /bin/sh
)
Steuerung über stty
und fg
stty
und fg
Nach dem pty-Spawn:
[CTRL + Z] – bringt die Shell in den Hintergrund
Auf Angreifer-System:
stty raw -echo
Zurück in die Shell:
fg
In der Shell (falls nötig):
reset
export TERM=xterm
export SHELL=bash
stty rows 40 columns 120
Alternative Methode mit script
script
Wenn Python fehlt:
bashKopierenBearbeitenscript /dev/null -c bash
Warum? Das script
-Kommando startet eine interaktive Sitzung mit Pseudoterminal (PTY), auch ohne Python.
Nützliche Umgebungsvariablen
export TERM=xterm
export SHELL=bash
stty rows 40 columns 120
Verbessert Kompatibilität mit Tools wie
nano
,top
,less
Stellt korrekte Fenstergröße sicher
Hinweise je nach Shell-Typ
Bash
Ja
python pty.spawn
, script
Python
Ja
nur stty
, ggf. kein Upgrade nötig
PHP
Ja
Nachladen von python
oder script
nötig
Perl
Ja
Selten, aber mit exec
kombinierbar
Netcat (ohne Bash)
Eingeschränkt
Nur über /bin/sh
oder manuelle Fixes
Last updated