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 !

 

  1. 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.

 

  1. Quel service s’exécute sur le port 21 :

Eh bien sur le port 21, c’est le service ftp qui s’exécute.

 

  1. 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 !

 

  1. 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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

14 + douze =

Follow by Email
YouTube