Nous revoilà pour un CTF, attention ce challenge n’a aucun lien avec le groupe de hacker très connus « Anonymous ». Le but est de renforcer et de mettre en pratique vos connaissances de bases de Linux et l’escalade de privilège.
Impatient ? on y go alors !
- Enumération :
On doit effectuer un scan pour déterminer le nombre de ports ouverts sur la machine cible, pour cela utilisez nmap ou masscan :
Il y a donc 4 ports ouverts sur le server en question.
- Quel service s’exécute sur le port 21 :
Eh bien sur le port 21, c’est le service ftp qui s’exécute.
- Quel service s’exécute sur les ports 139 et 445 :
Pour trouver plus de renseignements sur le service exécuté, utilisez la commande suivante : nmap -sV adresse IP
Le service smb pour les ports 139 et 445 !
- Comment s’appelle le partage sur l’ordinateur de l’utilisateur ?
Pour connaitre le nom du partage, j’ai utilisé l’outil enum4linux. Bien sûr, vous pouvez utiliser d’autres outils. La commande est enum4linux IP :
Bingo ! le nom de partage est pics.
Maintenant, il nous reste le flag user et root.
Bon, je vais effectuer un scan un peu plus poussé pour trouver plus de renseignements :
On peut voir qu’il y a la possibilité de se connecter au port 21 en mode ftp-anon (user=anonymous et sans mot de passe) :
Et voilà le travail, on est connecté. Trouvons maintenant des informations pouvant être utiles.
Téléchargez les fichiers trouvés à l’aide de la commande get :
Parmi ces fichiers, il y en a un particulièrement important et c’est celui qui va nous être très utile. Le fichier clean.sh, il regarde le contenu du fichier removed_files.log s’il y a du contenu à supprimer ou non.
Rappelez-vous, on a les droits d’écriture sur ce fichier ce qui veut dire que l’on peut ajouter un petit script permettant d’avoir un reverse_shell :
Ajoutez alors le script, vous pouvez trouver le bout de code sur le net sans problème (pentestmonkey reverse_shell cheat sheet).
Maintenant il faut renvoyer ce fichier vers le server avec la commande put, puis lancer une écoute depuis votre machine hôte :
Bingo ! voici notre shell. Allez chercher le flag user :
Il reste plus que l’escalade de privilège, pour cela cherchons les permissions avec la commande : find / -perm -u=s 2>/dev/null
Après plusieurs essais et recherches (qui m’ont pris un peu de temps) je suis parvenu par trouver le moyen d’être root : observez /usr/bin/env
En allant sur le site GTFOBins, vous trouverez la commande vous permettant de basculer vers le super-utilisateur :
Tapez la commande : /usr/bin/env /bin/sh -p vous serez alors root, affichez ensuite le contenu de root.txt pour obtenir le dernier flag :
Vous venez de terminer ce challenge, bravo à vous ! Il était un petit peu plus technique que les autres mais tout aussi intéressant et enrichissant. Si vous avez des questions ou des difficultés n’hésitez pas à me contacter ou laisser un commentaire.
Je vous dis à très vite pour un nouveau CTF. Peace !
No responses yet