OBJETIVOS DE ESTE HOW-TO:
1.- Obtener usuarios y credenciales válidos para el acceso al entorno web,
una vez dentro intentar generar una RCE
2.- Encontrar vulnerabilidades en plugins o themes para la obtención de un
RCE u otras cosas.
3.- Encontrar archivos de configuración con información útil.
PASOS A SEGUIR
· Detección de
la presencia de WordPress
o
Cabeceras HTTP.
>>> Se obtiene por ejemplo una cabecera : X-Redirect-By: WordPress
o
En robots.txt >>> Aparecen
referencia a carpetas:
§ /wp-admin/
§ /wp-admin/login.php
§ /wp-admin/wp-login.php
§ /wp-admin.php
§ /wp-content/
§ /wp-includes/
§ /wp-login/
§ /wp-login.php
§ /login/
§ /login.php.
IMPORTANTE: Principales ficheros/directorios de WordPress:
· license.txt >>> contiene información útil
· wp-activate.php >>> es usado por el proceso
de activación por correo electrónico mientras se configura el WordPress
· Carpetas de login
o
/wp-admin/login.php
o
/wp-admin/Wp-login.php
o
/login.php
o
/wp-login.php
· xmlrpx.php >>> fichero que presenta la
capacidad de WordPress para solicitar información enviando las peticiones por
HTTP mediante XML. Estas comunicaciones se están reemplazando por API REST
· /wp-content/ >>> directorio donde se
almacenan los plugins y themes
· /wp-content/uploads/ >>> directorios donde se
almacena cualquier fichero subido a WordPress
· /wp-includes/ >>> directorio dónde se
almacenan los ficheros esenciales de WordPress, tales como certificados,
fuentes, código javascript, etc.
o
Buscar en el código fuente de la página inicial:
§ Cadena “wordpress”
§ Cadena: ‘<meta
name:”generator”’
§ Cadena: “.css?ver”
§ Cadena: “.js?ver”
NOTA: Estas dos últimas cadenas pueden darnos también
información sobre: plugins, themes … entre esa información, las versiones
o
Mediante
herramientas
§ Nuclei >>> echo “<página>”| nuclei -t wordpress-detect.yaml
§ Wp-scan
NOTA: con token
§ Wappalyzer
· Detectar
usuarios
o
https[:]//<dominio>/?author=[0..1000]
o
https[:]//<dominio>/wp-json/wp/v2/users
NOTA: Tras obtener un listado de usuarios, se podrían
realizar ataques de diccionario y fuerza bruta.
Los
usuarios de WordPress pueden tener estos roles:
§ Administrator
§ Editor: Pública y gestiona sus post y los de otros.
§ Author: Pública y gestiona sólo sus propios post.
§ Contributor: Escribe y gestiona sus post pero no puede
publicarlos.
§ Subscriber: Puede buscar post y editar su perfil.
· Detectar la existencia y uso del archivo: xmlrpc.php
o
Esto permitiría
usar los métodos accesibles para hacer “cosicas”, como por ejemplo: ataques de
fuerza bruta
· Detectar
plugins
o
En el código
fuente de la página inicial, buscar:
§ Cadena: “.css?ver”
§ Cadena: “.js?ver”
NOTA: Estas dos últimas cadenas pueden darnos también
información sobre: plugins, themes … entre esa información, las versiones
o
Mediante
herramientas
§ Wp-scan
· Detectar
themes
o
En el código
fuente de la página inicial, buscar:
§ Cadena: “.css?ver”
§ Cadena: “.js?ver”
NOTA: Estas dos últimas cadenas pueden darnos también
información sobre: plugins, themes … entre esa información, las versiones
o
Mediante
herramientas
§ Wp-scan
· Detectar fugas
de información
o
De la
configuración >>> https[:]//<dominio>/wp-config.[php|txt|zip|md|php_orig|bak]
o
De los logs de
debugging >>> https[:]//<dominio>/wp-content/debug.log
o
De los backups
>>>
https[:]//<dominio>/domain.[7z|lz|xz|bz2|gz|sql.xz|sqlitedb|rar|tar.gz|zip|z|tar.z|sql.tar.z|sql.gz|db|sqlite|sql.7z|sql.bz2|sql.lz|sql.rar|sql.tar.gz|sql.zip|sql.z]
· Detectar la existencia y uso del archivo: wp-cron.php
o
Esto permite
realizar ataques de DoS