Curso ELK: Consultas Kibana (KQL) para Ciberseguridad
Seguimos con el curso de ELK que tenía un poco parado…
Una vez montado nuestro entorno ElasticSearch, para empezar a explotar los eventos de seguridad y que sea interesante para mejorar la Ciberseguridad general de nuestro entorno, debemos explotar Kibana con filtros que nos permitan identificar ejecuciones en las máquinas monitorizadas.
En esta entrada os vamos a enseñar varios filtros útiles principalmente para sistemas Windows, aprovechando que tenemos una máquina integrada:
- Importante: Para que se recojan los datos que vamos a filtrar, es posible que tengáis que revisar las políticas de auditoría de vuestras máquinas o directorio activo, así como la configuración del agente Winlogbeat:
Actividades sospechosas de Usuarios y Credenciales
Estas consultas buscan actividad sospechosa relacionada con usuarios y credenciales:
- event.code: 4625 (Login Fallido): Busca todos los intentos de inicio de sesión fallidos en Windows.
- event.code: 4625 and source.ip: (“10.0.0.0/8” or “172.16.0.0/12”) (Fallo de Login Interno): Identifica fallos de login provenientes solo de redes internas (útil para detectar ataques de fuerza bruta internos).
- event.code: 4672 (Uso de Credenciales Privilegiadas): Busca inicios de sesión con privilegios de administrador o de sistema.
- user.name: Guest and event.code: 4624 (Uso de Cuenta Invitada): Busca inicios de sesión exitosos con la cuenta de invitado (que debería estar deshabilitada).
- event.code: 4720 (Creación de Usuario): Muestra todas las cuentas de usuario recién creadas.
- event.code: 4738 and winlog.event_data.TargetUserName: “*admin*” (Modificación de Admin): Busca cambios o modificaciones hechas a cuentas con nombres que contienen “admin”.
- event.code: 4726 (Eliminación de Usuario): Busca la eliminación de cualquier cuenta.
Actividades Maliciosas de Procesos
Estas consultas buscan la ejecución de comandos y herramientas que los atacantes suelen usar para moverse lateralmente o persistir.
- winlog.event_id: 4688 and process.name: (“cmd.exe” or “powershell.exe”) (Uso de Shells): Busca la ejecución de la línea de comandos o PowerShell.
- winlog.event_id: 4688 and process.command_line: “*whoami*” (Reconocimiento de Usuario): Busca la ejecución del comando whoami (típico de la fase de reconocimiento).
- winlog.event_id: 4688 and process.command_line: “*net user*” (Enumeración de Cuentas): Busca comandos utilizados para listar usuarios (net user).
- winlog.event_id: 4688 and process.command_line: “*bitsadmin*” (Transferencia de Archivos Maliciosos): Busca el uso de bitsadmin, a menudo utilizado por atacantes para descargar malware.
- winlog.event_id: 4688 and process.command_line: “*ipconfig*” (Reconocimiento de Red): Busca el comando para listar la configuración de red.
- winlog.event_id: 4688 and process.command_line: “*certutil*” (Descarga de Datos): Busca el uso de certutil.exe para descargar archivos codificados (una técnica común de evasión).
Tráfico de Red Sospechoso
Estas consultas se centran en la actividad de red, a menudo utilizando logs de firewall o de Winlogbeat si está configurado para ello.
- destination.port: 3389 and event.code: 5156 (Tráfico RDP Permitido): Busca conexiones RDP (Escritorio Remoto) permitidas (puerto 3389).
- destination.port: 23 (Tráfico Telnet): Busca tráfico al puerto 23, ya que Telnet es obsoleto y no seguro.
- source.ip: 10.10.10.10 and destination.ip: 192.168.1.50 and destination.port: (22 or 3389) (Tráfico Específico): Busca SSH o RDP entre dos hosts específicos.
- host.name: “Servidor_Crítico” and destination.ip: not (“192.168.0.0/16” or “10.0.0.0/8”) (Conexiones de Salida Anómalas): Busca tráfico de salida desde un servidor crítico hacia IPs que no son de red interna.
- destination.port: 8080 and destination.bytes > 10000000 (Exfiltración Potencial): Busca transferencias de datos muy grandes a través de un puerto no estándar (8080), lo que podría indicar exfiltración.
Modificación de Archivos y Registros
Consultas enfocadas en cambios en el sistema operativo que podrían indicar persistencia o antiforense.
- event.code: 1102 (Borrado de Logs de Seguridad): Indica que el log de seguridad de Windows ha sido borrado, una táctica común de los atacantes para ocultar su rastro.
- event.code: 4656 and file.path: “*autorun*” (Acceso a Puntos de Persistencia): Busca intentos de acceso a claves de registro o archivos comunes de autorun.
- file.path: “*.ps1” and event.action: “file_creation” (Creación de Scripts): Busca la creación de nuevos archivos de script de PowerShell, que pueden ser malware o herramientas de ataque.
Localizar Origen Geográfico de Ataque
Si utilizaste el filtro geoip en Logstash, puedes usar estas consultas para buscar orígenes de ataque geográficos.
- geoip.country_name: China or geoip.country_name: Russia (Origen Geográfico Específico): Filtra todos los eventos cuyo origen geográfico se resolvió en estos países.
- geoip.country_name: not “Spain” and event.code: 4625 (Fallos de Login No Locales): Busca fallos de inicio de sesión que no provienen de tu país esperado.
- geoip.location: * and event.code: 4625 (Visualización de Ataques de Fuerza Bruta): (Ideal para visualizar en un mapa de Kibana) Filtra todos los eventos de fallo de login con una ubicación conocida.
Entradas Curso ELK
- Curso ELK: Fundamentos del Stack ELK
- Curso ELK: Montar ELK Stack en Portainer y Docker Compose
- Curso ELK: Cómo en Enviar Logs de Windows 11
- Curso ELK: Cómo Enviar Logs de NGINX desde un contenedor LXC a ELK
- Curso ELK: Consultas Kibana (KQL) para Ciberseguridad
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?
Blog Virtualizacion Tu Blog de Virtualización en Español. Maquinas Virtuales (El Blog de Negu) en castellano. Blog informática vExpert Raul Unzue



