Artificial (HTB)
Cette box Linux “easy” de HackTheBox exploite une vulnérabilité TensorFlow pour obtenir un accès initial, puis une élévation de privilèges via des backups et la récupération de hash. Ce writeup suit une démarche pédagogique et structurée.
Introduction
Artificial est une machine Linux orientée IA. Vous allez exploiter une faille RCE dans TensorFlow via un upload de modèle, puis escalader vos privilèges grâce à l’analyse de backups et la récupération de hash root. Objectifs :- Obtenir un shell utilisateur (gael)
- Élever les privilèges pour obtenir root
- Savoir utiliser Docker, John, restic, et les outils classiques de pentest
Enumération
1
Scan Nmap
Lancez un scan Nmap complet pour identifier les services ouverts :
Ports principaux :

- 22/tcp : SSH (OpenSSH 8.2p1)
- 80/tcp : HTTP (nginx 1.18.0)
2
Enumération Web
Accédez au site web sur le port 80. Vous pouvez créer un compte et accéder à une interface d’upload de modèles IA.Explorez les fonctionnalités et récupérez les fichiers
requirements.txt
et Dockerfile
proposés.Exploitation (TensorFlow RCE)
1
Préparation de l'environnement Docker
Utilisez le Dockerfile fourni pour reproduire l’environnement localement (important pour que l’exploit fonctionne) :
2
Création du modèle malicieux
Créez un modèle TensorFlow avec une fonction Lambda qui exécute un reverse shell :Remplacez
VOTRE_IP
par l’adresse de votre machine d’attaque.3
Upload et exécution du modèle
Uploadez le modèle via l’interface web, puis cliquez sur “View Predictions” pour déclencher le reverse shell.
Vous obtenez un shell en tant qu’utilisateur
app
.Post-Exploitation (User → gael)
1
Extraction des hashes utilisateurs
Dans le dossier de l’application, trouvez la base de données Récupérez le hash MD5 de l’utilisateur
users.db
.gael
.2
Crack du hash avec John
Placez le hash dans un fichier et lancez John :Le mot de passe cracké permet de passer sur l’utilisateur
gael
.Privesc Root
1
Analyse des backups
Dans Vous obtenez un hash bcrypt.
/var/backups
, trouvez un fichier volumineux backrest_backup.tar.gz
. Extrayez-le localement.Recherchez un fichier config.json
contenant un hash bcrypt base64 :2
Crack du hash root
Utilisez John pour casser le hash :Vous obtenez le mot de passe root du service backup.
3
Port forwarding et exploitation restic
Identifiez un service local sur le port 9898. Faites un port forwarding SSH :Lancez un serveur restic sur votre machine, puis initiez une sauvegarde distante depuis la box :Restaurez le snapshot sur votre machine pour obtenir
root.txt
.Récapitulatif et Conseils
Résumé de la box Artificial
Résumé de la box Artificial
User : RCE TensorFlow via upload de modèle malicieux, extraction et crack du hash MD5.
Root : Analyse de backup, extraction d’un hash bcrypt, port forwarding, exploitation restic pour récupérer /root.
Conseils et bonnes pratiques
Conseils et bonnes pratiques
- Toujours reproduire l’environnement cible pour les exploits complexes (Dockerfile fourni)
- Pensez à vérifier les backups et fichiers volumineux pour des secrets
- Utilisez les outils GTFOBins pour l’escalade de privilèges
- Automatisez la récupération et le crack des hashes
Pour illustrer chaque étape, utilisez la balise
<Frame>
autour de vos captures d’écran.