Tryhackme CTF Write-Up : Lian_yu

Dans ce write-up, nous verrons comment compléter Lian_Yu de TryHackMe, Un challenge CTF de niveau débutant qui requiert plusieurs techniques : nmap, ftp, stéganographie, elevation de privilèges

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 quatres ports sont ouverts :

  • 21 : un service ftp vsftpd 3.0.2

  • 22 : Un service ssh OpenSSH 6.7p1

  • 80 : un serveur Apache

  • 111 : un service rpcbind 2-4

Commençons par l'énumération de dossier avec gobuster, qui donnera très rapidement un dossier /island

gobuster dir -u http://iptryhackme -w /usr/share/dirbuster/wordlists/wordlist.txt

Dans le source-code de http://iptryhackme/island nous trouvons un nom de code : vigilante

Reprenons l'énumération à partir de l'island

Nous trouvons un dossier /2100

dans lequel on nous dit de trouver un .ticket, reprenons l'énumération gobuster en énumérant les extensions .ticket avec -x .ticket

et nous trouvons le dossier /green_arrow.ticket

dans lequel ce trouve un mot de passe? encodé en baseX

Sur cyberchef nous trouvons que c'est du base 58, nous avons donc un mot de passe et un username vigilante, tentons une connexion ftp

nous pouvons récupérer 3 images,

Ainsi qu'un autre username "slade" en nous balandant dans les dossiers du serveur

On se rend compte que le png, Leave_me_alone.png est corrompu, avec un hexeditor on se rend compte que les 6 premiers caractères hexadécimals ne sont pas bons pour les .png, nous les changeons alors ces caractères par :

89 50 4E 47 0D 0A

Nous pouvons alors ouvrir l'image et trouvons une passphrase

Essayons un steghide sur aa.jpg avec cette passphrase

Nous récupérons un ss.zip

qui contient lui meme un passwd.txt et un shado avec un mot de passe

Je tente une connexion ssh avec vigilante, cela ne marche pas mais nous avions récupérer un autre username "slade"

Voilà l'accès initial Nous pouvons récupérer le flag user.txt

Elevation de privilèges :

Nous voyons que nous avons les permissions sudo sur /usr/bin/pkexec

allons sur https://gtfobins.github.io/ comment l'exploiter

un simple sudo pkexec /bin/sh pour obtenir les permissions root

Nous voilà root et pouvons récupérer le flag root :)

J'espère que vous aurez appris quelque chose et apprécié mon write-up

N'hésitez pas à faire la room sur tryhackme : https://tryhackme.com/room/lianyu

mon profil tryhackme : https://tryhackme.com/p/Frozzinours

Last updated