Love HackTheBox (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.

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 extractport : Utilisation de la fonction extractport pour afficher de manière synthétique les ports ouverts et les copier dans le presse-papiers.

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

Pour résoudre les noms de domaine en adresses IP via DNS, on insère dans le fichier /etc/hosts le nom de domaine associé à son adresse IP

Recherche de répertoires :

Nous utilisons Gobuster pour rechercher des répertoires sur le site:

Dans le répertoire admin, nous découvrons un panneau de gestion.

Exploitation du Voting System :

Dans ce cas, il existe deux manières d'exploiter le panneau de gestion du Voting System :

1. Vulnérabilité SSRF:

Le port 443 révèle un sous-domaine staging.love.htb que nous ajoutons à notre fichier /etc/hosts.

Ce site permet d’effectuer des scans de sites via une URL.

En scannant localhost:5000 (inaccessible de l’extérieur), nous découvrons des identifiants :

admin: @LoveIsInTheAir!!!!

Note : À l’extérieur, le message "You don't have permission to access this resource." est affiché, bloquant ainsi l’accès.

2. Vulnérabilité SQL Injection (SQLi) :

Avec searchsploit, nous recherchons des vulnérabilités spécifiques au Voting System et trouvons le payload suivant :

login=yea&password=admin&username=dsfgdf' UNION SELECT 1,2,"$2y$12$jRwyQyXnktvFrlryHNEhXOeKQYX7/5VK2ZdfB9f/GcJLuPahJWZ9K",4,5,6,7 from INFORMATION_SCHEMA.SCHEMATA;-- -

En utilisant Burp Suite, nous accédons au dashboard.

Vulnérabilité Upload Files:

Une fois dans le dashboard, une option permet de créer un nouvel utilisateur. Nous créons un fichier cmd.php qui permettra d’exécuter des commandes sur le serveur :

Le panneau n’applique aucune vérification de sécurité, nous permettant d'injecter des commandes (e.g., whoami). En testant une commande de ping, nous vérifions la connexion :

on va voir si il peut lancer un ping

Comme nous recevons la réponse, nous confirmons la possibilité d’exécuter des commandes sur la machine cible

Exécution d'une commande Powershell pour un reverse shell

Une fois que nous voyons que nous pouvons exécuter des commandes, nous allons télécharger dans notre équipe le script PS.ps1.

À la fin du script, nous ajoutons la ligne suivante :

Nous allons créer un serveur web avec le script PS.ps1

Ensuite, nous allons modifier la commande pour pointer vers notre serveur web :

Finalement, nous nous mettons en écoute sur le port 4444 :

Flag user.txt:

Élévation de privilèges:

Reconnaissance avec WIN-peacex64.exe

Pour effectuer une élévation de privilèges sur un serveur Windows, nous allons d'abord utiliser l'outil de reconnaissance winPEAS.

Téléchargement de l'outil de reconnaissance WIN-peacex64.exe.

Checking AlwaysInstallElevated

L'outil winPEAS vérifie divers paramètres de sécurité sur le système. Nous nous intéressons particulièrement à la clé de registre AlwaysInstallElevated. Si cette clé est définie sur 1 dans HKLM (HKEY_LOCAL_MACHINE), cela indique que tous les fichiers .msi peuvent être installés avec des privilèges élevés, ce qui constitue une vulnérabilité.

Création d'un fichier .msi pour obtenir un reverse shell

Pour tirer parti de cette vulnérabilité, nous allons créer un fichier .msi qui, une fois exécuté, nous fournira un reverse shell. Nous utilisons msfvenom pour générer ce fichier :

Transfert du fichier .msi Après avoir créé le fichier, nous devons le transférer sur la machine cible :

Écoute sur le port 443 Avant d'exécuter le fichier .msi, nous devons nous mettre en écoute sur le port que nous avons spécifié. Utilisons nc (netcat) pour cela :

Exécution de la commande d'installation Enfin, nous exécutons le fichier .msi en utilisant msiexec, ce qui déclenche l'installation silencieuse :

Flag root :)

Mis à jour

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