Tryhackme CTF Write-Up : Mr Robot CTF
Dans ce write-up, nous verrons comment compléter Mr Robot CTF de TryHackMe, Un challenge CTF de niveau débutant/intermédiaire qui requiert plusieurs techniques : Webpentest, elevation de privilège
Last updated
Dans ce write-up, nous verrons comment compléter Mr Robot CTF de TryHackMe, Un challenge CTF de niveau débutant/intermédiaire qui requiert plusieurs techniques : Webpentest, elevation de privilège
Last updated
Enumération
Commençons par un scan Nmap pour voir les ports ouverts puis un second sur ceux ouverts pour voir les services qui tournent dessus ainsi que le script par défaut de nmap sur ces ports
Dans ce scan nous trouvons que deux ports sont ouverts :
80 : serveur Apache httpd
443 : le même serveur httpd
Enumeration de dossiers :
L'énumération de dossiers nous montreras plusieurs fichiers et indices intéressants, nous attaquons un CMS wordpress
dans le dossier robots
nous y retrouvons :
un dictionnaire fsocity.dic
et la première clé key-1-of-3.txt
Nous trouvons aussi un dossier /license et à la toute fin de celui-ci quelque chose d'encodé en base64
Après décodage, nous trouvons les creds du WordPress
Nous pouvons alors passer à la mise en place d'un reverse-shell :
Rendons nous dans "Apparance" puis editor, choisissons la template "Archive.php" et remplaçons celle ci par un reverse-shell.php de pentestmonkey, en veillant à bien mettre l'ip tryhackme et le port sur écoute avec nc
Après édition il ne nous reste qu'à lancer le listener avec nc -lvnp port-configuré
et à nous rendre sur le lien de la template archive.php qui se situe ici
Nous obtenons donc un shell :
dans le dossier /home/robot nous trouvons un fichier password.raw-md5,
importons le dans john pour décrypter le password ssh du compte robot
Une fois le hash cassé, il faut ensuite upgrader notre shell pour le rendre interactif, en effet notre shell actuel ne nous permet pas d'utiliser la commande su
pour changer d'utilisateur,
nous utiliserons python et la commande :
python -c 'import pty;pty.spawn("/bin/bash")'
Nous pouvons récupérer la deuxième clé
Elevation de privilège :
En recherchant les permissions SUID nous trouvons une permission particulière, nmap
Notre versions de nmap étant comprise entre ces deux versions, nous pouvons utiliser le mode interactif et ainsi obtenir les permissions root,
J'espère que vous aurez appris quelque chose et apprécié mon write-up
regardons sur
N'hésitez pas à faire la room sur tryhackme :
mon profil tryhackme :