Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Enigm-Writeup — Analyse complète de test d'intrusion et détails d'exploitation pour Hack The Box - machine Enigma, couvrant l'énumération locale, l'injection de commande OliveTin CVE-2026-27626 et l'élévation de privilèges root | Kitploit
Outils/GitHubGitHub/abdelhakimgafernetworksec/enigm-writeup
Escalade de PrivilègesReconnaissanceAnalyse des VulnérabilitésExploitationExploitation d'Applications WebPost-ExploitationCTFTests d'IntrusionApprentissage et Éducation

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Labs et Pratique
GitHubabdelhakimgafernetworksec/enigm-writeup

Enigm-Writeup

Analyse complète de test d'intrusion et détails d'exploitation pour Hack The Box - machine Enigma, couvrant l'énumération locale, l'injection de commande OliveTin CVE-2026-27626 et l'élévation de privilèges root

Voir le dépôt
11il y a 1 jourPas encore vérifié

Hack The Box : Enigma - Rapport complet de test d'intrusion et de write-up

1. Résumé exécutif

Enigma est une machine Linux de niveau intermédiaire hébergée sur Hack The Box. La méthodologie d'évaluation suit un cycle de vie standard de test d'intrusion : reconnaissance, énumération, accès initial via la collecte d'identifiants, énumération locale et élévation de privilèges root par le biais d'une vulnérabilité de couche de service (CVE-2026-27626 dans OliveTin). Ce write-up détaille l'analyse pas à pas des vecteurs, les outils utilisés, les stratégies d'exécution de code et les recommandations de remédiation nécessaires pour compromettre entièrement la cible et sécuriser le contrôle administratif.


2. Collecte d'informations et reconnaissance

2.1 Analyse des ports réseau (Nmap)

L'évaluation a commencé par un scan TCP SYN afin d'identifier les ports ouverts et les services en cours d'exécution sur l'hôte cible.

root@kitploit:~
nmap -p- --min-rate=1000 -T4 <TARGET_IP>

Résultats du scan :

  • Port 22/tcp (SSH) : Ouvert, démon OpenSSH en cours d'exécution.
  • Port 80/tcp (HTTP) : Ouvert, serveur web Nginx/Apache hébergeant une application web.
  • Port 2049/tcp (NFS) : Ouvert, service de partage de fichiers réseau.

2.2 Énumération web et force brute de répertoires

À l'aide d'outils de découverte de répertoires (gobuster / ffuf), nous avons analysé le service web sur le port 80 afin de découvrir des points de terminaison cachés, des portails administratifs ou des artefacts de configuration.

  • Découverte d'une présence web publique et d'articles de blog de développeurs décrivant les composants d'infrastructure internes.
  • Identification de chemins d'application potentiels liés aux fichiers de configuration de base de données et aux scripts d'automatisation.

3. Accès initial (compromission au niveau utilisateur)

3.1 Découverte d'identifiants

Grâce à une analyse détaillée des fichiers de l'application web et des partages NFS auxiliaires, nous avons découvert des identifiants de développeur valides.

  • Nom d'utilisateur : haris
  • Mot de passe : bestfriends

3.2 Établissement du shell utilisateur via SSH

Avec les identifiants découverts, nous nous sommes authentifiés auprès du service SSH afin d'établir un shell interactif à faibles privilèges sur le système cible :

root@kitploit:~
ssh haris@<TARGET_IP>
  • Shell interactif obtenu : haris@enigma:~$
  • Localisation et récupération réussies du flag utilisateur (user.txt).

4. Énumération locale et découverte de l'élévation de privilèges

4.1 Audit des services internes

Après avoir établi un shell au niveau utilisateur, nous avons examiné les ports en écoute locaux et les processus actifs afin d'identifier les surfaces d'attaque potentielles non exposées à l'extérieur :

root@kitploit:~
ss -tulpn

Découverte clé :

  • Le service web de gestion d'automatisation OliveTin était en cours d'exécution localement sur 127.0.0.1:1337 avec les privilèges root.

4.2 Analyse de la configuration et des vulnérabilités d'OliveTin

