[0day][CTF][TryHackMe]

Challenge niveau medium du site TryHackMe

[Oday] Thumbnail

Lien vers 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

robots.txt

répertoire /backup

id_rsa dans /dev

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

Tortue dans le répertoire /secret

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

Questions
Réponses

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

Résultats du scan 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:

PATH
valeur

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

Questions
Réponses

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 ?