NodeBlog HackTheBox (WriteUp)
Skills:
NoSQL Injection (Authentication Bypass)
XXE File Read
NodeJS Deserialization Attack (IIFE Abusing)
Mongo Database Enumeration
Reconnaissance
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,5000
Utilisation de Nmap pour scanner la version des ports et extraction des informations dans le fichier "targeted" :

Analyse du Port 5000 - Application NodeJS

Un panneau d'administration est découvert.
L'utilisateur "admin" est valide.

Vulnérabilité NoSQL Injection (Bypass d'authentification)
Interception de la requête avec Burp Suite.

Test des injections classiques :
Cela ne fonctionne pas.
Conversion en JSON et modification du Content-Type en application/json :
Résultat : Authentification réussie !

Exploitation de la vulnérabilité XXE Injection

Upload d'un fichier TXT : refusé, seuls les fichiers XML sont acceptés.

Format requis :


Envoi d'un fichier XML contenant une entité externe pour lire /etc/passwd :
Résultat : Le contenu de /etc/passwd est affiché.

Découverte d'un utilisateur
admin.

Injection pour lire /opt/blog/server.js et identifier les identifiants stockés.


Exploitation de la désérialisation NodeJS
Découverte d'une fonction qui désérialise les cookies de session.

Création d'un Payload:
Écoute du trafic ICMP avec :
Url Encode:

Construction d'une RCE via URL Encoding et injection dans les cookies.


RCE - Vulnérabilité Deserialization (nodejs)
Création d'un script de reverse shell index.html :
Démarrage d'un serveur HTTP :
Mise en écoute :
Envoi de la charge utile :
Url Encode:
Résultat : Accès shell obtenu.

Flag user.txt :)

Élévation de Privilèges
Mongo Database Enumeration

Connexion à la base de données MongoDB (port 27017 ouvert) :

user: admin
password : IppsecSaysPleaseSubscribe

Sudo (ALL:ALL)
Vérification des privilèges sudo :
Résultat : l'utilisateur admin peut exécuter sudo su sans mot de passe.

Passage en root :

Flag root.txt :)


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