Previse HackTheBox (WriteUp)
Skills:
Web Enumeration
Execution After Redirect (EAR) Vulnerability - Skipping Redirects
PHP Source Code Analysis
Command Injection (RCE)
Information Leakage
Database Enumeration
Cracking Hashes
Abusing Sudoers Privilege + PATH Hijacking [Privilege Escalation]
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:

Scan de la version des ports avec Nmap 22,80:
Utilisation de Nmap pour scanner la version des ports et extraction des informations dans le fichier "targeted" :

Port 80 - HTTP
Nous trouvons une page de connexion nécessitant un login et un mot de passe.

Fuzzing des répertoires et fichiers PHP
Étant donné la présence d'un fichier PHP, il est probable qu'il y en ait d'autres :
Vulnérabilité EAR (Execution After Redirect) - Skipping Redirects
Nous trouvons plusieurs pages contenant du contenu mais redirigeant vers la page de connexion.

Nous interceptons la requête à nav.php avec Burp Suite et observons une redirection 302.

En forçant la réponse à 200 OK, nous accédons directement à la page accounts.


Nous créons une règle dans Burp Suite pour modifier automatiquement les réponses 302 Found en 200 OK.

Nous créons ensuite un utilisateur jordan et nous nous connectons.

Analyse des fichiers récupérés
Nous téléchargeons un fichier trouvé sur /files :


Nous trouvons plusieurs fichiers PHP et observons que logs.php utilise la fonction exec() sans aucune validation :

Exploitation de la Command Injection (RCE)

Nous interceptons la requête vers file_logs.php et injectons une commande via le paramètre delim :
Nous recevons une connexion.

Reverse Shell
Nous créons un fichier index.html contenant :
Nous lançons un serveur web Python :
Nous mettons en écoute notre machine sur le port 443 :
Nous exécutons la commande suivante pour récupérer le reverse shell :
Nous sommes maintenant l'utilisateur www-data.

Amélioration du Shell
Élévation de privilèges
Pivoting utilisateur m4lwhere
Nous trouvons un fichier contenant des identifiants :
$user : root
$passwd : mySQL_p@ssw0rd!:)

Nous nous connectons à la base de données MySQL :
Nous listons les bases de données :
Nous trouvons la base previse, que nous utilisons:

Nous explorons la table accounts :

Nous trouvons :
username: m4lwhere
password: $1$🧂llol$DQpmdvnb7EeuO6UaqRItf.

Cracking du Hash
Nous utilisons Hashcat pour le décrypter :
Mot de passe trouvé :
password : ilovecody112235!

Nous nous connectons en tant que m4lwhere.

Flag user.txt :)

PATH Hijacking (gzip)
Nous listons les permissions sudo :
Nous trouvons un script exécutable en tant que root utilisant gzip sans chemin absolu.

Création d'un binaire malveillant
Nous créons un fichier gzip malveillant dans /tmp/ :
Nous modifions la variable PATH pour prioriser /tmp/ :

Nous exécutons le script en tant que root :

Flag root.txt :)


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