TryHackMe CTF Write-up : Agent Sudo

Dans ce write-up, nous verrons comment compléter le lab Agent Sudo de TryHackMe ,Un challenge CTF de niveau débutant/intermédiaire qui requiert plusieurs techniques : nmap, stéganographie...

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

  • 22 : un service ssh 7.6p1 d’OpenSSH

  • 21 : un service ftp 3.0.3 de vsftpd

  • 80 : un serveur Apache 2.4.29

Observons plus en détail le site internet

On nous dit de mettre notre nom de code dans le ‘user-agent’ pour accéder au site,

Nous voyons que le nom de code semble être une lettre de l’alphabet en regard de celui qui nous envoie le message, « Agent R »

Après deux essais avec curl -A ( qui permet de changer le user agent)

Nous obtenons le nom de l’agent ‘chris ‘ ainsi que son mot de passe est faible, ce qui nous incite à brute-force l’un des autres protocoles de cette machine

Nous obtenons rapidement le mot de passe ftp avec

hydra -l chris -P /usr/share/wordlists/rockyou.txt 10.10.103.34 ftp

Connectons nous au serveur ftp

2 images et 1 fichier texte à récupérer

Nous voyons donc qu’il y’a du texte dans ces images, nous aurons besoin d’une passphrase pour trouver ce texte via stéganographie

Regardons d’abord les informations cachées avec binwalk

Nous avons trouvé un fichier zip protégé par mot de passe et un fichier texte vide

Essayons de bruteforce avec john :

Zip2john 8702.zip > unzip.txt

John –format=ZiP –wordlist=/usr/share/wordlists/rockyou.txt unzip.txt

Nous trouvons le mot de passe du zip,

Ayant eu des problèmes avec unzip j’ai utilisé 7z

Nous avons maintenant un message, avec une partie encodé en ce qui semble être du base64, en le décodant on trouve la passphrase pour extraire le fichier caché de l’image

Nous avons maintenant le nom d’utilisateur et son mot de passe,

Connectons nous avec ssh :

ssh james@tryhackmeip

Récupérons le flag user

Elevation de Privilège :

Nous voyons qu’il a une permissions sudo sauf pour l’utilisateur root, regardons sur internet comment l’exploiter

Apparemment il y’a un exploit sur exploit db

Nous pouvons copier le script python et le lancer avec python3 exploit.py

Nous voilà root, nous 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/agentsudoctf

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

Last updated