Une inspection plus approfondie du fichier de configuration de l'application OliveTin (/opt/OliveTin/config.yaml) a révélé que les actions de sauvegarde de base de données étaient exécutées via un wrapper shell. Plus précisément, la configuration utilisait le paramètre db_pass au sein d'une chaîne de commande mysqldump :

root@kitploit:~
shell: "mysqldump -u {{ db_user }} -p'{{ db_pass }}' {{ db_name }} > /opt/backups/backup.sql"
arguments:
  - name: db_pass
    type: password

Cette configuration introduit une vulnérabilité critique d'injection de commandes (CVE-2026-27626) car le paramètre db_pass est entouré de guillemets simples dans un contexte shell, mais ne nettoie pas correctement les entrées contenant des opérateurs de contrôle shell (par exemple, les points-virgules ;, les pipes | ou les backticks).


5. Stratégie d'exploitation et exécution (CVE-2026-27626)

5.1 Mise en place d'un tunnel de redirection de port SSH

Étant donné que le service OliveTin vulnérable est strictement lié à 127.0.0.1:1337, les requêtes externes provenant de la machine attaquante Kali sont bloquées avec une erreur Connection refused. Pour interagir avec le service, nous avons établi un tunnel de redirection de port local via SSH :

root@kitploit:~
ssh -L 1337:127.0.0.1:1337 haris@<TARGET_IP>

5.2 Élaboration et exécution de la charge utile d'exploitation

À l'aide d'un script d'exploitation Python ciblant le point de terminaison de l'API OliveTin (/api/olivetin.api.v1.OliveTinApiService/StartAction), nous avons injecté des commandes système arbitraires dans le vecteur de paramètre vulnérable.

En raison de la syntaxe shell stricte et des dépendances de répertoire dans le wrapper de commande mysqldump d'origine, la création directe de fichiers pouvait parfois entraîner des erreurs de statut de sortie (telles que des répertoires cibles manquants ou des contraintes de permissions). En élaborant des chaînes d'exécution précises ou en interrogeant directement le système de fichiers via la vulnérabilité de l'API, nous avons contourné les obstacles d'exécution.

Exécution de la charge utile de commande via l'interface d'exploitation :

root@kitploit:~
python3 CVE-2026.27626.py -u http://127.0.0.1 -x "cat /root/root.txt"

Sortie d'exécution :

root@kitploit:~
[+] Execution ID: 7fd15259-3996-4e03-9ebd-329034ee4e0d
======================================================================
Command Output
======================================================================
exit status 127
Usage: mysqldump [OPTIONS] database [tables]
...
ae9306f5690c4812c6f9445027d0d060
sh: 1: : Permission denied
======================================================================

Le flag root a été extrait avec succès directement via le flux de sortie de la commande.


6. Post-exploitation et preuves de compromission

  • Flag root obtenu : ae9306f5690c4812c6f9445027d0d060
  • Persistance administrative : Un mécanisme de persistance alternatif consiste à ajouter une clé publique SSH à /root/.ssh/authorized_keys via le vecteur d'injection de commandes, ce qui accorde un accès terminal administratif transparent.

7. Recommandations de remédiation et de défense

  1. Nettoyage des entrées et paramétrage : Veiller à ce que les paramètres d'application transmis aux commandes système (tels que les mots de passe de base de données dans OliveTin) soient strictement validés par rapport à des jeux de caractères alphanumériques, en interdisant les métacaractères shell bruts.
  2. Principe du moindre privilège : Éviter d'exécuter des logiciels d'automatisation de gestion comme OliveTin dans le contexte de sécurité root, sauf si cela est absolument nécessaire. Exécuter les services sous des comptes de service dédiés avec des permissions minimales.
  3. Mises à jour logicielles : Mettre à niveau OliveTin et les wrappers d'automatisation associés vers des versions corrigées où les vulnérabilités d'injection de commandes via des paramètres templatisés sont atténuées.
  4. Segmentation réseau : Restreindre les interfaces de gestion de la liaison aux interfaces de bouclage si la supervision administrative nécessite une authentification multifacteur ou des listes de contrôle d'accès (ACL) au niveau réseau.
Télécharger l’outil