Full TTYs
Vollständige TTY
Beachten Sie, dass die Shell, die Sie in der SHELL
-Variable festlegen, muss in der Datei /etc/shells aufgeführt sein oder Der Wert für die SHELL-Variable wurde in der Datei /etc/shells nicht gefunden. Dieser Vorfall wurde gemeldet
. Beachten Sie auch, dass die folgenden Code-Schnipsel nur in bash funktionieren. Wenn Sie sich in einer zsh befinden, wechseln Sie vor dem Abrufen der Shell mit bash
zu einer bash.
Python
Sie können die Anzahl der Zeilen und Spalten mit dem Befehl stty -a
abrufen.
Skript
socat
Spawnen von Shells
python -c 'import pty; pty.spawn("/bin/sh")'
echo os.system('/bin/bash')
/bin/sh -i
script -qc /bin/bash /dev/null
perl -e 'exec "/bin/sh";'
perl:
exec "/bin/sh";
ruby:
exec "/bin/sh"
lua:
os.execute('/bin/sh')
IRB:
exec "/bin/sh"
vi:
:!bash
vi:
:set shell=/bin/bash:shell
nmap:
!sh
ReverseSSH
Eine praktische Möglichkeit für interaktiven Shell-Zugriff, sowie Dateiübertragungen und Port-Weiterleitungen, besteht darin, den statisch verlinkten SSH-Server ReverseSSH auf das Zielgerät zu übertragen.
Im Folgenden finden Sie ein Beispiel für x86
mit upx-komprimierten Binärdateien. Für andere Binärdateien überprüfen Sie die Releases-Seite.
Bereiten Sie lokal vor, um die SSH-Port-Weiterleitungsanfrage zu empfangen:
(2a) Linux Ziel:
(2b) Windows 10 Ziel (für frühere Versionen, siehe Projekt-Readme):
Wenn die ReverseSSH-Portweiterleitung erfolgreich war, sollten Sie sich jetzt mit dem Standardpasswort
letmeinbrudipls
im Kontext des Benutzers, derreverse-ssh(.exe)
ausführt, anmelden können:
Kein TTY
Wenn aus irgendeinem Grund kein vollständiger TTY verfügbar ist, können Sie dennoch mit Programmen interagieren, die Benutzereingaben erwarten. Im folgenden Beispiel wird das Passwort an sudo
übergeben, um eine Datei zu lesen:
Last updated