windowsHospital HackTheBox (Writeup)

circle-exclamation

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

Identification de l'Interface du Port 443

Identification de l'Interface du Port 8080

Création d'Utilisateur:

Création d'un utilisateur pour établir un accès potentiel à la machine cible

Vulnérabilité File Upload:

Exploitation initiale:

Tentative d'exploiter une vulnérabilité de téléchargement de fichiers en insérant un fichier PHP malveillant

Le serveur refuse automatiquement les requêtes d'upload de fichiers possédant certaines extensions.

Interception avec BurpSuite:

Utilisation de BurpSuite pour intercepter et analyser le trafic afin de comprendre les erreurs d'exploitation

Modification de l'extension PHP :

Modifier l'extension du fichier de .php à .phar dans la variable filename, et vous assurer que l'emplacement est accepté avec succès

Enumeration de Répertoires:

Utilisation de Gobuster pour identifier les répertoires sur un serveur web et localiser le stockage des images médicales uploadées.

Fichier non interpreter:

Le contenu d'un fichier .phar n'est pas interprété.

Utilisation d'Outil GitHub pour Créer une Shell:

Utilisation d'un outil provenant d'un projet GitHub pour contourner les restrictions de téléchargement de fichiers PHP et obtenir un accès shell

Lancement d'une Reverse Shell:

Exécution d'une reverse shell pour établir un accès interactif à la machine cible et obtenir un contrôle total.

Une fois que vous avez accès au serveur Linux, voici les commandes à effectuer pour le traitement en terminal :

Surmonter les privileges (serveur Linux):

Identification de la version du système d'exploitation : Utiliser la commande cat /etc/os-release pour vérifier la version du système, noter la présence d'une ancienne version d'Ubuntu ("23.04").

Téléchargement du script pour lever les privilèges:

Télécharger le script depuis github arrow-up-rightqui permet de lever les privilèges :

Extraction des mots de passe hashés : Extraire les mots de passe hashés du fichier /etc/shadow.

Crackage des mots de passe :

Utiliser l'outil John the Ripper avec une liste de mots de passe connue pour cracker les mots de passe :

Vulnérabilité : Injection de fichiers .eps

Tester les informations d'identification sur le site accessible via le port 443.

Découverte d'une boîte mail restreinte :

Découvrir une boîte mail qui veut recevoir un design au format .eps.

Exploitation de Ghostscript via un fichier .eps :

Utilisation d'un exploit arrow-up-rightGitHub basé sur ghostscriptarrow-up-right pour exécuter du code malveillant via une extension de fichier .eps.

Utilisation de RevShells arrow-up-rightpour créer le payload PowerShell :

Injection du payload dans le fichier .eps :

Utilisation de la commande pour injecter le payload avec la reverse shell dans le fichier .eps.

Mise en écoute avec rlwrap:

Configuration de la mise en écoute avec rlwrap pour attendre une connexion entrante.

Envoi du mail avec le fichier EPS malveillant :

Découverte d'un fichier ghostscript.bat:

Découverte d'un fichier ghostscript.bat contenant le mot de passe de "drbrown" : chr!$br0wn

Première flag user.txt:

Découverte et récupération de la première flag user.txt.

Élévation de privilèges Active Directory :

Élévation de privilèges en se dirigeant vers le serveur web XAMPP.

Création d'un fichier PHP :

Création d'un fichier PHP contenant le code "this is a test".

Vérification du fonctionnement du serveur web :

Vérification que le serveur web insère correctement le fichier PHP.

Réinjection du fichier PHP du projet p0wny-shellarrow-up-right :

Copie du payload revershell dans le terminal pownyshell :

Mise en écoute avec rlwrap:

Obtention de la flag root.txt :

Mis à jour