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...
Last updated
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...
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 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
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 :
mon profil tryhackme :