Hack The Box - TwoMillion Writeup
Aperçu
Ce dépôt contient ma procédure pas à pas pour la machine Hack The Box - TwoMillion. L'objectif de ce writeup est de documenter ma méthodologie, d'expliquer le processus d'énumération et de démontrer la chaîne d'exploitation qui a mené aux accès User et Root.
Avertissement : Ce writeup est destiné uniquement à des fins éducatives. Toutes les actions ont été réalisées dans un environnement de laboratoire légal fourni par Hack The Box.
| Plateforme | Difficulté | Système d'exploitation |
|---|
| Hack The Box | Facile | Linux |
Compétences abordées
- Énumération
- Tests d'applications web
- Analyse JavaScript
- Énumération d'API
- Vulnérabilité IDOR
- Injection de commandes
- Découverte d'identifiants
- Élévation de privilèges locale
- Exploitation de CVE
Énumération
J'ai commencé par de l'énumération sur la machine cible pour voir quels ports et services elle possède.

Après avoir constaté qu'un service HTTP est présent et qu'il tente de rediriger vers un autre hôte, mais qu'il n'y a pas d'IP pour ce nom d'hôte, j'ai donc modifié le /etc/host

En essayant d'ouvrir le lien, on obtient cette page, puis en essayant d'aller sur la page d'intérêt pour voir ce qu'elle contient.

J'ai trouvé cette page web et j'ai cliqué sur Join HTB.

Ensuite, nous avons vérifié quels fichiers sont chargés à l'ouverture de cette page et avons trouvé un fichier JS intéressant.

Voici le contenu du fichier, mais il est obfusqué, nous allons donc le désobfusquer pour comprendre le code.

Voici le code, et il semble que nous ayons des URL à examiner.


En le décodant avec CyberChef local, nous avons obtenu un chemin pour générer une clé.

Ici, nous modifions le chemin de l'URL et nous obtenons un code d'invitation, mais il semble encodé.

J'ai essayé le base64, et ça a marché !! J'ai la clé d'invitation.


Nous avons obtenu cette page et avons commencé à chercher quelque chose d'intéressant.

Nous avons trouvé un générateur de fichiers VPN, ce qui est très utile si nous obtenons des détails sur des comptes privilégiés.

En suivant le lien de la page précédente et en essayant d'obtenir des endpoints, nous avons trouvé des chemins très intéressants à suivre pour les administrateurs.

J'ai alors commencé à essayer d'obtenir une authentification admin pour mon compte.



Finalement, nous avons obtenu l'ID, et je pense que nous avons les privilèges admin. Nous allons maintenant vérifier le statut d'authentification.

Oui, comme prévu, nous avons un accès admin. L'étape suivante consiste donc à essayer de générer un VPN pour moi en tant qu'admin.

Ici, nous commençons à remplir l'élément demandé dans la réponse.

Ici, nous avons obtenu un fichier VPN, mais pourquoi ne pas essayer une injection de commandes ?!!

Comme prévu, ça a marché !!!

Après avoir examiné un fichier intéressant comme .env, nous avons obtenu le mot de passe de l'admin.

Et enfin, nous sommes dans la machine.

Lecture du flag utilisateur

Ici, toutes les tentatives pour obtenir le flag Root



Ici, nous avons reçu un e-mail qui révèle une vulnérabilité très importante.

Après avoir identifié la version du noyau, j'ai recherché des vulnérabilités publiquement connues l'affectant et j'ai trouvé CVE-2023-0386. Il s'agit d'une vulnérabilité d'élévation de privilèges locale (LPE) dans l'implémentation du noyau Linux. Elle permet à un attaquant local d'obtenir les en exploitant un défaut dans la manière dont OverlayFS gère les fichiers avec les capabilities Linux. Comme la machine cible exécutait un noyau vulnérable, cette vulnérabilité offrait un moyen adapté d'élever les privilèges de l'utilisateur actuel jusqu'à .


J'ai téléchargé le dépôt dans ma VM et j'ai utilisé scp pour le copier sur la machine TwoMillion, lu le fichier README, puis déployé l'exploit.




Ici, nous avons obtenu l'accès Root et lu le flag Root.

Terminé !!

Merci <3
Abdullah Rawashdeh