La información es poder

filesPowerInformacion. ¿Alguien duda de que tener la suficiente información no es media victoria? La frase “la informacion es poder”, no se dijo por decir. En la seguridad, tener la información necesaria es vital para saber por donde movernos, que elementos existen y cuales se pueden testear y romper más facilmente. Este último ya os digo yo cual es, la persona que está delante del ordenador. Sabiendo de la importancia de este paso en seguridad, cada día aparecen más y más herramientas potentisimas para ayudarnos en esta tarea. Hoy nos vamos a centrar en la herramietna de Gathering recon-ng. Esta herramienta esta escrita en python y es modular. Podemos hacer nuestros propios modulos y “a dar cera”.

En recon-ng podemos gestionar diferentes analisis de diferentes web. Estos están divididos en workspaces. Cada workspace tiene sus propias caracteristicas. Vamos a empezar con crear el workspace de s3lab metiendo su dominio (workspace add s3lab seguido de domain add s3lab.deusto.es) para ver que nuestro dominio esta bien metido, utilizamos show domains. Tambien metemos la compañía con el comando add companies. Con este comando, nos propondra los parametros que debemos insertar. La compañía y su descripcion. Yo suelo poner la url del dominio o la del dominio principal. Con el comando show companies nos muestra lo que hemos metido. El comando show es muy importante, ya que lo utilizaremos para poder ver todas las opciones de los diferentes modulos, así como los datos que hemos ido recuperando.

Una vez que vemos que esta metido tal y como nosotros queremos, vamos a ver que modulos podemos ejecutar. Para ello metemos show modules. Este comando nos mostrara todos los modulos que tiene recon-ng. Estos modulos estan divididos según su objetivo. Estan los de importacion y exportacion, los de recon, los de explotacion y los de descubrimiento. Estos modulos suelen ser bastante intuitivos en la parte de los nombres. La primera parte pertenece al grupo de modulos en el que se encuentra, la segunda parte, salvo en el caso de importacion y exportacion, pertene a la clasificacion de los modulos concretos, tipo de explotacion que se hace o en base a qué se quiere obtener información y transformalo en otro elemento. Es decir, domains-hosts obtiene, partiendo de un dominio, todos los host que ese metodo obtenga. Es simple y una vez que empieces a jugar con ello, veras que es sencillo.

Tambien se pueden filtrar los modulos según el objetivo que queramos conseguir. Por ejemplo, por ahora solo tenemos un dominio. Necesitamos obtener host. Con el comando load domains-host filtraremos todos los modulos que nos permiten hacer esto. Ahora, con el comando load y el modulo entero, cargaremos dicho modulo para poder usarlo. Si queremos ver sus opciones, podemos utilizar show options pero yo recomiendo utilizar show info la primera vez para poder ver todas las opciones que tiene y cuales son pode defecto y como modificarlas. Algunos de los modulos necesitan una API key para funcionar, pero en cuanto lo ejecutas, te lo dice y te dice como meterla, el problema es conseguirla, aunque la mayoria suelen ser gratuitas. Para este ejemplo, yo he lanzado todos los modulos de domains-host y la tabla de hosts han aparecido 9 nuevos host sobre los cuales jugar. Para verlos, ejecutamos show hosts. El problema es que muchas veces, estos host suelen no pertenecer al sitio original. Esto se debe a los malditos rastreadores y balizas que hay en las webs y que este programa también recoge. Pero no pasa nada, con el comando delete host ID podemos eliminar los host que sabemos que no nos sirven.

Una vez que ya tenemos todos los host que queremos, podemos pasar a otro tipo de modulo. Si queremos partir de los hosts, con el comando load hosts- nos enseñara las opciones que tenemos. Por ejemplo, una cosa interesante es saber donde se encuentran los servidores que estamos analizando. Esto se puede hacer en base a la IP del servidor. Con los modulos de resolve, freegeoip, ipinfodb y reverse_resolve podemos obtener las IPs y las localizaciones de dichos servidores. Además, con algunos de estos modulos, si los servidores tienen algun que otro fallo de seguridad, irá saliendo. Para seguir jugando con las localizaciones, podemos obtener unicamente los modulos de localizacion con el comando load locations-.

Otra informacion importante de las empresas para poder conseguir cosas es saber quien trabaja en ella. Existen muchas formas y herrameintas para lograr este objetivo y recon-ng tambien tiene unos pocos modulos para ello. Con el comando load contacts nos mostrara cuales son. Un ejemplo que se puede aplicar al resto de modulos es el uso de las querys para modificar sobre que queremos buscar. Con el modulo de pgp_search, y viendo en la informacion como es el SOURCE (una query), podemos modificarla para que en vez de buscar en los dominios, busque en los hosts. El comando seria set SOURCE query SELECT DISTINCT host FROM hosts WHERE host IS NOT NULL. Este paso no suele dar resultados, pero hemos visto como modificar las querys de consulta de cada modulo para poder realizar las busquedas sobre lo que nosotros queramos.

Desde aquí para adelante, os dejo jugar a vosotros con la herramienta y sus diferentes modulos de twitter, linkedin o instagram entre otros. Como consejo, os diria que aunque ya hayais ejecutado un modulo, los resultados de otros modulos generan nuevos elementos que hay que volver a analizar, por lo que hay que armarse de paciencia y volver a realizar todas las busquedas que creamos necesarias hasta que tengamos la suficiente información. Esto en base a nuestro criterio, claro. Con el comando show dashboard nos muestra todo lo que tenemos y hemos ejecutado. Por ultimo, de todo analisis tiene que tener un resumen. Para ello, esta herramienta tiene los modulos de reporting. El de html esta muy bien.

Happy Hunting!!

Patxi Galan García
Acerca de
Investigador de S3lab
Expertise: Natural Language Processing, Android, Cyberbullying