WordPress
Principales rutas y archivos
General:
/index.php
/wp-config.php
= información requerida por WordPress para conectarse a la base de datos./wp-content/
= directorio principal donde se almacenan los complementos y los temas./wp-content/uploads/
/wp-content/plugins/
/wp-content/themes/
xmlrpc.php
Inicio de sesión:
/wp-admin/login.php
/wp-admin/wp-login.php
/login.php
/wp-login.php
/license.txt
/readme.html
Roles de usuarios
Enumeración
General
--url = URL (Uniform Resource Locator).
<target> = objetivo.
--api-token = API token (https://wpscan.com/).
<api-token> = API token.
-o = guarda resultado del escaneo en archivo
wpscan.txt
.
Nmap
-p 80,443 = puertos 80/TCP y 443/TCP.
--script http-wordpress-enum = enumeración general.
check-latest=true: recupera información de la versión más reciente del plugin desde wordpress.org.
search-limit=200: limite de búsqueda de 250 temas y plugins.
<target> = objetivo.
cURL
Obtención de número de versión de Wordpress.
Usuarios
WPScan
--url = URL (Uniform Resource Locator).
<target> = objetivo.
--enumerate u = enumeración de usuarios.
-o = guarda resultado del escaneo en archivo
wpscan-user.txt
.
Nmap
-p 80,443 = puertos 80/TCP y 443/TCP.
--script http-wordpress-users = enumeración de usuarios.
--script-args limit=50: limite de búsqueda por los primeros 50 ID de usuarios.
<target> = objetivo.
cURL
Enumeración por nombre de usuario.
<target> = objetivo.
<username> = nombre de usuario.
Enumeración de usuarios desde listado.
<path-usernames> = ruta de usuarios.
<target> = objetivo.
Enumeración de usuarios por ID.
JSON endpoint.
Plugins
Desactivar un plugin vulnerable no mejora la seguridad del sitio de WordPress. Es una buena práctica eliminar o mantener actualizados los complementos no utilizados.
Si un plugin está desactivado, aún puede ser accesible y, por lo tanto, podemos obtener acceso a sus scripts y funciones asociados.
Revisión manualmente de ruta de plugins.
WPScan
--url = URL (Uniform Resource Locator).
<target> = objetivo.
--enumerate p = enumeración de plugins.
Nmap
-p 80,443 = puertos 80/TCP y 443/TCP.
--script http-wordpress-enum = enumeración general.
type="themes" = enumeración de temas.
check-latest=true: recupera información de la versión más reciente del plugin desde wordpress.org.
search-limit=200: limite de búsqueda de 250 plugins.
<target> = objetivo.
cURL
Themes
cURL
XML-RPC
Verificación de XML-RPC activo.
/xmlrpc.php
Ataques de contraseñas
Usuarios
WPScan
Método "wp-login".
--password-attack = wp-login.
--url = URL (Uniform Resource Locator).
<target> = objetivo.
--usernames = usuarios.
<user-01, user-02, user-03> = usuario 01, usuarios 02, usuario 03, etc.
--passwords = contraseñas.
<path-passwords> = ruta de archivo con listado de contraseñas.
Método "xmlrpc".
--password-attack = xmlrpc.
--url = URL (Uniform Resource Locator).
<target> = objetivo.
--usernames = usuarios.
<user-01, user-02, user-03> = usuario 01, usuarios 02, usuario 03, etc.
--passwords = contraseñas.
<path-passwords> = ruta de archivo con listado de contraseñas.
cURL
Utilizando XML-RPC (/xmlrpc.php
).
{user} = usuario.
{password} = contraseña.
<target> = objetivo.
Cracking de contraseñas de usuarios en base de datos
MySQL CLI
John the Ripper
Upload reverse shell
Theme
Se recomienda seleccionar un theme inactivo, asà evitar corromper el theme principal que se encuentra en uso.
Modificación de theme.
wp-admin -> Appearance -> Theme Editor -> Select theme to edit -> 404 Template (404.php)
Ejecución de webshell.
Plugin
wp-admin -> Plugins -> Plugin Editor -> file.php
Activar plugin.
Metasploit Framework (MSF)
Última actualización