Nous voilà de nouveau pour un CTF parmi d’autres avec un niveau assez facile, particulièrement intéressant par sa diversité. Comme d’habitude, commencez par rejoindre la salle et déployez la machine cible.
C’est bon ? Alors on y va !
Il faut toujours débuter par la phase d’énumération :
nmap -sS -sC -sV -p- 10.10.109.172
Nous avons des informations importantes, observons l’interface web et cherchons si des éléments sont accessibles.
N’oubliez pas de regarder le code source de la page, dans notre cas rien d’intéressant ! Utilisez gobuster pour voir les sous dossiers de l’interface web :
Bingo ! il y a un répertoire island :
Toujours pas d’informations pertinentes. On continue avec gobuster :
Voici notre répertoire :
Bingo ! une vidéo, ne vous inquiétez pas j’ai un bloqueur c’est pour cela que la vidéo n’est pas disponible, observez le code source vous aurez le lien de la vidéo YouTube directement.
Il y a un fichier qui est utilisé avec l’extension .ticket, on reprend gobuster mais cette fois on va ajouter la spécificité de l’extension.
Et voilà le fichier, ne vous inquiétez pas mon adresse IP a changé, j’ai par erreur arrêté la machine cible ce qui m’a redonné une nouvelle adresse.
Observez le contenu depuis l’interface web :
C’est codé en base58 et non en base64, j’ai dû faire pas mal de tentatives avant de comprendre.
Décodez le code et vous obtiendrez le mot de passe pour se connecter au server FTP :
Bingo ! bonne réponse, connectez-vous en ftp maintenant (user=vigilante / password= !#th3h00d)
Voilà, on est connecté au server FTP. On va aller à la recherche d’informations :
Il y a l’image Leave_me_alone.png (laisse-moi tranquille) qui m’intrigue, après quelques recherches il y a un souci je ne peux ouvrir correctement le fichier. Probablement corrompu, du coup je vais devoir examiner la partie hexadécimale de l’image. Pour cela utilisez hexedit :
J’ai regardé sur Google les bonnes valeurs hexa d’un fichier .PNG et ça ne correspond pas, donc mon fichier a bien une erreur de codage. J’ai mis les bonnes valeurs et voici le résultat.
Utilisez la combinaison des touches Ctrl+x pour sauvegarder, et visionnez à nouveau l’image :
Et voilà le travail ! En général lorsqu’une image comporte un mot de passe c’est qu’il y a un fichier zip associé. On va regarder si on trouve d’autres informations sur les deux autres images.
On va utiliser un outil de stéganographie : steghide :
Le mot de passe est : password, voici notre fichier zip : ss.zip. on va l’extraire :
Maintenant on va le décompresser afin de visualiser son contenu :
Voici le mot de passe pour se connecter en utilisant le Protocol SSH.
Maintenant cherchons un utilisateur autre que vigilante depuis notre server ftp :
Essayons la connexion SSH :
Mon adresse IP a encore changé, pas d’inquiétude j’ai juste dépassé le temps actif de la machine.
Badaboum ! on a le user flag.
Il nous reste le dernier : root flag (escalade de privilège)
Dans la partie escalade de privilège, il faut essayer d’abord la commande sudo -l, puis en fonction de la réponse obtenue vous pourrez entreprendre vos recherches. Dans notre cas on voit que l’utilitaire pkexec peut être utiliser en tant que root, alors on en a profité pour avoir un shell en tant que super utilisateur et lire le dernier flag.
Vous y êtes, c’est terminé pour ce CTF que je trouve assez complet, si vous rencontrez quelques difficultés n’hésitez pas à me contacter ou me laisser un commentaire.
Prenez soin de vous, Peace !
One response
Excellent post. I’m facing many of these issues as well..