Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
wp2shell-scanner — CVE-2026-63030 / CVE-2026-60137 - Scanner RCE pre-autenticazione per WordPress | Kitploit
Strumenti/GitHubGitHub/bahartanir/wp2shell-scanner
Escalation di PrivilegiScanner di VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingRed TeamingSviluppo PayloadLab e Pratica
GitHubbahartanir/wp2shell-scanner

wp2shell-scanner

CVE-2026-63030 / CVE-2026-60137 - Scanner RCE pre-autenticazione per WordPress

Vedi Repository
821 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

wp2shell-scanner

di @bahartanir (katherinepierce) Fork di ZephrFish/wp2shell-scanner con miglioramenti aggiuntivi. Ricerca di Adam Kues (Assetnote) e Mustafa Can İPEKÇİ (nukedx).

Strumenti di rilevamento e validazione per l'esposizione del core di WordPress a wp2shell (CVE-2026-63030 / CVE-2026-60137). Le modalità sono selezionate con un flag e il target è posizionale. --scan rileva la versione del core e conferma che la route REST /batch/v1 sia raggiungibile senza inviare un payload di exploit; le modalità --check/--read/--shell/--rce/--root-prereq sono il PoC di validazione per uso autorizzato in laboratorio.

wp2shell.py è uno script singolo che utilizza solo la libreria standard — nessuna dipendenza esterna. Ogni invocazione stampa il banner su stderr prima di eseguire (rimane fuori da stdout, quindi l'output JSON di --scan -j non viene influenzato).

Flag dei comandi

È richiesto esattamente un flag di modalità; il target è posizionale (un URL per ogni modalità, o un elenco di host per --scan).

Sinossi

root@kitploit:~
wp2shell.py (--scan | --check | --read | --shell | --rce | --root-prereq)
            [targets ...] [-f FILE] [-j] [-t THREADS] [--prefix PREFIX]
            [--delay DELAY] [--repeats REPEATS] [--preset PRESET] [--expr EXPR]
            [--max-len MAX_LEN] [--user USER] [--password PASSWORD] [--cmd CMD]
            [-i] [--no-cleanup] [-y] [--sleep SLEEP] [--rounds ROUNDS]
            [--route {auto,rest-route,wp-json}] [--proxy PROXY] [--authorized]
            [--timeout TIMEOUT]

Flag di modalità (scegli uno)

Flag opzionali

Approfondimento originale: https://blog.zsec.uk/wp2shell-code-trace-deep-dive/

Template Nuclei

root@kitploit:~
nuclei -t wp2shell-exposure.yaml -u https://target

Scansione (non distruttiva)

Singolo host, più host o un file.

root@kitploit:~
python3 wp2shell.py --scan https://target
python3 wp2shell.py --scan host1 host2 host3
python3 wp2shell.py --scan -f hosts.txt

Opzioni: -f/--file file host (uno per riga), -j/--json output JSON, -t/--threads concorrenza (default 10).

PoC di validazione

Le modalità --check/--read/--shell/--rce/--root-prereq inviano payload di exploit attivi. Eseguile solo contro il laboratorio localhost in bundle, o altri sistemi di tua proprietà e per i quali sei esplicitamente autorizzato a testare. --shell e --rce eseguono codice in remoto e sono destinate al laboratorio/target autorizzati; --rce su un host non loopback richiede --authorized. --root-prereq utilizza lo stesso plugin diagnostico token-gated per controllare i prerequisiti shell-to-root, ma non esegue un escalation di privilegi locale.

--shell necessita di una password admin recuperata/crackata. --rce è la catena pre-autenticazione senza credenziali: crea il proprio amministratore tramite SQLi (oEmbed → changeset → parse_request rientrante), poi distribuisce la webshell — nessuna password richiesta.

--shell, --rce e --root-prereq richiedono un'autorizzazione interattiva y/N prima che qualsiasi payload di esecuzione codice venga inviato (interrompono su stdin non interattivo/EOF). Passa -y/--yes per saltare il prompt per automazione contro il laboratorio o un target autorizzato.

root@kitploit:~
docker compose -f poc/lab/docker-compose.yml up -d
python3 wp2shell.py --check http://127.0.0.1:8080
python3 wp2shell.py --read  http://127.0.0.1:8080 --expr @@version
python3 wp2shell.py --shell http://127.0.0.1:8080 --user admin --password 'Summer2026!' --cmd id
python3 wp2shell.py --shell http://127.0.0.1:8080 --user admin --password 'Summer2026!' -i
python3 wp2shell.py --rce   http://127.0.0.1:8080 --cmd id
python3 wp2shell.py --rce   http://127.0.0.1:8080 -i
python3 wp2shell.py --root-prereq http://127.0.0.1:8080 --user admin --password 'Summer2026!'
python3 wp2shell.py --lpe   http://127.0.0.1:8080

I diff delle patch utilizzati per fondare il PoC sono salvati in poc/diffs/, con note di ricerca in poc/RESEARCH.md. La SQLi è completamente ricostruibile dalla correzione author__not_in. La catena --rce senza credenziali (oEmbed → changeset → re-entry → creazione admin) riproduce la RCE stock-default contro il laboratorio in bundle; --shell è il percorso alternativo tramite una credenziale admin recuperata/crackata per il caricamento autenticato di plugin e l'esecuzione di comandi.

Escalation di privilegi locale (--lpe)

--lpe incatena la RCE pre-autenticazione completa (SQLi → creazione admin → webshell) con un tentativo di escalation root automatico. Prova i seguenti in ordine, fermandosi al primo successo:

root@kitploit:~
python3 wp2shell.py --lpe http://127.0.0.1:8080
python3 wp2shell.py --lpe http://127.0.0.1:8080 -y          # skip auth prompt
python3 wp2shell.py --lpe https://target --authorized        # non-loopback

--lpe su un target non loopback richiede --authorized. Sul laboratorio in bundle (immagine base Ubuntu 22.04 con un kernel GameOverlay vulnerabile) CVE-2023-2640/32629 ha successo senza compilatore.

Scarica lo strumento
FlagCosa fa
--scanControllo di esposizione non distruttivo: impronta della versione + conferma che la route REST /batch/v1 sia raggiungibile. Nessun payload di exploit inviato.
--checkConferma SQLi blind basata sul tempo con una sonda differenziale innocua.
--readEstrae dati tramite SQLi blind (un preset o un'espressione scalare SQL grezza).
--shellCatena RCE autenticata utilizzando una password admin crackata/recuperata.
--rceRCE pre-autenticazione senza credenziali: crea il proprio admin tramite SQLi, quindi distribuisce una webshell auto-pulente.
--root-prereqControllo benigno dei prerequisiti shell-to-root; esegue solo diagnostica, mai un escalation di privilegi locale.
--lpeCatena completa: SQLi pre-autenticazione → creazione admin → webshell → root. Prova CVE-2023-2640/32629 (GameOverlay overlayfs), CVE-2023-4911 (Looney Tunables glibc), CVE-2026-31431 (AF_ALG Copy Fail), CVE-2026-23111 (sonda UAF nf_tables), poi fallback SUID/sudo/cap.
FlagApplicabile aCosa fa
-f, --file--scanLegge host da un file (uno per riga; commenti # saltati).
-j, --json--scanEmette risultati come JSON su stdout.
-t, --threads--scanConcorrenza di scansione (default 10).
--prefix--check/--readPrefisso tabella DB (default wp_).
--delay--check/--readSecondi SLEEP iniettati per l'oracolo di temporizzazione (default 0.15).
--repeats--check/--readMediana su N sonde per bit; aumentare su collegamenti rumorosi (default 1).
--preset--readTarget integrato: version, database, db_user, users, siteurl (default users).
--expr--readEspressione scalare SQL grezza da estrarre (sovrascrive --preset).
--max-len--readLunghezza massima della stringa estratta (default 128).
--user--shell/--root-prereqNome utente admin con cui accedere (default admin).
--password--shell/--root-prereqPassword admin in chiaro (cracka l'hash da --read; richiesta per queste modalità).
--cmd--shell/--rceComando da eseguire sul target (default id).
-i, --interactive--shell/--rceCiclo interattivo di comandi web invece di un singolo comando.
--no-cleanup--shell/--rceLascia il plugin/webshell rilasciato in posizione (solo laboratorio).
-y, --yes--shell/--rce/--root-prereqSalta il prompt di autorizzazione interattivo (per automazione).
--sleep--rceSecondi SLEEP iniettati per il rilevamento SQLi pre-autenticazione (default 4).
--rounds--rceMediana su N sonde per il rilevamento --rce (default 3).
--route--rceForma della route batch: auto, rest-route o wp-json (default auto).
--proxy--rceInstrada richieste attraverso un proxy HTTP, es. Burp su http://127.0.0.1:8080.
--authorized--rceAfferma l'autorizzazione per un target --rce non loopback (richiesto per host remoti).
--timeouttuttiTimeout per richiesta in secondi (default 15).
CVEAffettiTecnicaCompilatore
CVE-2023-2640 / CVE-2023-32629Ubuntu 22.04 / 23.04, kernel < 6.3.3 con driver GameOverlayMontaggio overlayfs non privilegiato nel namespace utente preserva chmod +s sulla dir superioreNessuno (solo shell)
CVE-2023-4911glibc 2.34–2.38 (Ubuntu 22.04, Debian 12, Fedora 37–38)Overflow dello stack GLIBC_TUNABLES in _dl_parse_tunables() → iniezione LD_PRELOAD su exec SUIDRichiede gcc
CVE-2026-31431Kernel Linux con algif_aead + authencesn(hmac(sha256),cbc(aes))Ottimizzazione AF_ALG AEAD in-place + splice() scrive 4 byte nella cache di pagina binaria SUID; sonda prerequisito — link a AliHzSec/CVE-2026-31431Richiede gcc
CVE-2026-23111Ubuntu 22.04 / 24.04, Debian Bookworm / TrixieControllo invertito UAF nf_tables in nft_map_catchall_activate() → underflow chain->use → catena liberata; sonda prerequisito — link a Baba01hacker666/CVE-2026-23111Richiede gcc
FallbackQualsiasiAbuso SUID GTFOBins + sudo NOPASSWDNessuno