Obtener toda la información posible del objetivo (fingerprinting) es una de las fases fundamentales a la hora de realizar el proceso de Hacking Ético, auditoría o tests de penetración. Y algunos de los datos más interesantes que se pueden obtener de una web gestionada por el gestor de contenidos WordPress es su lista de usuarios.

Como hemos visto en un artículo anterior (http://www.parahackers.com/blog/wordpress-ataques-de-fuerza-bruta/), conocer un nombre de usuario de WordPress facilita los ataques de fuerza bruta, ya que permite atacar sólo a la contraseña. Por ello usar nombres de usuario por defecto o muy utilizados como admin, root, administrador, … no resulta recomendable.

De todas formas aunque creemos nombres de usuario complejos u originales es posible descubrir los nombres de usuario de nuestra web debido a una característica de WordPress (que puede ser considerada una vulnerabilidad).

WordPress por defecto tiene un enlace directo a las entradas escritas por cada uno de los usuarios de la web. Por ejemplo:

http://nuestrowordpress/?author=1

La url anterior intentará devolver la lista de entradas del usuario número 1 de nuestro WordPress, aportando información sobre su nombre de usuario, nombre completo, etc … La respuesta a dicha url puede variar dependiendo de los temas y versiones que usemos: en algunos casos nos devolverá una página con el nombre de usuario en el título, en otros el nombre de usuario podría estar en una etiqueta Meta, en otros casos realizará una redirección a la página http://nuestrowordpress/author/nombredeusuario, … pero en todos los casos se podría encontrar una forma de obtener el nombre de usuario.

Sólo tenemos que ir probando:

http://nuestrowordpress/?author=0

http://nuestrowordpress/?author=1

http://nuestrowordpress/?author=2

Para obtener los nombres de todos los usuarios de nuestro WordPress.

Este proceso podemos hacerlo a mano o lo podemos automatizar, pudiendo obtener los nombres de usuario utilizados en cualquier web gestionada con WordPress.

Descubrir los nombres de usuario de WordPress con Python

Como ejemplo os voy a copiar aquí un pequeño script que he escrito en Python, que nos muestra los nombres de usuario de la web WordPress pasada como parámetro, no vulnera de ninguna forma la web sólo obtiene los datos de información pública mostrada por la propia web. El script es sólo una prueba de concepto, sin pretensiones, sólo tiene en cuenta un par de posibles métodos y no gestiona eficientemente todos los casos ni todas las excepciones posible, pero servirá para mostrar lo fácil que resulta la automatización.

wp_users_discover_01-jpg

wp_users_discover_02-jpg

wp_users_discover_03-jpg

Bastará con lanzar el script de la siguiente forma para obtener la lista de usuarios de la web objetivo.

python wp_users_discover.py http://dominioobjetivo/

Descubrir los nombres de usuario de WordPress con WPScan

Pero no es necesario ni que nos escribamos un script, de nuevo utilidades como WPScan nos permiten obtener esta información de manera sencilla.

wpscan_enumerate_01-jpg

Lanzar wpscan con estas opciones hará que nos muestre la lista de usuarios del WordPress objetivo (o por lo menos algunos de ellos).

wpscan_enumerate_users_01

Como vemos obtener la lista de usuarios de nuestro WordPress se puede convertir en algo trivial así que tened cuidado.

Deja un comentario

Tu dirección de correo electrónico no será publicada.