SpiderFoot – OpenSource Intelligence Automation

Buenas a todos chicos! Hoy vamos a probar SpiderFoot, una herramienta que nos permite realizar de forma más automatizada una búsqueda de inteligencia en fuentes abiertas (OSINT).

Esto puede constituir o ayudarnos enormemente en nuestras fases de reconocimiento y exploración del objetivo en una auditoría, concretamente a la hora de estudiar el footprinting. También nos sirve en cualquier contexto en el que queramos ejecutar una minería de datos o encontrar información pública sobre un objetivo. Dicho objetivo puede ser una dirección IP, un dominio, un subdominio o una subred.

La herramienta puede ejecutarse tanto en entornos Windows como Linux, y proporciona una interfaz web para realizar los escaneos.

Tras descargar de la página oficial la versión para Linux, la descomprimiremos y lo ejecutaremos mediante el script sf.py contenido en el directorio de la herramienta. Es necesario utilizar Python2 para la ejecución. Cabe destacar que son necesarias algunas dependencias que se nos indicarán al ejecutar el mismo. Debemos instalar, si estamos en Ubuntu, M2Crypto mediante los repositorios y no mediante Pip. La versión de Pip no incluye soporte SSLv2, necesario para el programa.

Una vez arrancado el script, se nos levantará un servicio web local al que podremos acceder en nuestro explorador en el puerto 5001 de forma predeterminada.

Pantalla principal de SpiderFoot

En la pantalla principal de la herramienta se nos listan los escaneos que hemos realizado y los que están en proceso. Como se puede ver en la imagen, estamos actualmente realizando un escaneo de nuestro dominio. Mostraré a continuación como crear un nuevo escaneo. Para ello, en el menú superior, haremos clic en New Scan.

Se nos pedirá un nombre para el nuevo escaneo, y el objetivo. Como he comentado antes, el objetivo puede ser una dirección IP, una subred, un dominio o un subdominio.

Selección de nombre del scan y el objetivo en SpiderFoot

Más abajo, podremos elegir el tipo de escaneo. De forma predeterminada, se nos ofrecen varios tipos:

  • All: Realiza todas las comprobaciones posibles sobre el objetivo (bastante lento).
  • Footprint: Busca las huellas o footprints del objetivo en Internet, que pueden ser encontradas de forma pública.
  • Investigate: Además de investigar los footprints del objetivo, consulta diversas fuentes para ver si está reconocido como malicioso.
  • Passive: Un escaneo menos agresivo que evita que nuestra investigación deje huella (o al menos demasiada).

Aunque estos modos suelen ser suficientes para una búsqueda general, podemos usar un grado más fino, clicando en la opción By Required Data o By Module, que nos permiten seleccionar los datos a recoger o los módulos a utilizar, respectivamente.

Selección de modo de escaneo en SpiderFoot

Para este ejemplo, ejecutaremos sobre el dominio un escaneo tipo Footprint para reconocer las huellas de fwhibbit.es en la red. Llamaremos a este escaneo «fwhibbit – footprint».  Tras rellenar los campos y seleccionar el escaneo Footprintt, haremos clic en el botón Run Scan y el mismo comenzará a ejecutarse.

Podemos ver como en el diagrama de estado van agregándose elementos y se van mostrando entradas en la tabla inferior hasta que el escaneo finaliza.

Gráfico de progreso en SpiderFoot

Una vez terminado el escaneo, o incluso durante el mismo, podemos clicar en cada uno de los campos del gráfico para ver detalles. También podemos hacer clic en Browse para ver una tabla con todos los elementos encontrados en el escaneo.

Muestra de los resultados del escaneo en SpiderFoot

Los resultados son muy variados. Por ejemplo, en el apartado Email Gateway (DNS ‘MX’ Records) podemos ver nuestro registro de dominio de correo.

Dominio de correo de Fwhibbit en SpiderFoot

Podemos encontrar, asimismo, la dirección IP del alojamiento del dominio.

Búsqueda IP sobre el dominio fwhibbit.es en SpiderFoot

Son muchísimos otros los campos de resultado que nos ofrece SpiderFoot. Muchos de los resultados, como en otras herramientas de footprinting, pueden considerarse falsos positivos, pero sabiendo diferenciarlos podemos encontrar una cantidad enorme de información y ahorrarnos una gran cantidad de tiempo frente a un proceso manual.

Y hasta aquí nuestra entrada de hoy. Espero que os sirva para aprender y agilizar un poco el proceso de footprinting utilizando esta herramienta. Un saludo!!