Communitygithub.com

Análisis de Registros de Auditoría de Linux para Detección de I…

Utiliza el framework de auditoría de Linux (auditd) con las utilidades ausearch y aureport para investigar y detectar intrusiones en sistemas Linux.

¿Qué es Análisis de Registros de Auditoría de Linux para Detección de I…?

Esta habilidad está diseñada para que los agentes de IA y los profesionales de seguridad realicen análisis forenses y de detección de intrusiones en sistemas Linux utilizando el framework de auditoría a nivel de kernel auditd. Proporciona un flujo de trabajo completo que abarca desde la verificación del estado del demonio de auditoría, el despliegue de reglas específicas para indicadores de intrusión, hasta la búsqueda y reconstrucción de la línea de tiempo de un ataque. Es útil en escenarios como la investigación de accesos no autorizados, escalada de privilegios, instalación de rootkits, manipulación de archivos críticos y persistencia. Soporta las plataformas Linux con auditd instalado y requiere acceso root o sudo. El flujo de trabajo se basa en el uso de comandos como `auditctl` para la gestión de reglas, `ausearch` para consultas detalladas y `aureport` para generación de informes de resumen. Además, incluye pasos para la integración con SIEM mediante audisp-remote o Auditbeat, lo que permite la correlación de eventos a nivel centralizado.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mukul975/Anthropic-Cybersecurity-Skills/tree/main/skills/analyzing-linux-audit-logs-for-intrusion

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Análisis de Registros de Auditoría de Linux para Detección de Intrusiones

Cuándo Usarlo

  • Investigar sospechas de acceso no autorizado o escalada de privilegios en hosts Linux
  • Buscar evidencia de explotación, instalación de backdoors o mecanismos de persistencia
  • Auditar el cumplimiento de líneas base de seguridad (CIS, STIG, PCI-DSS) que requieren monitoreo de llamadas al sistema
  • Reconstruir una línea de tiempo de las acciones del atacante durante la respuesta a incidentes
  • Detectar manipulación de archivos en archivos críticos del sistema como /etc/passwd, /etc/shadow o claves SSH

No usar para detección de intrusiones a nivel de red; use Suricata o Zeek para el análisis de tráfico de red. Auditd opera a nivel de kernel en hosts individuales.

