CMSmap

Antes de nada, este post viene de la pregunta de un user, sobre una herramienta similar a WPScan, pero para otros gestores de contenido. La podéis encontrar aquí. Probando la herramienta en el blog de Underc0de, me saltó una alerta sobre una vulnerabilidad que permite hacer fuerza bruta para loguearse en el archivo xmlrpc.php. Decidí comprobar si era un falso positivo, o si realmente era vulnerable.

CMSmap es un escáner de gestores de contenido open source escrito en python. Se encagarga de automatizar el proceso de búsqueda de las vulnerabilidades más conocidas de los CMS. Lo interesante de esta herrmienta es que agrupa tres de los gestores de contenido más usados: WordPress, Joomla y Drupal.

Instalación:

 

La instalación es muy sencilla, únicamente copiaremos su repositorio de GitHub con este comando:
cmsmap
Instalación de CMSmap
Comandos y uso:
Una vez instalado, vamos a la carpeta en donde se clonó en script y lo ejecutamos para ver las opciones disponibles con el comando –help:
cmsmap
Opciones CMSmap

Como podemos observar, con este comando tenemos información sobre la versión de la herramienta y el autor, junto con el uso básico, ejemplos y los parámetros divididos en cinco categorías:

Targets:

  • -t, –target: seleccionar objetivo (e.g. ‘https://blog.underc0de.org:’)
  • -f, –force: forzar CMS – (W)ordpress, (J)oomla or (D)rupal
  • -F, –fullscan: realizar escáner profundo. Produce falsos positivos y es lento
  • -a, –agent: elegir user-agent
  • -T, –threads: número de hilos (por defecto: 5)
  • -i, –input: escanear una lista de objetivos desde un archivo de texto
  • -o, –output: guardar el resultado en un archivo
  • –noedb: enumerar plugins sin buscar exploits

Brute-Force:

  • -u, –usr: usuario o  diccionario
  • -p, –psw: contraseña o diccionario
  • –noxmlrpc: no hacer fuerza bruta mediante XML-RPC

Post Exploitation:

  • -k, –crack: crackear hash (solo para WordPress y Joomla)
  • -w, –wordlist: diccionario

Others:

  • -v, –verbose: mostrar detalles
  • -U, –update: (C)MSmap, (W)ordpress plugins and themes, (J)oomla components, (D)rupal modules, (A)ll
  • -h, –help: mostrar ayuda

 

Vemos que además de hacer un escáner, también es posible realizar ataques de fuerza bruta mediante varios métodos, y realizar el crackeo de hashes obtenidos para los CMS de WordPress Y Joomla. Además, si se consiguen credenciales, CMSmap trae consigos tres shells optimizadas para cada uno de los CMS, y te da la opción de subirla al servidor.

Ejemplo de uso (XML-RPC Brute Force en blog.underc0de.org):

Tras lanzar la herramienta con el target blog.underc0de.org, obtuve la alerta mencionada anteriormente:cmsmap

XML-RPC Brute Force Vulnerability

CMSmap está en desarrollo, y creo que es por eso que en un principìo no me lanzaba fuerza bruta contra el archivo xmlrpc.php. Debido a esto decidí probar con otros scripts se encargaban de ello, pero no obtuve mejores resultados.

Scripts utilizados:
https://github.com/1N3/Wordpress-XMLRPC-Brute-Force-Exploit
https://github.com/El3ct71k/WordPress-XMLRPC-BruteForce-PoC

Probando de nuevo, CMSmap parecía realizar el ataque de fuerza bruta correctamente, asique modifiqué el código para añadir la password, ya que no se hace mediante un diccionario externo.

Resultado:
cmsmap

Conseguimos acceso y posibilidad de subir una shell. Hemos comprobado que CMSmap es una herramienta con bastante potencial a pesar de estar en desarrollo, y como viene bien asegurarse de que las alertas no son falsos positivos, realizando diferentes comprobaciones.

El fallo fue corregido inmediatamente.

Repositorio en GitHub:

https://github.com/Dionach/CMSmap

Espero que les haya gustado, un saludo, HATI    ;D

Posts Relacionados

Comments

comments

Deja una respuesta

Tu email no será publicado. Los campos requeridos estan marcados con *
Puedes usar tags HTML y los atributos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">