Footprinting with Recon-NG

En esta pr谩ctica veremos como usar recon-ng para realizar un footprinting de un objetivo.

Al iniciar recon-ng nos encontramos con un framework vac铆o. Lo primero que debemos hacer es instalar modulos que habilitan diferentes tipos de funcionalidades en recon-ng (podemos pensarlos como extensiones o plugins).

Para ver los comandos disponibles usamos el comando help:

Usando M贸dulos

Con cualquier framework donde se utilicen m贸dulos o extensiones es debemos conocer cuales comandos tenemos disponibles para poder buscar, instalar y eliminar los m贸dulos cuando ya no los necesitemos.

Buscando M贸dulos en el Marketplace

Para buscar que m贸dulos disponibles existen para recon-ng, contamos con el comando marketplace search, con el cual recon-ng mostrara una lista de los m贸dulos disponibles para ser instalados:

La lista de m贸dulos disponibles es bastante extensa, y vemos que entre los detalles tenemos path, version, status, updated.

Adicionalmente tenemos dos columnas llamadas D y K que nos indican si el modulo tiene Dependencias(D) o si necesita de una key(K), como es por ejemplo el caso de shodan_ip.

Agregando API keys

Si el modulo que intentamos usar requiere una api key, podemos agregarla a recon-ng de la siguiente manera: keys add shodan_api {API_KEY}:

Las keys a帽adidas son almacenadas en el archivo keys.db en la carpeta donde se encuentra instalado recon-ng.

Instalando M贸dulos

Para poder instalar los m贸dulos, contamos con el comando marketplace. Para instalar un modulo, por ejemplo shodan_ip. Usamos el siguiente comando: marketplace install shodan_ip:

De esta manera dejamos instalado el modulo seleccionado.

Cargando y configurando M贸dulos

Es necesario cargar el modulo que se desea utilizar, en este caso: modules load shodan_ip. Similar a otros frameworks como metasploit. En recon-ng los m贸dulos tienen diferentes opciones que debemos setear para poder ejecutarlos. Para ver las opciones requeridas (y opcionales) del modulo seleccionado usamos el siguiente comando: options list:

Si ejecutamos el comando info, podemos ver los distintos tipos de opciones que se pueden setear y sus valores actuales. Adicionalmente obtenemos un detalle de que valores podemos setear para la opci贸n SOURCE.

Seteando Opciones

Para setear las opciones usamos el comando options set {NOMBRE_OPCION}, en este caso el modulo necesita que SOURCE este seteado. El source en nuestro caso es el IP del objetivo (obtenido en shodan.io):

Ejecutando el M贸dulo

En este punto ya estamos listo para ejecutar el modulo, para eso usamos el comando run:

Como podemos ver el modulo realiza un escaneo del objetivo y nos devuelve ciertos detalles sobre el mismo. Si ingresamos el comando show ports podemos ver la lista de puertos descubiertos durante el scan:

Tambi茅n es posible usar otros m贸dulos que devuelven otro tipo de informaci贸n. Por ejemplo podemos instalar el modulo whois_pocs, configurarlo y ejecutarlo:

De esta manera realizamos un scan simple utilizando shodan para obtener puertos abiertos y luego usando el modulo whois_opcs obtuvimos informaci贸n de whois en un scan adicional.

Workspaces en Recon-ng

Es importante tener en cuenta que recon-ng nos permite organizar nuestra informaci贸n en diferentes workspaces o espacios de trabajo. La ventaja de esto es que podemos tener nuestra informaci贸n separada por ejemplo, por objetivos o clientes para los cuales estemos haciendo reconocimiento. De esta manera es muy simple tener un espacio por ejemplo para todo lo relacionados a nuestras tareas de reconocimiento de microsoft.com y en otro workspace tener todo lo relacionado a udemy.com.

El uso de workspaces es muy simple como vemos a continuaci贸n:

  • workspaces list nos deja ver todos los workspaces existentes.

  • workspaces create {NOMBRE_WORKSPACE} nos permite crear uno nuevo.

  • workspaces load {NOMBRE_WORKSPACE} nos permite cargar y marcar como activo un determinado workspace.

  • workspaces remove {NOMBRE_WORKSPACE} nos permite borrar un workspace.

Last updated