Tryhackme CTF Write-Up : GamingServer
Dans ce write-up, nous verrons comment compléter GamingServer de TryHackMe, Un challenge CTF de niveau débutant qui requiert plusieurs techniques : nmap, gobuster, ssh2john, lxd
Last updated
Dans ce write-up, nous verrons comment compléter GamingServer de TryHackMe, Un challenge CTF de niveau débutant qui requiert plusieurs techniques : nmap, gobuster, ssh2john, lxd
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 :
22 : Un service ssh OpenSSH 7.6p1
80 : Un serveur Apache httpd 2.4.29
Commençons l'énumération de dossier avec gobuster
Nous trouvons très vite un dossier /secret qui contient un fichier secretKey, qui est une clé RSA
Nous voyons qu'elle est encryptée, il faudra utiliser ssh2john pour trouver la passphrase
Nous trouvons aussi un utilisateur john, dans le source code du site
Transformons la clé id_rsa en un fichier lisible par john avec ssh2john puis décryptons la passphrase avec john
Nous pouvons maintenant nous connecter via ssh et récupérer le flag user.txt
Elevation de privilèges :
Configurons un serveur python sur notre machine attaquante pour télécharger linpeas depuis la machine victime mettons les permissions nécéssaires et lançons linpeas
Nous voyons que john appartient au groupe lxd, si on se renseigne à son sujet nous trouvons que LXD est un système de virtualisation basé sur des conteneurs pour Linux, offrant une gestion efficace des ressources et des environnements isolés.
Je recherche sur internet comment exploiter le système LXD et je trouve cette article
puis dans le dossier créer nous faisons sudo ./build-alpine
Nous obtenons un fichier alpine.tar que nous transferons dans la machine victime
Puis exécutons ces commandes
lors de l'executions du container nous executons aussi /bin/sh avec les permissions root,
Nous obtenons alors les permissions root,
nous savons que nous sommes dans un container, qui a été monté dans /mtn/root il faut donc se déplacer dans /mtn/root/root pour trouver le root.txt
J'espère que vous aurez appris quelque chose et apprécié mon write-up
Nous clonons d'abord sur notre machine attaquante
N'hésitez pas à faire la room sur tryhackme :
mon profil tryhackme :