Nibbles HackTheBox (Writeup)
Skills:
Abusing Nibbleblog - Remote Code Execution via File Upload
Abusing Sudoers Privilege [Privilege Escalation]
Reconnaissance
Création de l'espace de travail :
Nous établirons notre espace de travail en créant trois dossiers pour stocker les contenus importants, les exploits et les résultats de la reconnaissance à l'aide de Nmap.

Vérification de la Connectivité VPN
Vérification de la connexion VPN pour assurer une communication stable avec la machine cible.

Recherche des ports ouverts avec Nmap :
Exploration des ports ouverts et exportation dans le fichier "allPorts" dans le répertoire Nmap:

Analyse des ports ouverts avec extractPorts:
Utilisation de la fonction extractPorts pour afficher de manière synthétique les ports ouverts et les copier dans le clipboard (22,80)

Scan de la version des ports avec Nmap:
Utilisation de Nmap pour scanner la version des ports et extraction des informations dans le fichier "targeted" :

Port 80 - HTTP

En inspectant le code source de la page web, nous remarquons la présence d'un répertoire /nibbleblog.

Nibbles Blog - CMS

Le site semble être un CMS appelé Nibbleblog. Nous allons utiliser gobuster pour rechercher des répertoires supplémentaires :

Recherche de Fichiers PHP :
Lors de la recherche de fichiers PHP, nous trouvons un fichier admin.php qui semble correspondre à un panneau d'administration.

Tentative de Connexion avec des Identifiants :
Nous tentons de nous connecter avec les identifiants suivants :
Utilisateur : admin
Mot de passe : nibbles

Cela fonctionne et nous accédons à l'interface d'administration.

Vulnérabilité Nibbleblog - File Upload
Nous découvrons une fonctionnalité permettant de télécharger des images :

Nous allons créer un fichier cmd.php avec le code suivant pour permettre l'exécution de commandes
Le fichier sera téléchargé dans le répertoire content, où nous trouvons un sous-dossier private contenant des plugins.

Exécution de Commandes via l'Upload de Fichier :
Grâce au paramètre cmd, nous pouvons exécuter des commandes. Par exemple, nous utilisons l'URL suivante pour obtenir des informations sur l'ID du système :

Nous obtenons un accès au serveur via un reverse shell. Nous mettons notre machine en écoute sur le port 443 :
Puis, nous exécutons le reverse shell sur la machine cible :

Traitement Terminal :
Dans le terminal, nous effectuons les étapes suivantes pour stabiliser la session :
Flag user.txt :)

Élévation de Privilèges :
Sudo - monitor.sh (no such file)
Nous découvrons une vulnérabilité liée à l'exécution de scripts avec des privilèges sudo.

Le fichier monitor.sh semble être introuvable, mais nous pouvons créer un script qui sera exécuté en tant que root. Nous commençons par créer les répertoires nécessaires :
Nous y plaçons le fichier monitor.sh avec le contenu suivant :
Nous exécutons ensuite le script avec les privilèges sudo :
Cela permet de modifier les permissions de /bin/bash en lui ajoutant le bit SUID. Nous exécutons alors la commande suivante pour obtenir un shell avec des privilèges root :

Flag root.txt :)


Mis à jour
Ce contenu vous a-t-il été utile ?