Recon-NG: ejemplo para instalar módulo, ejecutar y exportar
Recon-NG es una herramienta de reconocimiento y recolección de información utilizada en ciberseguridad, especialmente en pentesting (pruebas de penetración). Funciona desde la línea de comandos y tiene una estructura similar a Metasploit, permitiendo la automatización de tareas de reconocimiento.
Recon-NG funciona a través de módulos, por lo que en este ejemplo vamos a ver un ejemplo concreto que nos permita buscar, encontrar, acceder y ejecutar un módulo. Posteriormente exportaremos los datos generados por ese módulo a un fichero HTML.

Características principales de Recon-NG
Estas son algunas de las características principales de la herramienta Recon-NG:
- Escrita en Python.
- Modular y extensible. Con comandos organizados y fáciles de usar.
- Permite obtener información de fuentes abiertas (OSINT).
- Incluye módulos para recolectar datos como dominios, correos electrónicos, direcciones IP, etc.
- Compatible con APIs de servicios externos. Puede integrarse con servicios de terceros, como Shodan, para mejorar la recolección de datos.
- Es útil en la fase inicial de un ataque ético, ya que ayuda a recopilar datos sobre el objetivo antes de realizar pruebas más avanzadas.
- Cuenta con una base de datos integrada, ya que almacena la información recolectada en una base de datos SQLite para su posterior análisis.
- Integra la generación de informes para facilitar la creación de reportes detallados con los datos obtenidos.
- Es una herramienta multiplataforma, compatible con Linux y Windows, aunque se recomienda su uso en entornos basados en Linux. Por ejemplo Kali Linux tiene instalado por defecto Recon-NG.
Caso práctico con Recon-NG
La herramienta Recon-NG ya viene incluida en Kali Linux, por lo que accederemos a ella a través de las aplicaciones instaladas.

Nos abrirá la consola sobre la que trabajaremos y, para empezar, podemos lanzar el comando help para ver las opciones que tenemos disponibles.
Con Recon-NG iremos cargando módulos y trabajando con ellos (como si fuesen transformadores de Maltego). Sin embargo, previamente habrá que instalar esos módulos.
Instalar módulos en Recon-NG
Para instalar módulos en Recon-NG, primero veremos la lista de módulos disponibles. Lanzaremos el siguiente comando.
marketplace search
Esto nos dará un listado de todos los módulos disponibles en Recon-NG.
Para este ejemplo vamos a instalar uno de los módulos más utilizados, el correspondientes al whois. Hay varios módulos de whois, por lo que podríamos hacer una búsqueda de módulos más concreta solo de "whois" lanzado lo siguiente.
marketplace search whois
Esto nos reduce la búsqueda de módulos a únicamente los de whois.

Instalaremos el módulo whois_pocs, por lo que lanzaremos el siguiente comando.
marketplace install recon/domains-contacts/whois_pocs
Ver módulos instalados
Podemos comprobar si hemos instalado correctamente el módulo lanzando el siguiente comando.
modules search

Cargar el módulo
Una vez se instala el módulo, hay que cargarlo para poder utilizarlo.
Para cargar el módulo whois_pocs lanzamos lo siguiente.
modules load recon/domains-contacts/whois_pocs

Una vez dentro del módulo, podemos pulsar dos veces seguidas la tecla Tab para ver qué comandos tenemos disponibles, en este caso del módulo whois_pocs.

Utilizando el módulo whois_pocs
Hemos hablado de instalar el módulo whois_pocs, pero todavía no hemos dicho para que nos servirá.
Este módulo nos permite obtener una lista de contactos asociados a un dominio. Nosotros especificaremos un dominio y whois_pocs encontrará contactos de ese dominio y los registrará en una tabla llamada contactos, la cual podremos consultar después.
Estando con el módulo whois_pocs cargado, vamos a utilizar la opción de "info" para qué nos diga acerca de los parámetros que necesita este módulo para funcionar. Para ello lanzamos lo siguiente.
options list info

Vemos que este módulo solo nos requiere el parámetro SOURCE, que es el dominio del que queremos extraer los contactos.
Definir parámetros
Sabiendo qué parámetros o atributos son necesarios, comenzamos a definirlos. En este caso con "info" vemos que se requiere el parámetro SOURCE, por lo que lo definimos.
options set SOURCE dominio.com
**En vez de dominio.com, cada persona pondrá el dominio del cual quiera extraer los contactos.
Ahora podemos volver a lanzar "info" para ver el parámetro definido.
options list info

Ejecutar módulo
Nuestro módulo ya tiene los parámetros requeridos, en este caso solo la url (SOURCE). Ahora podemos ejecutarlo. Lo hacemos con run.
run
whois_pocs encontrará contactos asociados al dominio que le hayamos definido como parámetro y los incluirá en la tabla contactos.
Este ejemplo con dominio.com es muy probable que no encuentre ningún contacto al no ser un dominio activo. Es solo un ejemplo. Cada usuario pondrá el dominio sobre el que quiera obtener los contactos.
Ver tabla contactos
Los contactos encontrados por whois_pocs en el dominio definido los registrará en la tabla contactos, la cual podremos ver lanzando lo siguiente.
show contacts
Salir de un módulo
Para salir del módulo utilizaremos back.
back
Y para limpiar pantalla lo haremos con Control + l.
Exportar datos a HTML
Los datos de los contactos que hemos obtenido con whois_pocs los hemos visto con el comando show contacts, que nos mostraba la tabla contactos por consola.
Pero también podríamos exportarlos para verlos de una manera más gráfica y eso es lo que vamos a ver.
Para exportar necesitamos instalar un nuevo módulo, dentro de los catalogados como "reporting".
Si todavía estamos dentro del módulo de whois_pocs, saldremos de él con el comando back.
Para encontrar ese módulo de "reporting", haremos una búsqueda de los módulos disponibles dentro de la categoría "reporting".
marketplace search reporting

Nos mostrará varios módulos que nos permitirán exportar los datos en distintos formatos, como CSV, HTML, JSON, XML...
En este caso vamos a exportar en HTML, por lo que instalaremos reporting/HTML.
Instalar módulo
Ya sabemos cómo se instala un módulo, con marketplace install y el módulo, por lo que lanzaremos lo siguiente.
marketplace install reporting/html
Cargar módulo
Una vez instalado el módulo, accedemos a él.
modules load reporting/html
Ver parámetros
Seguidamente necesitamos ver qué parámetros necesita este módulo para funcionar, lo que hacemos mediante el siguiente comando.
options list info

En este caso podremos definir el nombre del creador o creadora del informe, el nombre de la compañía de la que estamos extrayendo los contactos y la url en la que nos guardará el fichero HTML exportado.
Definir parámetros
reporting/HTML nos dice que tiene hasta cuatro parámetros. Vamos definir los dos primeros, que son el nombre del creador y la compañía. También podríamos definir el directorio al que exportar y el parámetro sanitize, pero nos quedaremos con los dos primeros.
options set CREATOR Obi-Wan
options set CUSTOMER MenteProgramable
Podremos ver los parámetros definidos lanzando de nuevo "info".
options list info

Ejecutar módulo
Con los parámetros definidos, ejecutamos el módulo.
run
Ver archivo exportado
Finalmente, para ver el archivo, podríamos o bien ir al directorio desde nuestro sistema de archivos, o bien copiar ese directorio, abrirnos una consola normal (fuera de Recon-NG) y lanzar lo siguiente.
firefox urlDirectorio

Ya podríamos visualizar nuestro informe exportado a HTML con los datos de contactos asociados a un dominio y obtenidos con whois_pocs.
Deja una respuesta