OSINT Automatico con Spiderfoot

¡Hola a todos! Hoy les traemos una herramienta dedicada a OSINT llamada “SpiderFoot”.

¿Qué es SpiderFoot?

SpiderFoot es una herramienta de reconocimiento que consulta automáticamente más de 100 fuentes de datos públicas (OSINT) para recopilar información sobre direcciones IP, nombres de dominio, direcciones de correo electrónico, nombres y más. Simplemente especifique el objetivo que desea investigar, elija qué módulos habilitar y luego SpiderFoot recopilará datos para comprender todas las entidades y cómo se relacionan entre sí.

Los datos devueltos de un escaneo de SpiderFoot revelarán mucha información sobre su objetivo, brindando información sobre posibles fugas de datos, vulnerabilidades u otra información sensible que se puede aprovechar durante una prueba de penetración, ejercicio del equipo rojo o para inteligencia de amenazas. ¡Pruébelo en su propia red para ver lo que podría haber expuesto!

Instalación

La mejor manera de ejecutar Spiderfoot y mantenerlo actualizado es usando git y clonando el repositorio Spiderfoot Github como se describe en las instrucciones a continuación. En nuestro caso haremos la instalación en Kali Linux.

En primer lugar, compruebe que git esté instalado en su dispositivo, ya que no está instalado en todas las distribuciones de forma predeterminada. Para comprobar si lo es o no, escriba lo siguiente en la consola:

Si git está instalado, recibirá un mensaje que le indicará qué versión es. Si le dicen que git no está presente, simplemente instálelo de la siguiente manera:

A continuación, pondremos el siguiente comando en nuestra terminal:

Esto creará un directorio llamado "spiderfoot" en su directorio de inicio. Muévase a él ingresando lo siguiente en la consola antes de pasar al siguiente paso:

Si ha intentado instalar scripts de Python desde GitHub antes, es fácil quedarse atascado en este punto. Por lo general, las guías de instalación le dicen que ingrese algo como esto:

Lo que hace este comando es leer una lista de bibliotecas de Python que se enumeran en un archivo llamado requirements.txt y luego intentar instalarlas. Suena bastante fácil, pero las personas a menudo se encuentran con dificultades y encuentran muchos errores en este punto y los paquetes no se instalan. La razón más común de esto es que su sistema operativo usa una versión diferente de Python y Pip a la requerida por el programa. La versión predeterminada de Python de su sistema podría ser Python 3.6, por lo que Pip asume que desea descargar paquetes compatibles con esa versión de Python. Esto puede causar muchos conflictos y hacer que su software deje de funcionar. Algunas de las herramientas Python OSINT más populares no se ejecutan todas con la misma versión de Python.

La forma de evitar esto es asegurándose de que cuando llame a Pip para instalar los requisitos necesarios, lo invoque con la versión correcta de Python. En el caso de Spiderfoot, esta es la versión 2.7 de Python. Si tiene una versión más reciente de Python instalada en su sistema, es posible que se encuentre con mensajes de error. Para verificar la versión de Python utilizada por su sistema, ingrese lo siguiente en la terminal:

Si git está instalado, recibirá un mensaje que le indicará qué versión es. Si le dicen que git no está presente, simplemente instálelo de la siguiente manera:

A continuación, pondremos el siguiente comando en nuestra terminal:

Esto creará un directorio llamado "spiderfoot" en su directorio de inicio. Muévase a él ingresando lo siguiente en la consola antes de pasar al siguiente paso:

Si ha intentado instalar scripts de Python desde GitHub antes, es fácil quedarse atascado en este punto. Por lo general, las guías de instalación le dicen que ingrese algo como esto:

Lo que hace este comando es leer una lista de bibliotecas de Python que se enumeran en un archivo llamado requirements.txt y luego intentar instalarlas. Suena bastante fácil, pero las personas a menudo se encuentran con dificultades y encuentran muchos errores en este punto y los paquetes no se instalan. La razón más común de esto es que su sistema operativo usa una versión diferente de Python y Pip a la requerida por el programa. La versión predeterminada de Python de su sistema podría ser Python 3.6, por lo que Pip asume que desea descargar paquetes compatibles con esa versión de Python. Esto puede causar muchos conflictos y hacer que su software deje de funcionar. Algunas de las herramientas Python OSINT más populares no se ejecutan todas con la misma versión de Python.

