En esta cápsula vamos ha aprender cómo utilizar WPScan  para encontrar vulnerabilidades en un sitio desarrollado con WordPress de una manera sencilla. Utilizaremos WPScan para encontrar pontenciales vulnerabilidades en nuestro WordPress, evaluar el tipo de vulnerabilidades, enumerar usuarios y como realizar una ataque de fuerza bruta contra esas cuentas.

NOTA: este artículo simplemente tiene un fin educational y de testeo.

Arrancamos WPScan

Para arrancar WPScan podemos realizarlo desde una terminal ejecutando el comando:

> wpscan

o

nos dirigimos a Aplicaciones > Análisis de aplicaciones web > WPScan

Actualizamos la base de datos de vulnerabilidades de WPScan

Lo primero que tenemos que realizar antes que nada es actualizar la base de datos de la aplicación para que nos descargue las nuevas vulnerabilidades encontradas.

Para ello utilizaremos el comando de wpscan con los siguientes parametros:

> vpscan –update

Escaneamos un sitio web realizado con WordPress

Con esta acción encontraremos un listado de las potenciales vulnerabilidades explotables en nuestro wordpress, ya sea en el core del mismo, en los temas o en los plugins.

Para ello ejecutaremos el comando:

> wpscan —url wordpress.com

Como podemos ver, en el wordpress de ejemplo hemos encontrado diferentes items con potenciales vulnerabilidades que podrian ser usadas por un atacante para ponen en peligro nuestro wordpress.

Son por ejemplo:

  • XMLRPC.php (XML-RPC Interface) is open for exploitation like brute-forcing and DDoS pingbacks.
  • WordPress core version is identified: 4.4.10
  • 1 WordPress core vulnerability: Host Header Injection in Password Reset reported from the 4.4.10.
  • WordPress theme and version used identified.

Marcado en rojo, encontramos referencia a posibles componentes vulnerables que podrían ser explotados por un atacante de nuestra instalación de wordpress.

WPScan también nos revela lo siguiente:

  • Vulnerable Contact Form with a Security Bypass, File Upload RCE Available (References: WPVulnDB, SecurityFocus, CVE MITRE, PacketStormSecurity)
  • Potentially Exploitable Visual Composer Multiple Unspecified XSS

Es importarte tener en cuenta que WPScan no puede determinar la versión de un plugin específico, simplemente nos lanza por pantalla un listado de vulnerabilidades potenciales. El hecho de que una versión de complemento no pueda determinarse no significa que el sitio no sea vulnerable.

Debemos revisar las vulnerabilidades que nos detalla, visitar el detalle de la info que nos muestra y ejecutar diferentes exploids para saber si nuestro wordpress es vulnerable o no.

Os enlazo diferentes url’s donde podemos encontrar información relevante a las vulnerabilidades potenciales:

  • https://wpvulndb.com
  • https://packetstormsecurity.com
  • https://www.exploit-db.com
  • https://cve.mitre.org
  • http://www.securityfocus.com

En este caso nuestro site desarrollado con wordpress presenta dos items potencialmente peligrosos y explotables:

  • Local File Inclusion
  • Shell Upload

Con estas dos vulnerabilidades es relativamente sencillo poner en marcha ataques que comprometan nuestro site utilizando por ejemplo Slider Revolution Upload Execute Exploit via Metasploit.

Como conocer las cuentas de usuario de un site desarrollado con wordpress

Enumerar las cuentas de usuario de un wordpress es una tarea relativamente sencilla a través de la herramienta integrada en WPScan y que nos permite llevar a termino esta acción.

La obtención de cuentas de usuario es imprescindible cuando un atacante necesita obtener acceso a una cuenta de administrador de wordpress para posteriormente lanzar un ataque de fuerza bruta.

La enumeración de usuarios de WPScan examinará el site destino y obtendrá nombres de usuario de nuestro wordpress así como los autores.

El comando para realizar esta acción es el siguiente:

> wpscan —url targetwordpressurl.com –enumerate u

En la captura podemos observar los resultados obtenidos:

  • Se han encontrado dos cuentas, una de ellas muy importante: admin (no se ha cambiado el usuario por defecto)
  • admin se esta utilizando.
  • La segunda cuenta puede poseer permisos elevados de administrador, por lo que, puede ser susceptible a un posible ataque de fuerza bruta.

Cómo realizar un ataque de fuerza bruta una cuenta de administrador para obtener su password.

El comando a lanzar para realizar un ataque de fuerza bruta una cuenta de administrador es la siguiente:

> wpscan –url targetwordpressurl.com –wordlist /usr/share/wordlists/rockyou.txt (replace wordlist and location with your choice) –username admin (your target’s username) –threads 2 (replace the number of threads you would like to use)

Este sería el comando optimizado:

> wpscan —url targetwordpressurl.com–wordlist /usr/share/wordlists/rockyou.txt –username admin –threads 2

Eventualmente, podría ver la contraseña listada en la terminal junto a la ID de inicio de sesión.