Hayabusa es un generador de líneas de tiempo forenses rápidas del registro de eventos de Windows y una herramienta de caza de amenazas creada por el grupo Yamato Security en Japón. Hayabusa significa “halcón peregrino” en japonés y fue elegido porque los halcones peregrinos son los animales más rápidos del mundo, grandes cazadores y altamente entrenables.
Está escrito en Rust y soporta el multihilo para ser lo más rápido posible. Se ha proporcionado una herramienta para convertir las reglas de Sigma en el formato de las reglas de Hayabusa. Las reglas de detección de Hayabusa compatibles con Sigma están escritas en YML con el fin de ser tan fácilmente personalizables y extensibles como sea posible.
Hayabusa puede ejecutarse en sistemas individuales para el análisis en vivo, mediante la recopilación de registros de sistemas individuales o múltiples para el análisis fuera de línea, o mediante la ejecución del artefacto Hayabusa con Velociraptor para la caza de amenazas y la respuesta a incidentes en toda la empresa. La salida se consolidará en una única línea de tiempo CSV para facilitar el análisis en Excel, Timeline Explorer, Elastic Stack, Timesketch, etc.
Objetivos Principales
Caza de amenazas y DFIR en toda la empresa
Hayabusa tiene actualmente más de 2600 reglas Sigma y más de 130 reglas de detección integradas en Hayabusa, con más reglas que se añaden regularmente. Se puede utilizar para la caza proactiva de amenazas en toda la empresa, así como para DFIR (Digital Forensics and Incident Response) de forma gratuita con el artefacto Hayabusa de Velociraptor. Combinando estas dos herramientas de código abierto, se puede esencialmente reproducir de forma retroactiva un SIEM cuando no hay una configuración SIEM en el entorno. Puedes aprender cómo hacer esto viendo el tutorial de Velociraptor de Eric Capuano aquí.
Generación rápida de líneas de tiempo forenses
El análisis del registro de eventos de Windows ha sido tradicionalmente un proceso muy largo y tedioso porque los registros de eventos de Windows están 1) en un formato de datos que es difícil de analizar y 2) la mayoría de los datos son ruido y no son útiles para las investigaciones. El objetivo de Hayabusa es extraer sólo los datos útiles y presentarlos en un formato lo más conciso posible y fácil de leer que sea utilizable no sólo por analistas con formación profesional sino por cualquier administrador de sistemas Windows. Hayabusa espera permitir a los analistas realizar el 80% de su trabajo en el 20% del tiempo en comparación con el análisis tradicional de los registros de eventos de Windows.
Capturas de Pantalla
Inicio
Salida del terminal
Línea de tiempo de frecuencia de eventos (opción -V
)
Resumen de resultados
Análisis en Excel
Análisis en Timeline Explorer
Análisis con el panel de control de Elastic Stack
Análisis en Timesketch
Características
- Soporte multiplataforma: Windows, Linux, macOS.
- Desarrollado en Rust para ser seguro con la memoria y más rápido que un halcón Hayabusa.
- Soporte multihilo que ofrece una mejora de velocidad de hasta 5 veces.
- Crea una única línea de tiempo CSV fácil de analizar para investigaciones forenses y respuesta a incidentes.
- Búsqueda de amenazas basada en firmas IoC escritas en reglas hayabusa basadas en YML fáciles de leer/crear/editar.
- Soporte de reglas Sigma para convertir reglas Sigma en reglas Hayabusa.
- Actualmente soporta la mayor cantidad de reglas sigma en comparación con otras herramientas similares e incluso soporta reglas de conteo y nuevos agregadores como |equalsfield.
- Estadísticas del registro de eventos. (Útil para tener una idea de los tipos de eventos que hay y para afinar la configuración del registro).
- Configuración de ajuste de reglas mediante la exclusión de reglas innecesarias o ruidosas.
- Asignación de tácticas MITRE ATT&CK (sólo en archivos CSV guardados).
- Ajuste a nivel de regla.
- Creación de una lista de palabras clave de pivote únicas para identificar rápidamente usuarios anormales, nombres de host, procesos, etc… así como correlacionar eventos.
- Salida de todos los campos para investigaciones más exhaustivas.
- Resumen de inicios de sesión exitosos y fallidos.
- Búsqueda de amenazas en toda la empresa y DFIR en todos los puntos finales con Velociraptor.
Descargas
Por favor, descarga la última versión estable de Hayabusa con los binarios compilados o compila el código fuente desde la página de versiones (Releases).
https://github.com/Yamato-Security/hayabusa/releases
Clonación Git
Puedes clonar con git (git clone
) el repositorio con el siguiente comando y compilar el binario desde el código fuente:
Advertencia: La rama principal del repositorio es para propósitos de desarrollo, por lo que puedes acceder a nuevas características que aún no han sido publicadas oficialmente, sin embargo, puede haber errores, así que considéralo inestable.
git clone https://github.com/Yamato-Security/hayabusa.git --recursive
Nota: Si te olvidas de usar la opción --recursive
, la carpeta rules
, que se gestiona como un submódulo git, no se clonará.
Puedes sincronizar la carpeta rules
y obtener las últimas reglas de Hayabusa con git pull --recurse-submodules
o utilizar el siguiente comando:
hayabusa-1.5.1-win-x64.exe -u
Si la actualización falla, es posible que tengas que cambiar el nombre de la carpeta rules
y volver a intentarlo.
Uso de hayabusa
Comandos principales
- default: Crea una línea de tiempo forense rápida.
--level-tuning
: Personaliza ellevel
de las alertas.-L, --logon-summary
: Imprime un resumen de los eventos de inicio de sesión.-P, --pivot-keywords-list
: Imprime una lista de palabras clave sospechosas para pivotar.-s, --statistics
: Imprime las métricas del recuento y el porcentaje de eventos basados en el ID del evento.--set-default-profile
: Cambiar el perfil por defecto.-u, --update
: Sincroniza las reglas con las más recientes en el repositorio GitHub de hayabusa-rules.
Opciones de la línea de comandos:
USAGE:
hayabusa.exe <INPUT> [OTHER-ACTIONS] [OPTIONS]
INPUT:
-d, --directory <DIRECTORY> Directory of multiple .evtx files
-f, --file <FILE> File path to one .evtx file
-l, --live-analysis Analyze the local C:\Windows\System32\winevt\Logs folder
ADVANCED:
-c, --rules-config <DIRECTORY> Specify custom rule config directory (default: ./rules/config)
-Q, --quiet-errors Quiet errors mode: do not save error logs
-r, --rules <DIRECTORY/FILE> Specify a custom rule directory or file (default: ./rules)
-t, --thread-number <NUMBER> Thread number (default: optimal number for performance)
--target-file-ext <EVTX_FILE_EXT>... Specify additional target file extensions (ex: evtx_data) (ex: evtx1 evtx2)
OUTPUT:
-o, --output <FILE> Save the timeline in CSV format (ex: results.csv)
-P, --profile <PROFILE> Specify output profile (minimal, standard, verbose, verbose-all-field-info, verbose-details-and-all-field-info)
DISPLAY-SETTINGS:
--no-color Disable color output
--no-summary Do not display result summary
-q, --quiet Quiet mode: do not display the launch banner
-v, --verbose Output verbose information
-V, --visualize-timeline Output event frequency timeline
FILTERING:
-D, --deep-scan Disable event ID filter to scan all events (slower)
--enable-deprecated-rules Enable rules marked as deprecated
--exclude-status <STATUS>... Ignore rules according to status (ex: experimental) (ex: stable test)
-m, --min-level <LEVEL> Minimum level for rules (default: informational)
-n, --enable-noisy-rules Enable rules marked as noisy
--timeline-end <DATE> End time of the event logs to load (ex: "2022-02-22 23:59:59 +09:00")
--timeline-start <DATE> Start time of the event logs to load (ex: "2020-02-22 00:00:00 +09:00")
OTHER-ACTIONS:
--contributors Print the list of contributors
-L, --logon-summary Print a summary of successful and failed logons
--level-tuning [<FILE>] Tune alert levels (default: ./rules/config/level_tuning.txt)
-p, --pivot-keywords-list Create a list of pivot keywords
-s, --statistics Print statistics of event IDs
--set-default-profile <PROFILE> Set default output profile
-u, --update-rules Update to the latest rules in the hayabusa-rules github repository
TIME-FORMAT:
--European-time Output timestamp in European time format (ex: 22-02-2022 22:00:00.123 +02:00)
--RFC-2822 Output timestamp in RFC 2822 format (ex: Fri, 22 Feb 2022 22:00:00 -0600)
--RFC-3339 Output timestamp in RFC 3339 format (ex: 2022-02-22 22:00:00.123456-06:00)
--US-military-time Output timestamp in US military time format (ex: 02-22-2022 22:00:00.123 -06:00)
--US-time Output timestamp in US time format (ex: 02-22-2022 10:00:00.123 PM -06:00)
-U, --UTC Output time in UTC format (default: local time)
Ejemplos de Uso
Ejecuta hayabusa contra un archivo de registro de eventos de Windows con el perfil estándar por defecto:
hayabusa-1.5.1-win-x64.exe -f eventlog.evtx
Ejecuta hayabusa contra el directorio sample-evtx con múltiples archivos de registro de eventos de Windows con el perfil verbose:
hayabusa-1.5.1-win-x64.exe -d .\hayabusa-sample-evtx -P verbose
Exportar a un único archivo CSV para su posterior análisis con excel, timeline explorer, elastic stack, etc… e incluir toda la información de los campos (Advertencia: el tamaño del archivo de salida será mucho mayor con el perfil verbose-details-and-all-field-info
):
hayabusa-1.5.1-win-x64.exe -d .\hayabusa-sample-evtx -o results.csv -F
Ejecutar sólo las reglas de hayabusa (por defecto se ejecutan todas las reglas en -r .\rules
):
hayabusa-1.5.1-win-x64.exe -d .\hayabusa-sample-evtx -r .\rules\hayabusa -o results.csv
Ejecutar sólo las reglas de hayabusa para los registros que están activados por defecto en Windows:
hayabusa-1.5.1-win-x64.exe -d .\hayabusa-sample-evtx -r .\rules\hayabusa\default -o results.csv
Sólo ejecutar las reglas de hayabusa para los registros de sysmon:
hayabusa-1.5.1-win-x64.exe -d .\hayabusa-sample-evtx -r .\rules\hayabusa\sysmon -o results.csv
Ejecutar sólo las reglas sigma:
hayabusa-1.5.1-win-x64.exe -d .\hayabusa-sample-evtx -r .\rules\sigma -o results.csv
Habilitar las reglas obsoletas (las que tienen el status
marcado como deprecated
) y las reglas ruidosas (aquellas cuyo ID de regla aparece en .\rules\config\noisy_rules.txt
):
hayabusa-1.5.1-win-x64.exe -d .\hayabusa-sample-evtx --enable-noisy-rules --enable-deprecated-rules -o results.csv
Ejecutar sólo las reglas para analizar los inicios de sesión y la salida en la zona horaria UTC:
hayabusa-1.5.1-win-x64.exe -d .\hayabusa-sample-evtx -r .\rules\hayabusa\default\events\Security\Logons -U -o results.csv
Ejecutar en una máquina Windows viva (requiere privilegios de administrador) y sólo detectar alertas (comportamiento potencialmente malicioso):
hayabusa-1.5.1-win-x64.exe -l -m low
Crear una lista de palabras clave de pivote de las alertas críticas y guardar los resultados. (Los resultados se guardarán en keywords-Ip Addresses.txt
, keywords-Users.txt
, etc.):
hayabusa-1.5.1-win-x64.exe -l -m critical -p -o keywords
Imprimir estadísticas de ID de eventos:
hayabusa-1.5.1-win-x64.exe -f Security.evtx -s
Imprimir resumen de inicio de sesión:
hayabusa-1.5.1-win-x64.exe -L -f Security.evtx -s
Imprimir información detallada (útil para determinar qué archivos tardan en procesarse, errores de análisis, etc.):
hayabusa-1.5.1-win-x64.exe -d .\hayabusa-sample-evtx -v
Ejemplo de salida detallada:
Checking target evtx FilePath: "./hayabusa-sample-evtx/YamatoSecurity/T1027.004_Obfuscated Files or Information\u{a0}Compile After Delivery/sysmon.evtx"
1 / 509 [>-------------------------------------------------------------------------------------------------------------------------------------------] 0.20 % 1s
Checking target evtx FilePath: "./hayabusa-sample-evtx/YamatoSecurity/T1558.004_Steal or Forge Kerberos Tickets AS-REP Roasting/Security.evtx"
2 / 509 [>-------------------------------------------------------------------------------------------------------------------------------------------] 0.39 % 1s
Checking target evtx FilePath: "./hayabusa-sample-evtx/YamatoSecurity/T1558.003_Steal or Forge Kerberos Tickets\u{a0}Kerberoasting/Security.evtx"
3 / 509 [>-------------------------------------------------------------------------------------------------------------------------------------------] 0.59 % 1s
Checking target evtx FilePath: "./hayabusa-sample-evtx/YamatoSecurity/T1197_BITS Jobs/Windows-BitsClient.evtx"
4 / 509 [=>------------------------------------------------------------------------------------------------------------------------------------------] 0.79 % 1s
Checking target evtx FilePath: "./hayabusa-sample-evtx/YamatoSecurity/T1218.004_Signed Binary Proxy Execution\u{a0}InstallUtil/sysmon.evtx"
5 / 509 [=>------------------------------------------------------------------------------------------------------------------------------------------] 0.98 % 1s
Salida a un formato CSV compatible para importar en Timesketch:
hayabusa-1.5.1-win-x64.exe -d ../hayabusa-sample-evtx --RFC-3339 -o timesketch-import.csv -P timesketch -U
Modo de error silencioso: Por defecto, hayabusa guardará los mensajes de error en los archivos de registro de errores. Si no deseas guardar los mensajes de error, por favor añade -Q
.
https://github.com/Yamato-Security/hayabusa