Étiquette : hacking

  • HackTheBox — Planning (Writeup)

    Dans ce writeup nous allons voir la différentes étapes d’un test d’intrusion d’un système, nous avons chois la box Planning du site de HackTheBix

    Reconaissance

    On lance un scan réseau vers l’adresse IP de la machine qui nous a été fourni à l’aide de nmap.

    L’option -A: Enable OS detection, version detection, script scanning, and traceroute est un peu agressive, mais il s’agit ici d’un environnement d’entrainement.

    On ajoute le nom de la machine dans notre fichier host pour pouvoir accéder au service web.

    Souvent le service est hébergé par un vhost et n’est donc pas disponible par défaut sur l’adresse http://10.10.11.68 mais via le nom de domaine planning.htb dans notre cas.

    On s’apercoit en accédent au service web hébérgé qu’il s’agit d’un site de Cours en ligne.

    Le site héberge des fichiers php et semble affiché uniquement les pages suivantes:

    • – index.php
    • – about.php
    • – courses.php
    • – contact.php
    • – enroll.php
    • – detail.php

    On va donc faire de l’énumération de répertoire et de fichier pour déterminer si des pages cachés sont accéssible

    Pour info vous pouvez facilement retrouver les worlistes sur kali avec la commande suivante :

    Après plusieurs listes de répertoire et de fichier testé, il ne semble pas y avoir de fichier caché.

    On va donc tester si il y’a des sous domaines accessibles.

    La wordlist dnsmap.txt sur la kali n’a rien donné donc j’ai téléchargé une worliste sur internet en suivant cet article https://sidxparab.gitbook.io/subdomain-enumeration-guide/active-enumeration/dns-bruteforcing

    On trouve un vhost qui porte le nom de grafana et on va donc essayé de s’y connecter avec les identifians qui nous ont été donné.

    Même commande que précédement pour ajouter le vhost au fichier host de la machine.

    Exploitation

    On trouve rapidement qu’il s’agit de la version **11.0.0** de Grafana.

    Une recherche rapide nous renvoie vers la CVE-2024-9264 qui est une vulnérabilité de type RCE (Remote code execution) dans la fonctionnalité des Expressions SQL de Grafana.

    Ce repo https://github.com/z3k0sec/CVE-2024-9264-RCE-Exploit GitHub contient un script python déjà tout fait pour exploiter la vulnérabilité.

    > Attention à toujours lire le code que l’on exécute d’internet.

    J’ouvre un listener en écoute sur le port 8888 via lequel je vais recevoir le reverse shell du serveur.

    Dans un autre terminal j’execute le code d’exploitation de la vulnérabilité CVE-2024-9264

    Normalement je vois apparaitre un terminal depuis mon listener

    La présence de peu de fichier et aucune trace du site hébergé sur planning.htb laisse pensé qu’on est dans un environnement conteneurisé propre à Grafana.

    On trouve des informations intéressante via la commande notamment un nom d’utilisateur et mot de passe.

    On peux donc essayé de se conntecter avec se couple identifiant/mot de passe sur le port 22 qui est ouvert sur la machine.

    On retrouve donc le premier flag dans le répertoire de l’utilisateur

    Elévation des privilèges

    La machine sur laquelle nous venons de nous connecter en ssh est la machine qui héberge le service web, en analysant son contenu dans /var/www/web/index.php on retrouve les informations suivantes :

    En cherchant sur la machine on trouve un fichier intéressant qui contient un mot de passe P4ssw0rdS0pRi0T3c :

    Ce fichier un un job cron exécuter par l’utilisateur root

    Une analyse des service et port en écoute sur la machine nous montre des choses intéressantes, il y’a des services en écoute que sur l’adresse localhost.

    On teste d’accéder aux service depuis notre machine attaquante via un tunnel SSH

    Une fois le tunnel effectué on se retrouve devant une mire d’authentification et le couple identifiant mot de passe suivant : **root/P4ssw0rdS0pRi0T3c** permet d’accéder à une interface d’administration

    Il s’agit de l’outil crontab-ui https://github.com/alseambusher/crontab-ui qui permet d’éditer des tâches cron depuis une interface graphique.

    La création de cette nouvelle cron nous permet de lire le flag contenu dans le répertoire root

    Voila la fin du writeup, j’espère que celui-ci ta plu et que tu as appris des choses ?

    Je n’ai pour ma part pas encore réussi à faire pop un reverse shell en root, j’ai l’impression qu’il y’a des mécanisme de sécurité que je n’arrive pas à contourné, si tu as réussi, fait le moi savoir sur mes réseaux.

    Autres projets

    IronLab — Passionné d’électronique, robotique, d’aviation, de l’espace & projets DIY

    Site Web | YouTube | TikTok | Instagram

    Un peu de lecture complémentaire

    • https://medium.com/@stefanos.kalandaridis/bash-ing-your-network-f7069ab7c5f4
    • https://exploit-notes.hdks.org/exploit/container/docker/docker-escape/
    • https://delinea.com/blog/linux-privilege-escalation