La forma de evitar esto es asegurándose de que cuando llame a Pip para instalar los requisitos necesarios, lo invoque con la versión correcta de Python. En el caso de Spiderfoot, esta es la versión 2.7 de Python. Si tiene una versión más reciente de Python instalada en su sistema, es posible que se encuentre con mensajes de error. Para verificar la versión de Python utilizada por su sistema, ingrese lo siguiente en la terminal:

La consola le dirá qué versión de Python está usando su sistema de forma predeterminada. Si está instalando Spiderfoot y su versión de Python es algo superior a 2.7, deberá ir al directorio de SpiderFoot que creó antes e ingresar lo siguiente:

Al ingresar el comando de esta manera, se asegura de iniciar Python 2.7 y luego usar la marca -m (para 'módulo') para iniciar la versión apropiada de Pip para esta versión de Spiderfoot. One Pip ha instalado los requisitos, estará listo para comenzar.

Ejecución de SpiderFoot.

Desde dentro del directorio Spiderfoot, ejecute el siguiente comando en la terminal:

O si su sistema usa Python 3.x, asegúrese de especificar Python 2.7 al iniciar para evitar problemas:

A continuación, abra su navegador y en la barra de direcciones vaya a la ubicación especificada por Spiderfoot: http://127.0.0.1:5001. Notarás que Spiderfoot todavía está funcionando en segundo plano en la terminal. Deberá mantener la terminal abierta mientras se ejecuta Spiderfoot, pero puede minimizar la ventana y dejarla en segundo plano.

Página de Inicio de SpiderFoot

En su navegador, verá algo como esto:

La interfaz de Spiderfoot es simple e intuitiva. El menú superior le permite elegir un nuevo escaneo (como se muestra en la imagen de arriba), ver los resultados de sus escaneos anteriores o modificar la configuración. Verá que Spiderfoot ofrece cuatro niveles diferentes de escaneo, según su caso de uso.

La pestaña "Por módulo" le permite realizar un escaneo con sólo los módulos específicos seleccionados habilitados. A menos que esté seguro de lo que hace cada módulo, es mejor dejarlos todos habilitados de forma predeterminada. Notará que algunos módulos tienen un símbolo de candado junto a ellos; esto indica que el módulo requiere una API Key para funcionar. Las API Keys deben adquirirse directamente del proveedor de servicios. Algunos servicios proporcionan API Keys de forma gratuita cuando te registras, pero la mayoría requiere algún tipo de pago.

Al igual que con Recon-NG y servicios de escaneo similares, los mejores resultados generalmente se obtienen de servicios pagados que ofrecen API Keys, pero Spiderfoot tiene tantos módulos y es tan completo que sigue siendo muy efectivo incluso si no tiene acceso a muchas API Keys.

Para agregar una API, simplemente vaya a la página de Configuración, busque la pestaña del módulo relevante y pegue su API Key en el campo relevante:

Una vez añadidas las API Keys que queramos, hacemos “clic” en el botón "Run Scan" en la barra de menú superior izquierda.

La página de escaneos está claramente distribuida, con cada tipo de escaneo descrito. Ejecutaré mi escaneo en https://scanme.nmap.org/. Para iniciar la exploración, haga clic en el botón "Ejecutar exploración" en la parte inferior de la página Nueva exploración. El escaneo se actualizará en tiempo real.

Debajo del gráfico, verá información sobre el estado actual de cada módulo. Se puede hacer clic en cada barra del gráfico para revelar más información. Los errores que está viendo en la parte superior izquierda se deben a la falta de claves API ingresadas en SpiderFoot. Si un módulo depende de una clave API, simplemente no funcionará en lugar de hacer que toda la aplicación se detenga.

Analizando la información.

Una vez que se completa el escaneo, podemos comenzar a analizar la información. Comenzaremos en la página del gráfico, a la que se accede haciendo clic en el botón "Graph" en el submenú superior. Esto nos da una vista de los dominios conectados. Esto puede ser útil si alguno de estos dominios está mal configurado de una manera que los deja vulnerables a los ataques.

Proseguimos examinando los datos recopilados. Esto se puede lograr haciendo clic en el botón "Browser" en el submenú superior.

De esta forma podemos extraer información de cualquier objetivo. Esto nos resultará realmente útil para realizar nuestras investigaciones, y por ello, consideramos que SpiderFoot es una herramienta fundamental para OSINT.

¡Y eso es todo por hoy! ¡Atentos a las nuevas entradas!

Escrito por Mikel Hernández Alonso

https://www.linkedin.com/in/mikel-hernandez-alonso-a3975b205/