IMPORTANTE: este README y otra documentación no están actualizados para reflejar los cambios realizados en las últimas versiones beta (ya que ocurrieron muchos cambios). Todo esto se actualizará a su debido tiempo cuando se lance una versión estable (consulte Hoja de ruta hasta la próxima versión). Siéntase libre de ejecutar versiones beta por su cuenta y haga preguntas si necesita ayuda.

Qué
EDR con recolección de artefactos impulsada por detección. El motor de detección está construido sobre un proyecto anterior Gene especialmente diseñado para comparar eventos de Windows con reglas definidas por el usuario.
¿Qué quiere decir con "recolección de artefactos impulsada por detección"?
Significa que una alerta puede desencadenar directamente la recolección de algunos artefactos (archivo, registro, memoria de procesos). De esta manera, está seguro de haber recolectado los artefactos tan pronto como sea posible (casi en tiempo real).
Todo este trabajo se ha realizado en mi tiempo libre con la esperanza de que ayude a otras personas, espero que lo disfruten. A menos que reciba financiación para seguir desarrollando este proyecto, continuaré desarrollándolo en la medida de lo posible. Haré todo lo que pueda para solucionar los problemas a tiempo y proporcionar actualizaciones. No dude en abrir incidencias para mejorar este proyecto y mantenerlo vivo.
Por qué
- Proporcionar un EDR de código abierto a la comunidad
- Hacer transparentes las reglas de detección para que los analistas entiendan por qué se activó una regla
- Ofrecer primitivas de detección potentes a través de un motor de reglas flexible
- Optimizar los procesos de respuesta a incidentes reduciendo drásticamente el tiempo entre la detección y la recolección de artefactos
Cómo
NB: el agente EDR se puede ejecutar de forma independiente (sin estar conectado a un gestor EDR)
Lo que debe saber
- Funciona solo en Windows usando registros ETW
- Se basa en Sysmon para todo el trabajo pesado (componente del kernel)
- Motor de detección muy potente y personalizable (impulsado por gene)
- Construido por un respondedor de incidentes para todos los respondedores de incidentes con el objetivo de hacer su trabajo menos doloroso
- Huella baja -> sin inyección de procesos
- Puede coexistir con cualquier producto antivirus (se recomienda ejecutarlo junto con MS Defender)
- Diseñado para alto rendimiento. Puede enriquecer y analizar fácilmente hasta 15 millones de eventos al día por terminal sin impacto en el rendimiento. Buena suerte logrando eso con un SIEM.
- Fácilmente integrable con otras herramientas (Splunk, ELK, MISP...)
- Integrado con el marco ATT&CK
- Hay una potente API administrativa para facilitar la gestión de grandes despliegues (aún sin GUI)
Instalación
Requisitos
- Instalar Sysmon
- Configurar Sysmon
- Puede encontrar configuraciones optimizadas de Sysmon aquí
- El registro de cualquier ProcessCreate y ProcessTerminate es obligatorio
- Tome nota de la ruta a su binario de Sysmon porque lo necesitará más adelante
NB: el filtrado de eventos se puede hacer al 100% con reglas Gene, así que no se moleste en crear una configuración complicada de Sysmon.
Recomendaciones previas a la instalación
Para aprovechar al máximo WHIDS, es posible que desee mejorar su política de registro.
- Habilitar el registro de módulos de PowerShell
- Auditar la creación de servicios: gpedit.msc ->
Computer Configuration\Windows Settings\Security Settings\Advanced Audit Policy Configuration\System Audit Policies\System\Audit Security System Extension -> Habilitar
- Habilitar la auditoría del sistema de archivos. Sysmon solo proporciona eventos FileCreate cuando se crean nuevos archivos, por lo que si desea/necesita registrar otros tipos de accesos (Lectura, Escritura, ...) necesita habilitar la auditoría del sistema de archivos.
- gpedit.msc ->
Computer Configuration\Windows Settings\Security Settings\Advanced Audit Policy Configuration\System Audit Policies\Object Access\Audit File System -> Habilitar
- Haga clic derecho en cualquier carpeta -> Propiedades -> Seguridad -> Avanzado -> Auditoría -> Agregar
Seleccionar una entidad de seguridad (coloque aquí el nombre del usuario/grupo para el que desea la auditoría). Coloque el grupo Todos si desea registrar el acceso de cualquier usuario.
Aplicar a se utiliza para seleccionar el ámbito de esta política de auditoría a partir de la carpeta que haya seleccionado
Permisos básicos seleccione los tipos de accesos para los que desea que se generen registros
- Validar
- Los registros de auditoría del sistema de archivos aparecerán en el canal de registro
Seguridad
Agente EDR de terminal (Whids.exe)
Esta sección cubre la instalación del agente en el terminal.
- Descargar y extraer la última versión de WHIDS https://github.com/0xrawsec/whids/releases
- Ejecutar
manage.bat como administrador
- Iniciar la instalación seleccionando la opción adecuada
- Verificar que los archivos se hayan creado en el directorio de instalación
- Editar el archivo de configuración seleccionando la opción adecuada en
manage.bat o usando su editor de texto preferido
- Omita esto si se ejecuta con una conexión a un gestor, porque las reglas se actualizarán automáticamente. Si no hay nada en el directorio de reglas la herramienta será inútil, así que asegúrese de que haya algunas reglas gene allí. Algunas reglas se incluyen con WHIDS y se le preguntará si desea instalarlas o no. Si desea las reglas más actualizadas, puede obtenerlas aquí (tome las compiladas)
- Iniciar los servicios desde la opción adecuada en
manage.bat o simplemente reiniciar (opción preferida de lo contrario algunos campos de enriquecimiento estarán incompletos generando falsas alertas)
- Si configuró un gestor, no olvide ejecutarlo para recibir alertas y volcados
NB: En el momento de la instalación, el servicio Sysmon se hará dependiente del servicio WHIDS para asegurarnos de que el EDR se ejecute antes de que Sysmon comience a generar eventos.
Gestor EDR
El gestor EDR se puede instalar en varias plataformas, se proporcionan binarios precompilados para Windows, Linux y Darwin.
- Crear certificado TLS si es necesario para conexiones HTTPS
- Crear un archivo de configuración (hay un argumento de línea de comandos para generar una configuración básica)
- Ejecutar el binario
Ejemplos de configuración
Visite doc/configuration.md
Documentación adicional
Problemas conocidos
- No funciona correctamente cuando se ejecuta desde un recurso compartido de red asignado como unidad de red (este caso impide que whids se identifique y, por lo tanto, genere ruido). Ejemplo: si
\\vbox\test está montado como unidad Z:, ejecutar Z:\whids.exe no funcionará mientras que ejecutar \\vbox\test\whids.exe sí lo haría.
Hoja de ruta hasta la próxima versión
Registro de cambios
v1.7
- Nueva API HTTP administrativa con las siguientes características:
- Gestionar terminales (listar, crear, eliminar)
- Obtener estadísticas básicas sobre el gestor
- Ejecutar comandos en terminales y obtener resultados
- Puede soltar archivos antes de la ejecución, para ejecutar binarios/scripts no presentes en el terminal. Los archivos soltados se eliminan después de ejecutar el comando.
- Puede recuperar archivos (después de la ejecución del comando), para recuperar los resultados del comando
- Recolectar archivos de los terminales con fines forenses
- Contener / Descontener terminales restringiendo cualquier tráfico de red excepto la comunicación con el gestor.
- Consultar registros de terminales
- Consultar alertas de terminales
- Pivotar sobre una marca de tiempo y recuperar registros/alertas alrededor de ese pivote temporal
- Acceder al informe del terminal
- Puntuación (relativa a cada entorno) que permite ordenar los terminales y detectar los que se comportan de manera diferente a los demás.
- Alertas / TTP observados en un marco de tiempo determinado
- Gestionar reglas (listar, crear, actualizar, guardar, eliminar)
- Integración con Sysmon v12 y v13
- Integrar eventos de ClipboardData
- Poner el contenido de los datos del portapapeles dentro del evento para permitir la creación de reglas sobre el contenido del portapapeles
- Integrar eventos de ProcessTampering
- Enriquecer el evento con una puntuación de diferencias entre la sección .text en disco y en memoria
- Implementado el anclaje de certificados en el cliente para mejorar la seguridad del canal de comunicación entre los terminales y el servidor de gestión
- Capacidades de filtrado de registros, que permiten recolectar eventos contextuales. El filtrado de registros se logra creando reglas de filtrado Gene (consulte Documentación de Gene).
- Archivos de configuración en formato TOML para una mejor legibilidad
- Mejor protección del directorio de instalación
Trabajo relacionado
Patrocinadores

Github:https://github.com/tines Website:https://www.tines.com/ Twitter:@tines_io