[0day][CTF][TryHackMe]
Challenge niveau medium du site TryHackMe

[Task 1] Enumération
Commençons comme d'habitude avec les énumérations classiques: nmap et gobuster.
1. Nmap
2. Gobuster
3. Nikto
Ne pas oublier de modifier /etc/nikto.conf et de mettre FAILURES=0
[Task 2] Exploitation
1. Contenu des répertoires trouvés
Gobuster a touvé un robots.txt et une série de répertoires.
robots.txt
Rien d'intéressant dans robots.txt

répertoire /backup

Le répertoire contient un clé privée RSA encryptée. Pour le moment nous n'avons aucune idée du contexte et nous n'avons aucun nom d'utilisateur. Sauvegardons quand même la clé pour plus tard, mais je crains que cela ne va nous mener nulle part et que ce ne soit qu'un 'rabbit hole'.
répertoire /secret
Le répertoire /secret contient une belle image de tortue, référence à la description 'like a Turtle in a Hurricane'.

Le traitement de cette image par les outils de stéganographie ne donne aucun résultat.
autres répertoires
L'exploration du contenu des autres répertoires ne mène à rien d'exploitable.
2. /cgi-bin
Le scan Nikto nous révèle que
Apache/2.4.7 appears to be outdated
/cgi-bin/test.cgi: Site appears vulnerable to the 'shellshock' vulnerability. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6278
[Task 3] Prise pied sur la machine cible
Après une recherche google avec 'github CVE-2014-6271 reverse shell', j'ai trouvé ce site https://github.com/0xTabun/CVE-2014-6271/tree/main qui nous donne un fichier python shellshock.py ainsi qu'un exécutable shellshock.sh pour exploiter la vulnérabilité.
Téléchargeons et utilisons shellshock.sh
1. Sur la machine kali
Résultat sur la machine Kali
Nous voila sur la machine cible
2. Sur la machine cible
Consolidons le shell et lisons le user.txt
3. Réponses aux questions
user.txt
THM{Sh3llSh0ck_r0ckz}
root.txt
[Task 4] Escalade de privilèges
1. Indice
L'indice trouvé sur le site de TryHackme parle d'une 'very old' version d'ubuntu
Passons alors directement à la recherche d'exploits du kernel avec l'outil les.sh
2. Linux Exploit Suggester les.sh

Focalisons-nous sur les deux premiers exploits: dirtycow et overlayfs.
Vérifions si gcc est installé sur la machine cible
La marche à suivre a déjà été utilisée précédemment dans la résolution du CTF GoldenEye
3. Dirtycow
Comme dans la résolution du CTF GoldenEye, je préfère utiliser https://www.exploit-db.com/exploits/40616 qui me paraît plus facile à utiliser
Pour plus de clarté, renommons 40616.c en dirtycow.c
cc1 est bien présent sur la machine cible
Si le fichier est présent sur la machine et que gcc ne le trouve pas, c'est qu'il doit s'agir d'un problème de PATH, un problème de chemin d'accès. Comparons le PATH de l'utilisateur avec le PATH par défaut dans le fichier /etc/environment:
echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
cat /etc/environment
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
On peut constater que les bin et sbin on été inversés dans le PATH utilisateur par rapport au PATH par défaut. Sans savoir si cela est la cause, rétablissons le PATH par défaut et réessayons la compilation.
4. Réponses aux questions
user.txt
THM{Sh3llSh0ck_r0ckz}
root.txt
THM{g00d_j0b_0day_is_Pleased}
5. Bonus overlayfs
Le scan les.sh nous dit que nous pouvons également utiliser l'exploit overlayfs.
Pour plus de clarté, renommons 37292.c en ofs.c
Comme pour DirtyCow, il faut faire un reset du PATH
Mis à jour
Ce contenu vous a-t-il été utile ?