Prerrequisitos

  • Sistema Linux con el paquete auditd instalado y el demonio de auditoría en ejecución (systemctl status auditd)
  • Acceso root o sudo para configurar reglas de auditoría y consultar registros
  • Reglas de auditoría desplegadas a través de /etc/audit/rules.d/*.rules o cargadas con auditctl
  • Recomendado: conjunto de reglas auditd de Neo23x0 de GitHub para una cobertura de línea base completa
  • Familiaridad con las llamadas al sistema de Linux (execve, open, connect, ptrace, etc.)
  • Almacenamiento de registros con retención suficiente (ubicación predeterminada: /var/log/audit/audit.log)

Flujo de Trabajo

Paso 1: Verificar el Estado y la Configuración del Demonio de Auditoría

Confirme que el sistema de auditoría está en ejecución y verifique el conjunto de reglas actual:

# Verificar el estado del servicio auditd
systemctl status auditd

# Mostrar las reglas de auditoría cargadas en el kernel
auditctl -l

# Mostrar la configuración del demonio de auditoría
cat /etc/audit/auditd.conf | grep -E "log_file|max_log_file|num_logs|space_left_action"

# Verificar si el backlog de auditoría se está excediendo (eventos perdidos)
auditctl -s

Si se está alcanzando el límite del backlog, auméntelo:

auditctl -b 8192

Paso 2: Desplegar Reglas de Auditoría Enfocadas en Intrusiones

Agregue reglas que apunten a indicadores comunes de intrusión. Colóquelas en /etc/audit/rules.d/intrusion.rules:

# Monitorear archivos de credenciales para lecturas o modificaciones no autorizadas
-w /etc/passwd -p wa -k credential_access
-w /etc/shadow -p rwa -k credential_access
-w /etc/gshadow -p rwa -k credential_access
-w /etc/sudoers -p wa -k privilege_escalation
-w /etc/sudoers.d/ -p wa -k privilege_escalation

# Monitorear la configuración de SSH y las claves autorizadas
-w /etc/ssh/sshd_config -p wa -k sshd_config_change
-w /root/.ssh/authorized_keys -p wa -k ssh_key_tampering

# Monitorear comandos de gestión de usuarios y grupos
-w /usr/sbin/useradd -p x -k user_management
-w /usr/sbin/usermod -p x -k user_management
-w /usr/sbin/groupadd -p x -k user_management

# Detectar inyección de procesos mediante ptrace
-a always,exit -F arch=b64 -S ptrace -F a0=0x4 -k process_injection
-a always,exit -F arch=b64 -S ptrace -F a0=0x5 -k process_injection
-a always,exit -F arch=b64 -S ptrace -F a0=0x6 -k process_injection

# Monitorear la ejecución de programas desde directorios inusuales
-a always,exit -F arch=b64 -S execve -F exe=/tmp -k exec_from_tmp
-a always,exit -F arch=b64 -S execve -F exe=/dev/shm -k exec_from_shm

# Detectar carga de módulos del kernel (instalación de rootkits)
-a always,exit -F arch=b64 -S init_module -S finit_module -k kernel_module_load
-a always,exit -F arch=b64 -S delete_module -k kernel_module_remove
-w /sbin/insmod -p x -k kernel_module_tool
-w /sbin/modprobe -p x -k kernel_module_tool

# Monitorear la creación de sockets de red para shells inversas
-a always,exit -F arch=b64 -S socket -F a0=2 -k network_socket_created
-a always,exit -F arch=b64 -S connect -F a0=2 -k network_connection

# Detectar modificaciones de trabajos cron (persistencia)
-w /etc/crontab -p wa -k cron_persistence
-w /etc/cron.d/ -p wa -k cron_persistence
-w /var/spool/cron/ -p wa -k cron_persistence

# Monitorear la eliminación o manipulación de registros
-w /var/log/ -p wa -k log_tampering

Recargue las reglas después de editarlas:

augenrules --load
auditctl -l | wc -l   # Confirmar el número de reglas

Paso 3: Buscar Indicadores de Intrusión con ausearch

Use ausearch para consultar el registro de auditoría en busca de eventos específicos:

# Buscar todos los intentos de inicio de sesión fallidos en las últimas 24 horas
ausearch -m USER_LOGIN --success no -ts recent

# Buscar comandos ejecutados por un usuario específico
ausearch -ua 1001 -m EXECVE -ts today

# Buscar todos los eventos de acceso a archivos en /etc/shadow
ausearch -f /etc/shadow -ts this-week

# Buscar escalada de privilegios mediante sudo
ausearch -m USER_CMD -ts today

# Buscar eventos de carga de módulos del kernel
ausearch -k kernel_module_load -ts this-month

# Buscar procesos ejecutados desde /tmp (escenario común de ataque)
ausearch -k exec_from_tmp -ts this-week

# Buscar modificaciones de claves SSH
ausearch -k ssh_key_tampering -ts this-month

# Buscar un evento específico por ID de evento de auditoría
ausearch -a 12345

# Buscar eventos en un rango de tiempo específico
ausearch -ts 03/15/2026 08:00:00 -te 03/15/2026 18:00:00

# Interpretar números de llamadas al sistema y formatear la salida de forma legible
ausearch -k credential_access -i -ts today

Paso 4: Generar Informes de Resumen con aureport

Use aureport para producir resúmenes agregados para triaje:

# Resumen de todos los eventos de autenticación
aureport -au -ts this-week --summary

# Informe de todos los eventos fallidos (inicio de sesión, acceso, etc.)
aureport --failed --summary -ts today

# Informe de ejecuciones de ejecutables
aureport -x --summary -ts today

# Informe de todos los eventos de anomalía (segfaults, modo promiscuo, etc.)
aureport --anomaly -ts this-week

# Informe de eventos de acceso a archivos
aureport -f --summary -ts today

# Informe de todos los eventos por clave (mapea a sus claves de reglas personalizadas)
aureport -k --summary -ts this-month

# Informe de todas las llamadas al sistema
aureport -s --summary -ts today

# Informe de eventos agrupados por usuario
aureport -u --summary -ts this-week

# Informe detallado de eventos basado en tiempo para la construcción de líneas de tiempo
aureport -ts 03/15/2026 08:00:00 -te 03/15/2026 18:00:00 --summary

Paso 5: Reconstruir la Línea de Tiempo del Ataque

Combine consultas ausearch para construir una narrativa cronológica:

# Paso 5a: Identificar la marca de tiempo de acceso inicial
ausearch -m USER_LOGIN -ua 0 --success yes -ts this-week -i | head -50

# Paso 5b: Rastrear lo que el atacante hizo después de obtener acceso
# Obtener todos los eventos de la cuenta comprometida dentro de la ventana del incidente
ausearch -ua <UID> -ts "03/15/2026 14:00:00" -te "03/15/2026 18:00:00" -i \
  | aureport -f -i

# Paso 5c: Extraer todos los comandos ejecutados durante la ventana del incidente
ausearch -m EXECVE -ts "03/15/2026 14:00:00" -te "03/15/2026 18:00:00" -i

# Paso 5d: Verificar si se instalaron mecanismos de persistencia
ausearch -k cron_persistence -ts "03/15/2026 14:00:00" -i
ausearch -k ssh_key_tampering -ts "03/15/2026 14:00:00" -i

# Paso 5e: Verificar movimiento lateral (conexiones salientes)
ausearch -k network_connection -ts "03/15/2026 14:00:00" -i

Paso 6: Reenviar Registros de Auditoría al SIEM

Configure audisp-remote o auditbeat para enviar registros a un SIEM central para correlación:

# Opción A: Usando el plugin audisp-remote
# Editar /etc/audit/plugins.d/au-remote.conf
active = yes
direction = out
path = /sbin/audisp-remote
type = always

# Configurar el destino remoto en /etc/audit/audisp-remote.conf
remote_server = siem.internal.corp
port = 6514
transport = tcp

# Opción B: Usando Elastic Auditbeat
# Instalar auditbeat y configurar /etc/auditbeat/auditbeat.yml
# Auditbeat lee directamente del framework de auditoría del kernel

Conceptos Clave

TérminoDefinición
auditdEl demonio de auditoría de Linux que recibe eventos de auditoría del kernel y los escribe en /var/log/audit/audit.log
auditctlUtilidad de línea de comandos para controlar el sistema de auditoría: agregar/eliminar reglas, verificar estado, establecer tamaño del backlog
ausearchHerramienta de consulta que busca en los registros de auditoría por tipo de mensaje, usuario, archivo, clave, rango de tiempo o ID de evento
aureportHerramienta de informes que genera resúmenes agregados de eventos de auditoría para triaje y cumplimiento
clave de regla de auditoría (-k)Una etiqueta definida por el usuario adjunta a una regla de auditoría, que permite el filtrado rápido de eventos relacionados con ausearch y aureport
auditoría de llamadas al sistemaMonitoreo a nivel de kernel de las llamadas al sistema (execve, open, connect, ptrace) que captura la actividad de procesos y archivos
augenrulesUtilidad que fusiona todos los archivos en /etc/audit/rules.d/ en /etc/audit/audit.rules y los carga en el kernel

Verificación

  • auditd está en ejecución y las reglas están cargadas (auditctl -l devuelve el número esperado de reglas)
  • No hay desbordamiento del backlog de auditoría (auditctl -s muestra backlog: 0 o un valor bajo, lost: 0)
  • ausearch devuelve eventos para cada clave personalizada (ausearch -k <key> -ts today devuelve resultados)
  • aureport genera resúmenes no vacíos para eventos de autenticación, ejecutables y archivos
  • La reconstrucción de la línea de tiempo produce una secuencia cronológica coherente de las acciones del atacante
  • Las vigilancias de archivos críticos activan alertas en modificaciones de prueba (touch /etc/shadow genera un evento)
  • Los registros se están reenviando al SIEM central (verifique con un evento de prueba y confirme la recepción)
  • Las reglas de auditoría persisten tras el reinicio (reglas en /etc/audit/rules.d/, no solo a través de auditctl)

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

abusing-dpapi-for-credential-access

Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket

abusing-shadow-credentials-for-privesc

Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target

achieving-cmmc-level-2-compliance

>-

acquiring-disk-image-with-dd-and-dcfldd

Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving volatile disk evidence during incident response, or producing a verified copy for legal or law-enforcement proceedings before any destructive analysis.

analyzing-active-directory-acl-abuse

Detect dangerous ACL misconfigurations in Active Directory using ldap3

analyzing-android-malware-with-apktool

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically triage a suspicious APK without executing it or to build mobile malware detection rules.

analyzing-api-gateway-access-logs

Parses API Gateway access logs (AWS API Gateway, Kong, Nginx) to detect

analyzing-apt-group-with-mitre-navigator

Query ATT&CK data with attackcti, mitreattack-python, and stix2, then build MITRE ATT&CK Navigator layers and multi-layer heatmap overlays mapping one or more APT groups

analyzing-azure-activity-logs-for-threats

Queries Azure Monitor activity logs and sign-in logs via azure-monitor-query

analyzing-bootkit-and-rootkit-samples

Analyzes bootkit and advanced rootkit malware infecting the Master

analyzing-browser-forensics-with-hindsight

Parse Chromium-based browser databases with Hindsight to extract and correlate browsing history, downloads, cookies, cached content, autofill data, saved passwords, and extensions from Chrome, Edge, Brave, Opera, and Vivaldi into a unified timeline (XLSX, JSON, or SQLite output). Use during incident response, insider-threat investigations, or criminal cases when you need to reconstruct a user

analyzing-campaign-attribution-evidence

Systematically evaluate cyber-campaign evidence to attribute an operation to a threat actor, using the Diamond Model and Analysis of Competing Hypotheses (ACH) to weigh infrastructure overlaps, TTP consistency, malware code similarity, and timing/language artifacts into confidence-weighted attribution assessments. Use when an incident investigation needs a defensible attribution confidence level.

analyzing-certificate-transparency-for-phishing

Monitor Certificate Transparency logs using crt.sh and Certstream to

analyzing-cloud-storage-access-patterns

Detect abnormal access in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics for after-hours bulk downloads, new-IP access, and API-call spikes (e.g. GetObject) via statistical baselines and time-series anomaly detection. Use when investigating suspected cloud data exfiltration or building related detection rules.

analyzing-cobalt-strike-beacon-configuration

Extract and analyze Cobalt Strike beacon configuration from PE files

analyzing-cobaltstrike-malleable-c2-profiles

Parse and analyze Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike (profiles and beacon-payload configs) and pyMalleableC2 (AST parsing) to extract HTTP/DNS transforms, URIs, headers, sleep/jitter, and injection behavior, then generate network detection signatures. Use when reverse-engineering a captured malleable profile or building detections against Cobalt Strike Beacon traffic.

analyzing-command-and-control-communication

Analyzes malware C2 communication over HTTP, HTTPS, DNS, and custom

analyzing-cyber-kill-chain

Analyzes intrusion activity against the Lockheed Martin Cyber Kill Chain

analyzing-disk-image-with-autopsy

Perform comprehensive forensic analysis of raw (dd), E01, or AFF disk images with Autopsy and The Sleuth Kit, recovering deleted files, examining metadata and embedded artifacts, keyword searching, and building investigation timelines with visual reports. Use for structured analysis of a forensic disk image or when stakeholders need visual reports from evidence.

analyzing-dns-logs-for-exfiltration

Analyzes DNS query logs to detect data exfiltration via DNS tunneling,

Skills relacionados