Vous venez d’obtenir l’accès à une machine via un RCE. Magnifique!!!! pour autant tout ne l’est pas.
En effet, de nombreuses commandes ne fonctionnent pas ou pire encore vous font perdre l’accès au système victime.
Il m’est arrivé très souvent de faire par accident crtl +c et de voir le shell se ferme… Et d’avoir à recommencer les manipulations pour retourner sur la victime.
mettre une photo
Il faut savoir que les commandes suivantes ne fonctionnent pas :
- su
- mysql ( connexion à une db )
- pas de complétion
- pas de touches flèches ( haut, bas, droite, gauche )
- pas d’utilisation de Vim correcte
- pas de STDERR
Méthode pour l'upgrader
Tout d’abord je vous conseille de recherche quelles versions sont installées sur le système.
Commande :
whereis python
Ensuite il faut exécuter python -c ‘import pty; pty.spawn(« /bin/bash »)’ selon la version de python trouvé avec la première commande
Commande :
python3 -c 'import pty; pty.spawn("/bin/bash")'
Le shell est en partie amélioré mais on peut encore faire mieux. On va passer le shell en arrière-plan.
Commande :
ctrl + z
Maintenant que le reverse_shell est en arrière-plan, et que l’on est revenu sur le shell de notre système. Nous allons faire cette commande :
stty raw -echo
Aucune réaction ou message. C’est normal. Ensuite, nous allons rappeler notre shell en premier plan.
Commande :
fg
La commande est effectuée à l’aveugle. Elle ne s’affiche pas sur le terminal. En validant par entrée, on se retrouve avec un prompt un tronqué. Il ne fait pas en tenir compte.
Il faut simplement taper
reset
Enfin, une dernière commande est nécessaire :
xterm
Voilà, c’est terminé. Le shell est interactif à souhait. Vous pouvez faire toutes les commandes que vous souhaitez, et même le redouté ctrl + c.
Pour sortir du shell, il faut maintenant faire exit.
Et après
Eh ben, il n’y a plus qu’a rooté la machine…
Blague à part, il est encore possible d’aller plus loin dans l’amélioration du shell. Mise à part dans certains cas, comme pour tumx, les commandes suivantes ne sont pas obligatoires.
Modifier le PATH pour bash s’il est manquant :
export SHELL=bash
Pour afficher le shell avec plus de couleur :
export TERM=xterm256-color
Changer la taille du shell :
stty rows columns