Backdoor HackTheBox (Writeup)
Skills:
WordPress Local File Inclusion Vulnerability (LFI)
LFI to RCE (Abusing /proc/PID/cmdline)
Gdbserver RCE Vulnerability
Abusing Screen (Privilege Escalation) [Session synchronization]
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,1337)

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

Port 80 - WordPress
Identification de WordPress :
Avec l'outil WhatWeb, le service sur le port 80 est identifié comme étant WordPress.

Énumeration des utilisateurs :
Un utilisateur valide (admin) est découvert via une attaque de force brute :


Énumération des répertoires avec Gobuster :
Recherche des répertoires :

Vulnérabilité Ebook-Download - LFI
Recherche dans wp-content/plugins pour découvrir les plugins actifs :

Le plugin ebook-download présente une vulnérabilité LFI exploitée via :


Cette requête permet de télécharger des fichiers arbitraires. En récupérant le fichier wp-config.php

On obtient les informations suivantes :
wordpressuserMQYBJSaD#DxG6qbm

Ces informations ne permettent pas de se connecter à l’interface wp-admin,

Exploitation LFI
Énumération des fichiers sensibles :
Lister les utilisateurs système via /etc/passwd :

Tentatives de récupération de la clé SSH privée de l'utilisateur user :
Ces tentatives échouent probablement à cause des permissions restreintes sur ces fichiers.

LFI - Proc
Exploration du proc
Création d’un script Python pour extraire les informations des processus en explorant /proc/[PID]/cmdline :
En analysant les processus, le port 1337 est identifié comme un serveur gdbserver.

Port 1337 - gdbserver
Un exploit pour gdbserver est disponible sur Searchsploit :

Exploitation de gdbserver :
Générer un shell inversé :
Démarrer un listener sur le port 443 :
Exécuter l’exploit :

Traiter le shell interactif pour plus de stabilité :
Flag User.txt :)

Élévation de privilèges
SUID - Screen:
Identification du binaire SUID
Nous allons chercher les fichiers ayant le bit SUID activé sur le système en utilisant la commande suivante :

Analyse des processus Screen
Pour examiner les processus liés à Screen en cours d'exécution, nous utilisons la commande suivante :

Nous trouvons le processus suivant en cours d'exécution :
Le processus ci-dessus montre que Screen est configuré pour créer une session root si le dossier /var/run/screen/S-root/ est vide. Grâce à cette configuration, nous pouvons exploiter Screen pour obtenir un accès root.
Flag root.txt :)
Après avoir accédé à la session Screen en tant que root, vous avez désormais les privilèges administrateur.


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