WordPress y el mundo de los CMS III – Escaneando vulnerabilidades

Buenas compis,

Seguimos con la guía de pentesting de WordPress, tras el primer artículo de enumerando usuarios y  el segundo de hacking con buscadores que se engloba en un proceso de footprinting, hoy toca la parte de análisis de vulnerabilidades.

Todos conocemos la herramienta wpscan, sin embargo, no es la única. Y en este post se va explicar en detalle su utilización y configuración, así como el uso de otras herramientas no tan conocidas pero útiles en la práctica.

Vamos al lío =)

Wpscan

Wpscan viene instalada por defecto en Kali Linux, no obstante se encuentra en github.

Para iniciarla, se clica wpscan en el terminal y listo!

wpscan

 

Como se observa, tiene bastante opciones interesantes desde un escaneo completo (ruidoso e intrusivo), no intrusivo e incluso un escaneo de enumeración:

  • Plugins: –enumerate p
  • Usuarios: –enumerate u
  • Themes: –enumerate t

Debemos recordar que el vector de entrada principal en un CMS, y más aún en wordpress, son los plugins.

Del mismo modo, permite el uso de un proxy (–proxy IP:PUERTO) así como desviar el tráfico a través de otra red digamos (–proxy socks5://127.0.0.1:9000), muy interesante para test de intrusiones externos en el que se debe mantener el anonimato.

El servidor que me monté en local era la última versión estable de WordPress (4.6.1) y no debería de encontrar mucho, sin embargo, como es una guía de pentesting nos sirve 😉

Para ver el potencial de esta herramienta vamos a instalar un par de plugins típicos y crear unos usuarios.

Realizando un simple escaneo:

wpscan –url 192.1681.38

wpscan_scan

 

wpscan_plugins

Como se observa wpscan es bastante potente y aprovecha perfectamente la configuración por defecto en su motor de escaneo para resaltar la existencia de tales ficheros. Por ejemplo, detecta la presencia del fichero robots.txt o el readme.html, con este fichero y el tag de meta generator, obtiene fácilmente la versión del WordPress que se está analizando.

Además en relación a la versión de wordpress que detecte indica las vulnerabilidades publicadas para esa versión, pero en este caso al tener instalada la última versión estable de wordpress no muestra ninguna.

En este caso, hemos indicado que enumeré los usuarios, no obstante aunque se omite wpscan intenta detectar los plugins, themes y usuarios.

En este caso ha identificado 3 plugins, el theme instalado y los usuarios del sistema (seguramente tirando de la enumeración de author). Respecto a la identificación de plugins, wpscan lo hace muy bien, si nos fijamos para cada plugin indica la evidencia de su localización así como el readme.txt que le ha servido para obtener su versión.

Realmente hace un trabajo muy bueno, sin embargo, wpscan no es infalible y sólo ha identificado 3 plugins de los 9 que actualmente están instalados. y activados. En el próximo post se detallará la manera de detectar todos lo plugins activados en el CMS manualmente.

CMSmap

Este plugin no es tan conocido como wpscan pero particularmente me gusta bastante pues tiene un planteamiento diferente al anterior y suele mostrar resultados realmente interesantes. Análogamente a Wpscan, también está implementado para otros CMS como Drupal y Joomla.

Se encuentra en github: https://github.com/Dionach/CMSmap

A continuación, se muestra su uso:

cmsap_help

 

cmsmap_scan

Como se observa en la siguiente imagen, se ha detectado que un usuario tiene una password por defecto, por ello cmsmap pregunta si se desea loguearse en el sistema e intentar subir una shell. Desafortunadamente ese usuario no es admin y no tiene permisos.

 

cmsmap_shell

 

Además, CMSmap resalta típicas vulnerabilidades web como el autocompletado de formularios o la enumeración de usuario a través de recuperación de la contraseña.

Sin embargo, lo que más me gusta es la identificación de rutas de ficheros por defecto en la instalación de wordpress como se muestra a continuación:

 

cmsap_directorios

 

Para ello, CMSmap hace un poco de Dirbuster pasando diccionarios típicos por lo que es bastante ruidoso. Además, también tira un diccionario para el listado de plugins, en el análisis genérico sólo prueba los 100 plugins más populares, sin embargo, mediante el parámetro -F se puede tiran un escaneo completo para que lancé un diccionario más tocho, así como diccionarios para el listado de directorios como se ha mencionado anteriormente.

En conclusión, CMSmap es una herramienta muy potente si se sabe configurar ayudando a la labor del pentester.

Plecost

Plecost es otra herramienta dedicada a la tarea de fingerprinting de WordPress. A diferencia de las anteriores, Plescost está dedicado únicamente para WordPress.

Se encuentra disponible en github para su descarga (python 3 o superior): https://github.com/iniqua/plecost/tree/python3

Python 2.X: https://code.google.com/archive/p/plecost/downloads

En mi caso tengo en la Kali Linux 2.7. Tras descargarnos el fichero en la URL anteriormente indicada. Ejecutamos para ver el help (python plecost-0.2.2-9-beta.py -h):

plescost

 

Esta herramienta a diferencia de las otras dos no está orientada al análisis de vulnerabilidades sino a la enumeración de plugins, de ahí que los parámetros de entrada están basados en el número de plugins a probar, número de hilos, …

Un ejemplo de búsqueda es la siguiente:

plecost_plugins

 

Como se observa Plecost da información realmente buena pues indica la versión instalada y la última versión estable, de esta manera, podemos saber si está desactualizado el plugin así como la búsqueda de vulnerabilidades para la versión instalada.

En esta pequeña búsqueda se han detectado un par de plugins pero no todos, así que se han aumentado el número de plugins a probar:

 

root@kali:~/Downloads/plecost-0.2.2-9-beta# python plecost-0.2.2-9-beta.py -n 500 -s 10 -M 15 -i /usr/share/plecost/wp_plugin_list.txt 192.168.1.38 -t 10

 

plecost2

 

Como se aprecia ha detectado un par de plugins que a diferencia de las anteriores no habían identificado.

Así que si tenéis que analizar un wordpress (y permiso claro) tenéis a vuestra disposición tres buenas herramientas que conjuntamente ofrecen un escaneo muy completo del CMS al complementarse.

La finalidad de esta entrada es con fines educativos y formativos. Las pruebas se han realizado en entornos locales y controlados. No nos hacemos responsable de su uso para otro fin.

Saludos.

Naxhack5

La mejor defensa es un buen ataque

Un comentario en «WordPress y el mundo de los CMS III – Escaneando vulnerabilidades»

Los comentarios están cerrados.