Pentesting con metadatos

Buenas,

Tras un largo número de entradas explicando el desarrollo de las diferentes herramientas que he estado desarrollando que podéis encontrar en mi github, en esta ocasión, traigo un post sobre la importancia y el uso de los metadatos. Bien es cierto que anteriormente en este blog se han visto los metadatos como «OSINT Parte II – Lo que esconden los metadatos» o su obtención mediante la FOCA, sin embargo,  me gustaría enfocar su uso en un proceso de pentesting, especialmente web, ya sea una una auditoria web o un test de intrusión externo.

Para ello, se cuentan con herramientas de análisis y extracción de metadatos como:

O su análisis en local:

Entre los metadatos obtenidos, el enfoque se va a centrar en la obtención de nombres de usuario. En mi caso, he empleado RastLeak al tener confianza en ella pues es de desarrollo propio y tratarse de una Poc, sin embargo, lo recomendable es emplear varias y combinar resultados pues dónde no llegue una, puede llegar otra.

 

 

 

Normalmente, la sintaxis de los nombres de usuarios corresponde con la del Directorio Activo:

  • nombre.apellido
  • nombre.apellido1apellido2
  • primerletradelnombreapellido

Entre otras, que coincide con la cuenta de correo, coincidiendo además en numerosas ocasiones con nombres de usuarios de aplicaciones web.

Hace poco en Kitploit, encontré la herramienta username-anarchy que podéis encontrar en el github del autor. Esta herramienta genera una lista de posibles nombres de usuario combinando diferentes keywords como nombre y apellidos.

Además, si se puede deducir la estructura de los mismos se puede pasar como argumento, generando listas más personalizadas como se indica en el menú de ayuda:

Username format:
-l, –list-formats List format plugins
-f, –select-format LIST Select format plugins by name. Comma delimited list
-r, –recognise USERNAME Recognise which format is in use for a username.
This uses the Facebook dataset. Use verbose mode to
show progress.
-F, –format FORMAT Define the user format using either format string or
ABK format. See README.md for format details.

Por lo tanto, la salida de los usuarios encontrados con las tools anteriores pueden ser la entrada para esta, generando un diccionario de usuarios.

 

 

Entonces si se pueden conseguir de aquí los nombres de usuarios y a través de diccionarios de posibles passwords como rockyou se pueden combinar y emplear en técnicas de fuerza bruta contra formularios de login de aplicaciones web.

Y los formularios de login de aplicaciones web, ¿De dónde los sacamos? Se pueden emplear herramientas de enumeración de dominios y subdominios que junto a tools de captura de pantalla permiten identificar rápidamente los dominios operativos junto a los formularios de login si disponen de ellos.

Como se observa en el enlace anterior, hay un notable número de tools de enumeración de dominios y subdominios, mientras que para la captura de pantalla se puede emplerar la herramienta EyeWitness que podéis encontrar en github.  En mi caso como tengo ambas funcionalidades implementadas en N4xD0rk voy a emplearlo.

 

 

Entrando en la carpeta del target introducido, se tienen la capturas:

 

 

De esta manera, se puede tomar una primera toma de contacto con el aspecto visual de las web’s identificadas:

Panel de login para socios:

 

Formulario de suscripción a alertas:

 

 

Una vez discriminados las dominios que cuentan con aplicaciones web operativas y que disponen de paneles de login, se pueden emplear herramientas como hydra o medusa, así como el intruder del burpsuite para realizar técnicas de fuerza bruta.

Obviamente al tratarse de una explicación de un procedimiento, no se va a llevar a cabo la PoC.

Además, antes de tirar posible diccionarios y hacer menos ruido, es recomendable comprobar si la aplicación es vulnerable a enumeración de usuarios como por defecto en WordPress para detectar si los usuarios encontrados en los metadatos se encuentran registrados en la aplicación web.  En el caso de estar registrados, se procedería a ejecutar técnicas de fuerza bruta.

A modo de resumen, se trata de entrelazar análisis de metadatos + enumeración de dominios/subdominios + capturas + {enumeración de usuarios} + técnicas de fuerza bruta.

Espero que os pueda resultar útil.

La finalidad de esta entrada es con fines educativos para realizar en entornos locales o con permiso del target. No nos hacemos responsables de uso para otros fines distintos.

Nos vemos en la siguiente entrada.

N4xh4ck5

La mejor defensa es un buen ataque