Presidential: 1 VulnHub (Writeup)

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.

Reconnaissance de l'adresse IP via arp-scan :

Utilisation de la commande arp-scan pour détecter l'adresse IP de la machine:

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

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" :

Analyse du serveur avec Wappalyzer :

Utilisation de Wappalyzer pour déterminer que le serveur utilise Apache et le langage de programmation PHP.

Identification de la version de la machine avec WhatWeb : Utilisation de WhatWeb pour scanner le site internet et identifier la version de la machine (Ubuntu) et d'Apache :

Configuration du virtual hosting pour la recherche de sous-domaines:

Avant de commencer la recherche de sous-domaines, configurez le virtual hosting pour la cible afin de mieux cibler les informations recherchées.

Identification des utilisateurs potentiels sur le site:

Explorez le site pour identifier les utilisateurs potentiels. Dans ce cas, deux utilisateurs, Kelly Bowen et Hugh Morgan, sont repérés comme des points d'intérêt.

Recherche de répertoires avec Gobuster

Utilisez Gobuster avec une liste de répertoires pour trouver des chemins d'accès cachés. Identifiez trois répertoires, dont l'un, "cgi-bin", présente un risque potentiel de vulnérabilité à l'attaque shellshock.

Recherche de fichiers avec extension PHP

Effectuez une recherche spécifique de fichiers avec l'extension PHP en utilisant Gobuster pour trouver des fichiers pertinents. Découvrez un fichier "config.php" qui, lorsqu'il est interprété, ne révèle aucune information visible.

Recherche de fichiers de sauvegarde (extension .bak)

Poursuivez la recherche en ciblant spécifiquement les fichiers de sauvegarde avec l'extension ".bak". Trouvez un fichier pertinent qui peut contenir des informations sensibles.

Obtention des identifiants de la base de données:

Utilisez les informations extraites du fichier de sauvegarde ".bak" pour obtenir les identifiants de la base de données.

Tentative de connexion SSH:

Tentez de vous connecter en utilisant les identifiants obtenus à travers SSH. Échouez dans la tentative en raison de l'absence d'une clé privée.

Vérification de la validité de l'utilisateur "votebox" sur SSH

En raison de la version ancienne de SSH, vérifiez si l'utilisateur "votebox" est un utilisateur valide du système.

Découverte des sous-domaines avec Gobuster

Utilisez Gobuster avec une liste de sous-domaines pour explorer d'éventuels sous-domaines. Cependant, cette tentative ne donne pas de résultats positifs.

Recherche alternative de sous-domaines avec un dictionnaire différent:

Répétez la recherche de sous-domaines en utilisant un dictionnaire de répertoires différent.

Identifiez vous à partir du fichier ".bak" précédemment découvert.

Identification de la vulnérabilité RCE dans phpMyAdmin

Après avoir découvert que la version de phpMyAdmin est vulnérable (4.8.1), utilisez l'outil SearchExploit pour trouver des exploits correspondants, et identifiez une vulnérabilité RCE (Remote Code Execution).

Vulnérabilité RCE:

Utilisez la vulnérabilité RCE en injectant le script suivant dans l'URL pour lire le fichier "/etc/passwd":

Tentative de récupération de la clé privée SSH de l'utilisateur "admin"

Tentez d'accéder à la clé privée SSH de l'utilisateur "admin" en utilisant l'URL suivante, mais rencontrez une erreur :

Exploration des ports internes du réseau privé

Utilisez l'URL suivante pour lister les ports internes du serveur depuis le fichier /proc/net/tcp :

Enregistrez ces ports dans un fichier "data" pour une analyse ultérieure.

Identification du répertoire contenant les sessions de phpMyAdmin

En explorant le script, identifiez un répertoire contenant les sessions phpMyAdmin :

Vulnérabilité phpmyadmin (injection de commandes)

Utilisation du cookie de session phpMyAdmin pour une injection de commande

Ce fichier interprète toutes les commandes des queries.

Injection de commande SQL pour obtenir un reverse shell:

Accès à la machine finalement réussi:

Traitement terminal pour Surmonter les Privilèges:

Limite d'accès à /home/admin et découverte d'un mot de passe hashé:

Constatez la restriction d'accès à /home/admin, ce qui nécessite un accès authentifié. Dans phpMyAdmin, observez l'utilisateur "admin" avec un mot de passe hashé, indiquant la nécessité de déchiffrer le mot de passe pour accéder au système de fichiers.

Force brute crackage le mot de passe:

Créez un fichier "hash" contenant le mot de passe hashé et utilisez John the Ripper pour tenter de le casser en utilisant une liste de mots de passe (rockyou.txt dans cet exemple) :

Affichage du mot de passe déchiffré

Migration vers l'utilisateur "admin"

Utilisez le mot de passe déchiffré pour l'utilisateur "admin" et connectez-vous au système en tant qu'administrateur

Élévation de privilèges (Capabilities)

Utilisez la commande getcap pour explorer les capacités du système. Identifiez une capacité qui permet de lister tous les documents du système.

Capture du fichier /etc/shadow avec tar

Créez un dossier dans le répertoire /tmp et incluez le fichier /etc/shadow avec la commande suivante :

Décompressez l'archive dans le répertoire /tmp. En tant que créateur, modifiez les droits pour pouvoir visualiser le contenu du fichier /etc/shadow.

Capture de la clé privée .ssh avec tar

Capturez la clé privée .ssh de l'utilisateur root avec la commande suivante :

Connexion SSH avec la clé privée capturée:

Utilisez la clé privée capturée pour établir une connexion SSH à l'utilisateur root sur la machine locale.

Obtention de la flag : )

Mis à jour

Ce contenu vous a-t-il été utile ?