Erkennungs- und Validierungswerkzeuge für die WordPress-Core-Exposition gegenüber wp2shell
(CVE-2026-63030 / CVE-2026-60137). Die Modi werden mit einem Flag ausgewählt, und das
Ziel ist positionsabhängig. --scan nimmt einen Fingerabdruck der Core-Version und bestätigt, dass die
REST /batch/v1-Route erreichbar ist, ohne eine Exploit-Payload zu senden; die
--check/--read/--shell/--rce/--root-prereq-Modi sind der Validierungs-PoC
für autorisierte Labornutzung.
wp2shell.py ist ein einzelnes Skript, das nur die Standardbibliothek verwendet – keine externen
Abhängigkeiten. Jeder Aufruf gibt ein ZephrSec-Banner auf stderr aus, bevor es
läuft (es bleibt von stdout fern, sodass die JSON-Ausgabe von --scan -j nicht beeinträchtigt wird).
Zerstörungsfreier Expositionscheck: Versions-Fingerabdruck + bestätigt, dass die REST /batch/v1-Route erreichbar ist. Es wird keine Exploit-Payload gesendet.
--check
Bestätigt eine blinde zeitbasierte SQLi mit einer harmlosen differenziellen Sonde.
--read
Extrahiert Daten über blinde SQLi (ein Preset oder ein roher SQL-Skalarausdruck).
--shell
Authentifizierte RCE-Kette unter Verwendung eines geknackten/wiederhergestellten Admin-Passworts.
--rce
Anmeldeinformationslose Pre-Auth-RCE: Erzeugt sich selbst einen Admin über die SQLi und setzt dann eine sich selbst säubernde Webshell ein.
--root-prereq
Harmloser Shell-zu-Root-Prüfschritt; führt nur Diagnosen durch, niemals eine lokale Privilegieneskalation.
Optionsflags
Flag
Gilt für
Was es tut
-f, --file
--scan
Hosts aus einer Datei lesen (eine pro Zeile; #-Kommentare werden übersprungen).
-j, --json
--scan
Ergebnisse als JSON auf stdout ausgeben.
-t, --threads
--scan
Scan-Gleichzeitigkeit (Standard 10).
--prefix
--check/--read
DB-Tabellenpräfix (Standard wp_).
--delay
--check/--read
Eingefügte SLEEP-Sekunden für das Timing-Orakel (Standard 0,15).
--repeats
--check/--read
Median über N Sonden pro Bit; bei verrauschten Verbindungen erhöhen (Standard 1).
Die Modi --check/--read/--shell/--rce/--root-prereq senden echte Exploit-
Payloads. Führen Sie sie nur gegen das mitgelieferte Localhost-Labor oder andere Systeme aus, die Ihnen gehören und für die Sie ausdrücklich autorisiert sind, sie zu testen. --shell und --rce führen eine entfernte Codeausführung durch und sind für das Labor/autorisierte Ziele vorgesehen; --rce auf einem Nicht-Loopback-Host erfordert --authorized. --root-prereq verwendet dasselbe token-gesteuerte Diagnose-Plugin, um Shell-zu-Root-Voraussetzungen zu prüfen, führt jedoch keine lokale Privilegieneskalation durch.
--shell benötigt ein wiederhergestelltes/geknacktes Admin-Passwort. --rce ist die
anmeldeinformationslose Pre-Auth-Kette: Es erzeugt sich selbst einen Administrator über die SQLi (oEmbed → Changeset → reentrante parse_request) und setzt dann die Webshell ein – kein Passwort erforderlich.
--shell, --rce und --root-prereq fordern vor dem Senden einer Codeausführungs-Payload eine interaktive y/N-Autorisierung (sie brechen bei nicht interaktivem/EOF-Stdin ab). Übergeben Sie -y/--yes, um die Eingabeaufforderung für die Automatisierung gegen das Labor oder ein autorisiertes Ziel zu überspringen.
Patch-Diffs, die zur Untermauerung des PoC verwendet werden, sind unter poc/diffs/ gespeichert, mit Forschungsnotizen
in poc/RESEARCH.md. Die SQLi ist vollständig aus dem author__not_in-Fix rekonstruierbar. Die anmeldeinformationslose --rce-Kette (oEmbed → Changeset → Re-Entry → Admin-Erstellung) reproduziert die Standard-RCE gegen das mitgelieferte Labor; --shell ist der alternative Pfad über eine wiederhergestellte/geknackte Admin-Anmeldeinformation zur authentifizierten Plugin-Upload- und Befehlsausführung.
--read
--cmd
--shell/--rce
Auf dem Ziel auszuführender Befehl (Standard id).
-i, --interactive
--shell/--rce
Interaktive Web-Befehlsschleife anstelle eines einzelnen Befehls.
--no-cleanup
--shell/--rce
Das hinterlassene Plugin/Webshell bleibt bestehen (nur Labor).
-y, --yes
--shell/--rce/--root-prereq
Überspringe die interaktive Autorisierungsaufforderung (für Automatisierung).
--sleep
--rce
Eingefügte SLEEP-Sekunden für die Pre-Auth-SQLi-Erkennung (Standard 4).
--rounds
--rce
Median über N Sonden für --rce-Erkennung (Standard 3).
--route
--rce
Stapel-Routenform: auto, rest-route oder wp-json (Standard auto).
--proxy
--rce
Leite Anfragen über einen HTTP-Proxy, z. B. Burp unter http://127.0.0.1:8080.
--authorized
--rce
Bestätige Autorisierung für ein Nicht-Loopback---rce-Ziel (erforderlich für entfernte Hosts).
--timeout
alle
Zeitüberschreitung pro Anfrage in Sekunden (Standard 15).