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