1. Introducción
En este post vamos a descubrir que es y cómo funciona SpiderFoot H, el cual, es una herramienta en la nube. Permite automatizar y orquestrar diferentes feeds de datos, obteniendo información de fuentes OSINT. La investigación origen con esta herramienta puede partir desde un dominio, dirección IP/rango, ASN o nombre de partida.
2. Conociendo SpiderFoot HX
Es una herramienta que se centra en el proceso de reconocimiento y obtención de información acerca de un objetivo, realizando comprobaciones y búsquedas en más de 100 fuentes públicas de datos.
Entre la información recolectada, destacan: direcciones IP, nombres de dominio, direcciones de correo electrónico, nombres de personas relacionadas entre otros datos de interés.
La versión cloud de Spiderfoot tiene bastantes mejoras con respecto a su versión local, siendo entre otros: escaneos automáticos programados, anonimización por defecto, mayor escalabilidad, escaneos simultáneos, así como mejoras en las visualizaciones y en la parte de reporte.
Actualmente, esta versión esta en fase Beta privada, siendo solo accesible por invitación. Desde GINSEG, tenemos la oportunidad de disponer del acceso y poder analizar la propia herramienta.
El autor de dicha herramienta es Steve Micallef, al cual, agradecemos su dedicación y trabajo dentro de este campo.
3. Análisis de SpiderFoot HX
3.1. Instalación de SpiderFoot
La versión HX de SpiderFoot, a diferencia de su hermano pequeño, no se instala, sino se ejecuta en la nube. En un futuro post, realizaremos un análisis de la herramienta ejecutándola en local.
3.2. Configuración y parametrización de SpiderFoot
Una vez iniciada sesión en la herramienta, especificaremos la configuración deseada del análisis mediante la pestaña de nuevo escaneo (New Scan). En este apartado, disponemos de tres tipos de análisis a elegir:
- Todos los módulos disponibles en la herramienta. Es recomendable, acceder a Settings / Modules para parametrizar correctamente cada módulo, así como por Settings / API Key Manager para introducir las API Keys con las que contemos.
- Solo los módulos pasivos. Aquellos que no dejen huella en el objetivo, recolectando solo información de fuentes de datos de terceros. En este punto, hay que tener cuidado con algunas peticiones de DNS que realicen enumeración por fuerza bruta. Esto último es debido, a que dichas peticiones podrán dejar rastro en los sistemas de alerta y monitorización del objetivo, aunque se haya realizado mediante un tercero.
- Los módulos seleccionados.
Es importante seleccionar correctamente los módulos que queremos emplear para nuestra investigación, teniendo como finalidad que la herramienta nos ofrezca datos de valor. En función del número de módulos que se seleccionen, el análisis será más o menos rápido y/o silencioso. Los análisis activos son los que incluyen funcionalidades que dejan rastro en el objetivo (por ejemplo enumeración de subdominios, escaneo de puertos, listados de ficheros basura o con extensiones de backup, etc). Los análisis pasivos, en cambio, son escaneos que reciben información de otras fuentes como feeds de datos externos. Por este motivo, nuestro objetivo no sabrá ni notará ningún pico de peticiones hacia sus entornos durante el propio escaneo.
De igual forma, si los perfiles que tenemos predefinidos no cubren nuestras necesidades, podemos crear nuestro perfil para agilizar los escaneos y seleccionar los módulos que nos interesen. En nuestro caso, hemos creado un perfil seleccionando aquellos módulos que dispongan como dato de entrada dominios o que busquen en listas de dominios, pudiendo escoger y reutilizar este perfil en nuestros futuros escaneos. Esta opción, la podemos encontrar dentro de Settings / Scan Profiles.
En este apartado, como dato de entrada, podemos introducir nombres de dominios, direcciones IP, rangos de red, ASNs, direcciones de correo electrónico o nombres de personas (pudiendo elegir directivos o empleados de la organización objetivo).
Estos escaneos pueden ser realizados en el momento que lo estamos parametrizando o bien, ejecutando una programación recurrente. Utilizando esta segunda opción, podremos comparar nuevos hallazgos con el histórico de escaneos anteriores para ver las diferencias.
Un dato importante a tener en cuenta con esta versión de la herramienta, es que existen limitaciones de dos escaneos concurrentes, teniendo un máximo de dos días para realizar el escaneo. Este límite se aplica tanto para los escaneos nuevos como para los programados.
En la parte de correlaciones dentro de Settings / Correlation Rules podréis activar o desactivar cada una de las reglas y modificar el parámetro Risk, asignándole valores como Alto, Medio, Bajo e Informativo. Entendemos que esta parte evolucionará en un futuro, permitiendo añadir reglas propias, además de una mejora en las funcionalidades con configuraciones más detalladas.
3.3. Disponibilidad de API
SpiderFoot HX permite interactuar con APIs de terceros así como dispone de una API propia para poder lanzar y configurar los escaneos haciendo nuestras integraciones personalizadas.
Dentro de Settings / API Key Manager podréis introducir todas las API Keys de las que dispongáis, ofreciendo en un apartado centralizado la posibilidad de añadir todas las API Key de los diferentes servicios. Cada servicio y API Key puede ser configurado de forma individual dentro de Settings / Module Settings como mostramos en la imagen de abajo, aunque el gestor de claves realmente es la forma rápida de poner todo a punto sin entrar en muchos detalles de parametrizaciones.
En la parte de API Keys de la documentación oficial, podréis encontrar las páginas donde generar las cuentas y como acceder a la parte de obtención de la API Key necesaria: https://www.spiderfoot.net/documentation/#api
Introduciendo el mayor número de claves nuestros escaneos serán más completos. Aunque como siempre, debéis saber que cada servicio tiene sus limitaciones y seguramente el número de consultas que se podrán hacer por cada servicio y API será limitado. Si tenéis la suerte de tener alguna Key de pago, seguro que estos límites se reducen significativamente.
En cuanto a la API propia de SpiderFoot HX, podéis revisar la documentación disponible en la documentación siguiente:
[pdf-embedder url=»https://ginseg.com/wp-content/uploads/sites/2/2018/12/SpiderFootHXAPI1.3.pdf»]
3.4. Aprendiendo a utilizar SpiderFoot HX
Una vez que hemos realizado la configuración inicial y ejecutado nuestro primer escaneo, podremos acceder a la información que se vaya recolectando.
En la parte de escaneos, tendremos toda la información recolectada, pudiendo visualizarse en un dashboard bastante intuitivo. Entre las operaciones que incluye, se podrán seleccionar y filtrar los tipos de datos, categorías, fuentes y correlaciones que haya podido realizar. También es interesante la diferenciación entre datos que son únicos y los que no, ya que al hacer este tipo de recolección de información hay mucha información repetida que genera principalmente ruido.
En el apartado de correlaciones podemos ver como se enlaza la información obtenida y se enriquece con otras fuentes de información. En la captura siguiente, se marca una IP maliciosa que está indicada como tal en diferentes fuentes de datos. De esta manera, permite ahorrarnos tiempo de análisis por cada una de los diferentes elementos ya detectados e indexados de diversas fuentes.
Es interesante revisar este tipo de correlaciones, ya que no toda la información indexada puede ser interesante para nuestro análisis, como podría ser el caso la imagen de abajo. En esta, se ha incluido una alerta y una relación con una dirección IP que dentro del contexto que nos atañe no nos aporta información relevante.
En la sección de Scans / Browse by podemos ver en un vistazo la información recolectada por categorías dentro de los módulos. Esto ofrece un detalle que facilita filtrar y ordenar la tabla que nos permitirá acceder de forma rápida a los datos que más alertas tengan o los que más llamen nuestra atención para el propósito de la recolección de información.
No entramos en detalle, ya que cada recolección de información que hagáis será diferente en función de vuestro objetivo, así como del plan que tengáis. Ya hemos hecho mención al ciclo de inteligencia y a las diferencias entre datos, información e inteligencia en el siguiente post: https://ginseg.com/2018/897/inteligencia/introduccion-a-la-inteligencia/ lo cual os invitamos a revisar para estar alineados y tener un propósito claro a la hora de usar este tipo de herramientas.
Dentro de este apartado tendremos las siguientes opciones:
- Data Type
- Data Family
- Data Source
- Module
- Module Category
Navegación entre los datos presentados por Module Category.
Navegación entre los datos presentados por Data Family.
Para que podamos interactuar y visualizar la información de forma más gráfica, tenemos la sección de Scans / Visualize.
Dentro de esta parte y siempre dependiendo de nuestro fin podremos presentar la información de las siguientes formas:
- Node Graph. Gráfico de nodos con iconos que representan cada tipo de datos.
- TreeMap. Permite visualizar el volumen de datos agregados con diferentes tamaños en función del volumen, pudiendo ver cuál es la información más recolectada.
- Sankey Diagram. No hemos sido capaces de que se cargue esta visualización.
- Chord Diagram. Permite interactuar y ver qué datos se relacionan con que información. Adicionalmente, si pinchamos en el tipo deseado, nos llevará a los resultados mostrando el módulo fuente de donde se ha obtenido esta información.
Chord Diagram de nuestro objetivo.
TreeMap de nuestro objetivo.
Una vez que hemos buceado por los resultados de nuestro análisis, nos puede interesar hacer una comparativa de otro análisis histórico realizado, para ver los elementos que han podido desaparecer o ser descubiertos de nuevo dentro de Scan / Scan Comparasion. Esto es muy interesante para monitorizar el parque de activos que aparece en listas negras por ejemplo, ya que podremos ver si aparecen en las mismas y cuando desaparecen de estas listas.
Hay que tener en cuenta que el crawler y el indexado puede traer diferentes datos en distintos escaneos. La comparación de escaneos también puede aportarnos información que sea complicada de comparar en algunos aspectos, siempre teniendo en cuenta que se han utilizado los mismos parámetros de entrada para que esta comparación pueda tener sentido.
Las dimensiones en las que nos permite hacer la comparativa son las siguientes:
- Data Type
- Data Source
- Module
- Module Category
3.5 Score de Complejidad de instalación, configuración y uso
La puntuación inicial que damos a esta herramienta, sabiendo que aun esta en beta y que el desarrollo está mejorando con actualizaciones muy frecuentes, es de 8,33 lo cual la deja en muy buen lugar para nuestras tareas de recolección de información sobre un objetivo.
[table id=2 responsive=“all” /]
3.6. Fuentes de datos disponibles
SpiderFoot dispone de una serie de fuentes de datos de las que consultar, siendo las siguientes.
[table id=3 responsive=“all” /]
Completaremos el detalle de cada una de estas fuentes dentro de la sección de Fuentes de nuestra comunidad: https://ginseg.com/category/inteligencia/fuentes-feeds/
4. Ventajas de SpiderFoot HX
Como puntos a destacar de esta versión tenemos:
- API. Cuenta con una API que permite interactuar con el back-end directamente sin usar el interfaz web. Esto permite automatizar la ejecución de los escaneos, ver su avance o descargar los resultados, entre otros. (Una vez que estéis en el panel podéis acceder a la documentación de la API en esta ruta /static/SpiderFootHXAPI1.3.pdf)
- Dispone de una pestaña de vista general. Ofrece un resumen de los datos recogidos acerca del objetivo, como número de elementos, elementos únicos, errores, correlaciones realizadas entre los datos obtenidos, categorización de las fuentes de datos y de los módulos. Igualmente, se muestra una gráfica que permite visualizar el volumen de cada tipo de datos, diferenciando entre los registros que son únicos y los que no.
- Reglas de correlación. Dichas reglas pueden ser personalizadas en base a riesgos que pueden ser definidos, catalogándose desde informativos hasta altos. Actualmente existen pocas reglas, pero ofrece funcionalidades futuras muy altas.
- Gestión de APIs de terceros en una sola pantalla. Permite añadir las API Keys correspondientes a los módulos que queramos usar en un solo sitio.
- Personalización de perfiles de escaneo, pudiendo ajustar los módulos que se usaran en cada perfil.
- Gestión de perfiles de usuarios para realizar investigaciones por diferentes miembros de un equipo, con roles de administrador, solo lectura o normal. En esta parte, puedes descubrir si el segundo factor de autenticación está activo dentro de nuestra lista de usuarios, opción más que recomendable de utilizar en cualquier servicio online.
5. Desventajas de SpiderFoot HX
Las limitaciones de la beta privada son:
- Límite de 100 escaneos mensuales con una duración máxima de 48 horas cada uno. Para organizaciones grandes, este plan puede quedarse corto.
- Hay un límite de 2 escaneos simultáneos. Tampoco dejará programar y ejecutar un escaneo si ya disponemos de dos corriendo. En cualquier caso, se pueden dejar programados y esperando a ser ejecutados cada dos días según nos marca el límite del punto anterior.
- Solo se almacenaran los datos de nuestros escaneos durante 95 días, que para investigaciones en curso, es más que suficiente. Existe la opción de comparar escaneos, con lo que no podremos retroceder en los resultados muy atrás, pero tendremos siempre la posibilidad de explorar las funcionalidades.
- Se pueden añadir hasta 100 usuarios por cuenta. Este límite realmente no parece un límite según nuestro punto de vista para una beta privada.
Ya hay hueco para cambiar de plan, aunque la opción actualmente aún no está habilitada. Para nuestras pruebas, la versión con las limitaciones anteriores ha sido más que suficiente, pero es verdad que para un uso comercial podrían quedarse cortas estas especificaciones.
6. Conclusión
Esta herramienta tiene un enorme potencial, facilita el trabajo de recolección de información sobre un objetivo. A medida que avanza el proyecto, se disponen de más fuentes de datos, que permiten tener una visión más amplia sobre nuestro objetivo y el entorno que le rodea.
Estando en desarrollo, notamos las diferencias y mejoras desde que nos inscribimos en la beta privada hasta la publicación del post, por lo que presuponemos que seguirá con este buen ritmo mejorando la solución. Lo que si observamos, es que está prevista la posibilidad de cambio de plan asumiendo que la versión gratuita de la beta privada dejará de serlo y/o aparecerán versiones comerciales de pago que tendrán otras limitaciones y precios.
En general estamos satisfechos de todas las opciones y funcionalidades de esta solución que cada vez tiende a parecerse a una plataforma de Threat Intelligence.
Dejamos hilo en nuestra comunidad para ampliar conocimiento sobre esta solución en https://ginseg.com/comunidad/topic/spiderfoot-hx/
Hola @2nibbles. Yo tambien uso la tool de SpiderFoot HX es fantastica y tu aporte es genial ya que resume en gran parte lo que es esta tool xD.
Como tu tambien opino que flaquea con los dominios largos y otra contra que le veo es que exporta solo en formato csv…
Me gustaria que aportara exportar tambien en otros formatos como pdf…
En cuanto a este año va a haber una mejora grande. Que la publico el autor cuyo link es:
https://medium.com/@micallst/osint-resources-for-2019-b15d55187c3f
Espero les sirva mi pequeño aporte…
Saludos Rootkit!.
[…] https://ginseg.com/2019/1636/inteligencia/herramientas/recoleccion-de-datos-osint-sobre-tu-objetivo-… […]
[…] facilitada en el tramo final del Hackathon permite ver la integración de las herramientas SpiderFoot y Metabase en una aplicación basada en el framework Ruby on […]
[…] Spiderfoot. Herramienta OSINT que permite efectuar varios tipos de investigaciones consultando múltiples fuentes. Disponéis de un análisis más exhaustivo de su versión en nube aquí […]
[…] Spiderfoot. Herramienta OSINT que permite efectuar varios tipos de investigaciones consultando múltiples fuentes. Disponéis de un análisis más exhaustivo de su versión en nube aquí […]