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

Reconnaissance fichier "info.php":

Recherche de répertoires avec Gobuster:

Utilisez Gobuster avec une dictionnaire pour trouver des fichiers d'accès cachés.

Un fichier nommé info.php a été localisé, qui englobe toute la configuration PHP du serveur.

On peut observer qu'il n'y a aucune fonction désactivée.

Vulnérabilité File Upload:

Après avoir localisé le fichier "info.php", explorez la possibilité de télécharger des fichiers sur le serveur.

Interception avec BurpSuite:

Utilisez BurpSuite pour intercepter la requête. Modifiez la méthode de "GET" à "POST".

Requête pour importer un fichier texte sur le serveur:

Utilisez la structure de BurpSuite ci-dessous pour envoyer une requête de téléchargement d'un fichier nommé test.txt :

Injection de code PHP:

Essayez d'injecter du code PHP en utilisant la même structure BurpSuite. Modifiez le contenu du fichier à injecter.

Confirmation de l'injection:

Vérifiez si l'injection a réussi en confirmant la présence du fichier "cmd.php" sur le serveur.

Recherche du LFI

Pour trouver une vulnérabilité LFI, nous utilisons l'outil wfuz pour identifier un possible paramètre redirigeant vers un fichier PHP. La commande est la suivante:

Difficulté avec le changement constant du dossier:

Malheureusement, nous ne parvenons pas à lister le contenu du fichier cmd.php en raison du changement constant du dossier temporaire:

Vulnérabilité Race Condition:

Nous utilisons un script automatisé pour exploiter la race condition dans le processus.

Adaptation du script

Nous adaptons le script à notre situation particulière.

Accès réussi à la machine:

Nous parvenons à obtenir un accès à la machine en exploitant la race condition.

Traitement de la terminal pour Surmonter les Privilèges:

Élévation de privilèges:

Nous observons que nous sommes dans un conteneur et utilisons la commande pour trouver l'adresse du conteneur réel (192.168.150.1). Ensuite, nous vérifions si le port 22 est ouvert sur cette machine.

Énumération du Système (LINpeas):

Nous utilisons Linpeas pour la reconnaissance des privilèges:

Nous repérons un dossier tgz inattendu dans le répertoire racine.

Crack de la Clé SSH Privée Protégée:

Identification de la clé SSH privée

Nous identifions une paire de clés SSH publique et privée OpenSSH.

Crackage de la clé privée:

  • Nous observons que la clé privée est chiffrée

  • Nous utilisons ssh2john.py pour convertir le contenu du fichier en un hash:

  • Ensuite, nous utilisons John the Ripper pour casser le hash avec un fichier de mots de passe.

Accès en tant que root:

Nous obtenons l'accès à la machine en tant que root.

Abus de la Confiance des Paires de Clés SSH pour Échapper du Conteneur:

Nous tentons de migrer vers une autre machine en utilisant la configuration de known_hosts dans le répertoire ssh du conteneur, ce qui nous permet de nous connecter à l'utilisateur admin sur la machine hôte.

Abus du Groupe Docker (Élévation de Privilèges):

Appartenance au groupe docker:

Nous observons que nous faisons partie du groupe docker.

Utilisation du groupe docker pour surmonter les privilège:

Nous exploitons notre appartenance au groupe docker pour monter les privilège la machine réelle dans un conteneur admin:

PWNED :)

Mis à jour

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