En marzo de 2021, hablamos sobre el uso de la API de Sophos Central Live Discover para aprovechar la inteligencia de amenazas de MISP para buscar en tus activos IOC conocidas; esperamos que te haya resultado útil. Esta poderosa herramienta tenía un inconveniente: el endpoint necesitaba estar online para ejecutar una consulta en vivo para buscar esos IOC. Esto podría hacer que se pasen por alto los endpoints offline cuando se ejecuta la consulta, que pueden haber visto los IOC.
Con la llegada de la API de Sophos Central XDR, ahora tienes la capacidad de buscar en el Data Lake esos mismos IOC y no importa si esa máquina no se ha encendido durante las últimas horas. El Data Lake brinda acceso hasta 30 días de datos en todos los endpoints que desees consultar.
Las consultas se ejecutan periódicamente en el endpoint y los datos resultantes se cargan en tu Data Lake, siempre que esta función esté habilitada, lo que proporciona una gran cantidad de datos para extraer en busca de IOC conocidas.
De la misma manera que activas consultas con Live Discover, lo mismo ocurre con la API de Sophos Central XDR y hemos ampliado el conector de la API de Sophos Central para ejecutar fácilmente consultas guardadas en todos tus clientes en un solo comando.
Empieza a cazar
Para comenzar a usar el IOC Hunter, sigue estos pasos para ejecutar tu primera consulta.
Paso 1: instala Sophos Central API Connector
Lo primero es lo primero, asegúrate de haber instalado la última versión de Sophos Central API Connector. El método más sencillo para empezar es consultar la guía de inicio rápido.
Paso 2: crea la consulta de IOC Hunter en tus clientes
La consulta en sí difiere de la consulta Live Discover debido a diferencias de esquema y se puede encontrar una nueva consulta en la página de GitHub de nuestro equipo para guardarla para tus clientes. Puedes guardar una consulta personalizada siguiendo estas instrucciones.
Crea tu nombre de variable y escribe:
Recuerda el nombre que le diste a tu consulta personalizada, ya que la necesitarás más adelante cuando ejecutes ioc_hunter.py al configurar el valor −−search_input
Paso 3: establece la configuración de MISP
¿No utilizas MISP? Puedes omitir este paso.
Si no estás utilizando AWS Secrets Manager para almacenar tu clave de API, simplemente define la URL de tu instancia de MISP en el archivo `misp_config.ini` en la sección misp_instance.
Para encontrar tanto la clave de API como la URL de la instancia, inicia sesión en tu instancia de MISP y ve a: Home > Automation.
Si estás utilizando AWS Secrets Manager para almacenar tu clave de API y no estás familiarizado con los pasos, consulta este tutorial de AWS para ayudarte a configurarlo.
Una vez que hayas almacenado tu clave de API, deberás editar el archivo “misp_config.ini” con la información relevante sobre dónde obtener tu clave:
- secret_name: <secret_name>
- region_name: <aws_region>
- API_key: <specified_key_name>
Si no se proporcionan datos de AWS y has establecido la marca MISP en los argumentos, el archivo ioc_hunter.py te solicitará los datos relevantes cuando se ejecute.
Paso 4: establece datos de variables de consulta
Si estás buscando un eventid o etiqueta de MISP, no necesitas especificar el parámetro −−variable.
Para buscar IOC en el Data Lake, solo necesitamos especificar la variable IOC_JSON. Buscará automáticamente todo el período de tiempo disponible y todos los endpoints contenidos. Si no deseas utilizar MISP para construir el IOC JSON, puedes crear manualmente un archivo JSON de IOC y pasarlo como json sin formato en el argumento de la variable. Deberá adherirse al siguiente esquema:
Las entradas válidas de “indicator_type” son:
- ip
- url
- domain
- port
- sha256
- filename, file_path, file_path_name, pathname
Los datos son un valor de cadena y pueden contener comodines “%”.
Paso 5: caza
Ahora que hemos hecho el trabajo preliminar, ¡podemos empezar a cazar! A continuación, se muestra un ejemplo simple del uso de IOC Hunter para XDR para buscar los IOC para un ID de evento de MISP específico:
--api xdr --search_type Saved --search_input "<saved_search_name>" --misp true --misp_type eventid --misp_val <eventid_value> --log_level INFO
Como puedes ver, es como el comando de IOC Hunter para Live Discover, la diferencia es el parámetro “−−api” que lo diferencia entre los dos endpoints de la API de consulta. Utilizando este nuevo parámetro junto con los parámetros originales de filtros y variables, que se tratan en la publicación anterior del blog, puedes continuar con Live Discover IOC Hunts.
Se pueden encontrar más ejemplos en los documentos de GitHub aquí.
Output
Se han realizado cambios en la salida desde el IOC Hunter original para Live Discover. Los archivos están marcados más claramente para diferenciar entre los dos endpoints de la API y se guardarán en la siguiente ubicación: <ruta_a_carpeta>\sophos_central_api_connector\output\query_results
Tanto XDR como Live Discover producirán los archivos:
- <api>_search_data_<timestamp>.json
- Contiene detalles sobre la ejecución de la búsqueda y los clientes. Contiene información sobre el resultado general de la búsqueda.
- <api>_result_data_<timestamp>.json
- Contiene los resultados de las IOC o proporciona detalles sobre el resultado de la búsqueda guardada. También aclarará dónde no se encontraron resultados en un clientes.
Live Discover también generará:
- <api>_endpoint_data_<timestamp>.json
- Contiene detalles sobre los endpoints en los que se ejecutó la consulta, lo que te permitirá comprobar qué endpoints no ejecutaron la consulta para que puedan volver a consultarse en un momento posterior.
¡Esperamos que este sea un método útil para buscar IOC en tus activos!
¡Feliz detección!