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
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
svp jugez pas la wordlist j'étais fatigué.......
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