Communitygithub.com

análise-de-logs-de-auditoria-linux-para-intrusao

Utiliza o framework de Auditoria do Linux (auditd) com as ferramentas ausearch e aureport

O que é análise-de-logs-de-auditoria-linux-para-intrusao?

Esta skill capacita agentes de IA a analisar logs de auditoria do Linux (auditd) para detectar e investigar intrusões. Ela fornece um fluxo de trabalho completo: desde verificar o status do daemon e implantar regras focadas em indicadores de comprometimento, até executar consultas com ausearch, gerar relatórios resumidos com aureport e reconstruir a linha do tempo de um ataque. A skill também cobre o encaminhamento de logs para SIEMs como Elastic Auditbeat ou audisp-remote para correlação centralizada. É útil para resposta a incidentes, caça a ameaças e auditoria de conformidade (CIS, STIG, PCI-DSS), operando no nível do kernel para capturar chamadas de sistema como execve, open, ptrace e connect. Suporta qualquer distribuição Linux com auditd instalado e requer acesso root ou sudo para configurar regras e consultar logs. O conhecimento de syscalls do Linux e a familiaridade com as ferramentas de linha de comando ausearch e aureport são pré-requisitos, sendo recomendado o uso do conjunto de regras Neo23x0/auditd do GitHub para cobertura abrangente.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Analisando Logs de Auditoria do Linux para Intrusão

Quando Usar

  • Investigar suspeitas de acesso não autorizado ou escalada de privilégio em hosts Linux
  • Caçar evidências de exploração, instalação de backdoors ou mecanismos de persistência
  • Auditar conformidade com linhas de base de segurança (CIS, STIG, PCI-DSS) que exigem monitoramento de chamadas de sistema
  • Reconstruir uma linha do tempo das ações do atacante durante a resposta a incidentes
  • Detectar adulteração de arquivos em arquivos críticos do sistema como /etc/passwd, /etc/shadow ou chaves SSH

Não use para detecção de intrusão em nível de rede; use Suricata ou Zeek para análise de tráfego de rede. O Auditd opera no nível do kernel em hosts individuais.

Pré-requisitos

  • Sistema Linux com o pacote auditd instalado e o daemon de auditoria em execução (systemctl status auditd)
  • Acesso root ou sudo para configurar regras de auditoria e consultar logs
  • Regras de auditoria implantadas via /etc/audit/rules.d/*.rules ou carregadas com auditctl
  • Recomendado: conjunto de regras Neo23x0/auditd do GitHub para cobertura abrangente de linha de base
  • Familiaridade com syscalls do Linux (execve, open, connect, ptrace, etc.)
  • Armazenamento de logs com retenção suficiente (localização padrão: /var/log/audit/audit.log)

Fluxo de Trabalho

Passo 1: Verificar o Status e a Configuração do Daemon de Auditoria

Confirme se o sistema de auditoria está em execução e verifique o conjunto atual de regras:

# Verificar o status do serviço auditd
systemctl status auditd

# Mostrar as regras de auditoria atuais carregadas no kernel
auditctl -l

# Mostrar a configuração do daemon de auditoria
cat /etc/audit/auditd.conf | grep -E "log_file|max_log_file|num_logs|space_left_action"

# Verificar se o backlog de auditoria está sendo excedido (eventos descartados)
auditctl -s

Se o limite do backlog estiver sendo atingido, aumente-o:

auditctl -b 8192

Passo 2: Implantar Regras de Auditoria Focadas em Intrusão

Adicione regras que visam indicadores comuns de intrusão. Coloque-as em /etc/audit/rules.d/intrusion.rules:

# Monitorar arquivos de credenciais para leituras ou modificações não 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

# Monitorar configuração SSH e chaves autorizadas
-w /etc/ssh/sshd_config -p wa -k sshd_config_change
-w /root/.ssh/authorized_keys -p wa -k ssh_key_tampering

# Monitorar comandos de gerenciamento de usuários e 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 injeção de processo via 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

# Monitorar execução de programas a partir de diretórios incomuns
-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 carregamento de módulos do kernel (instalação de rootkit)
-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

# Monitorar criação de sockets de rede para reverse shells
-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 modificações em cron jobs (persistência)
-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

# Monitorar exclusão ou adulteração de logs
-w /var/log/ -p wa -k log_tampering

Recarregue as regras após a edição:

augenrules --load
auditctl -l | wc -l   # Confirmar contagem de regras

Passo 3: Pesquisar Indicadores de Intrusão com ausearch

Use ausearch para consultar o log de auditoria em busca de eventos específicos:

# Pesquisar todas as tentativas de login com falha nas últimas 24 horas
ausearch -m USER_LOGIN --success no -ts recent

# Pesquisar comandos executados por um usuário específico
ausearch -ua 1001 -m EXECVE -ts today

# Pesquisar todos os eventos de acesso a arquivos em /etc/shadow
ausearch -f /etc/shadow -ts this-week

# Pesquisar por escalada de privilégio via sudo
ausearch -m USER_CMD -ts today

# Pesquisar eventos de carregamento de módulos do kernel
ausearch -k kernel_module_load -ts this-month

# Pesquisar processos executados a partir de /tmp (estágio comum de ataque)
ausearch -k exec_from_tmp -ts this-week

# Pesquisar modificações em chaves SSH
ausearch -k ssh_key_tampering -ts this-month

# Pesquisar um evento específico pelo ID do evento de auditoria
ausearch -a 12345

# Pesquisar eventos em um intervalo de tempo específico
ausearch -ts 15/03/2026 08:00:00 -te 15/03/2026 18:00:00

# Interpretar números de syscall e formatar a saída de forma legível
ausearch -k credential_access -i -ts today

Passo 4: Gerar Relatórios Resumidos com aureport

Use aureport para produzir resumos agregados para triagem:

# Resumo de todos os eventos de autenticação
aureport -au -ts this-week --summary

# Relatório de todos os eventos com falha (login, acesso, etc.)
aureport --failed --summary -ts today

# Relatório de execuções de executáveis
aureport -x --summary -ts today

# Relatório de todos os eventos de anomalia (segfaults, modo promíscuo, etc.)
aureport --anomaly -ts this-week

# Relatório de eventos de acesso a arquivos
aureport -f --summary -ts today

# Relatório de todos os eventos por chave (mapeia para suas chaves de regra personalizadas)
aureport -k --summary -ts this-month

# Relatório de todas as chamadas de sistema
aureport -s --summary -ts today

# Relatório de eventos agrupados por usuário
aureport -u --summary -ts this-week

# Relatório detalhado de eventos baseado em tempo para construção de linha do tempo
aureport -ts 15/03/2026 08:00:00 -te 15/03/2026 18:00:00 --summary

Passo 5: Reconstruir a Linha do Tempo do Ataque

Combine consultas ausearch para construir uma narrativa cronológica:

# Passo 5a: Identificar o timestamp de acesso inicial
ausearch -m USER_LOGIN -ua 0 --success yes -ts this-week -i | head -50

# Passo 5b: Rastrear o que o atacante fez após obter acesso
# Obter todos os eventos da conta comprometida dentro da janela do incidente
ausearch -ua <UID> -ts "15/03/2026 14:00:00" -te "15/03/2026 18:00:00" -i \
  | aureport -f -i

# Passo 5c: Extrair todos os comandos executados durante a janela do incidente
ausearch -m EXECVE -ts "15/03/2026 14:00:00" -te "15/03/2026 18:00:00" -i

# Passo 5d: Verificar mecanismos de persistência instalados
ausearch -k cron_persistence -ts "15/03/2026 14:00:00" -i
ausearch -k ssh_key_tampering -ts "15/03/2026 14:00:00" -i

# Passo 5e: Verificar movimento lateral (conexões de saída)
ausearch -k network_connection -ts "15/03/2026 14:00:00" -i

Passo 6: Encaminhar Logs de Auditoria para o SIEM

Configure audisp-remote ou auditbeat para enviar logs para um SIEM central para correlação:

# Opção A: Usando o plugin audisp-remote
# Editar /etc/audit/plugins.d/au-remote.conf
active = yes
direction = out
path = /sbin/audisp-remote
type = always

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

# Opção B: Usando Elastic Auditbeat
# Instalar auditbeat e configurar /etc/auditbeat/auditbeat.yml
# Auditbeat lê diretamente do framework de auditoria do kernel

Conceitos Chave

TermoDefinição
auditdO daemon de Auditoria do Linux que recebe eventos de auditoria do kernel e os grava em /var/log/audit/audit.log
auditctlUtilitário de linha de comando para controlar o sistema de auditoria: adicionar/remover regras, verificar status, definir tamanho do backlog
ausearchFerramenta de consulta que pesquisa logs de auditoria por tipo de mensagem, usuário, arquivo, chave, intervalo de tempo ou ID de evento
aureportFerramenta de relatório que gera resumos agregados de eventos de auditoria para triagem e conformidade
chave de regra de auditoria (-k)Um rótulo definido pelo usuário anexado a uma regra de auditoria, permitindo filtragem rápida de eventos relacionados com ausearch e aureport
auditoria de syscallMonitoramento em nível de kernel de chamadas de sistema (execve, open, connect, ptrace) que captura atividade de processos e arquivos
augenrulesUtilitário que mescla todos os arquivos em /etc/audit/rules.d/ em /etc/audit/audit.rules e os carrega no kernel

Verificação

  • auditd está em execução e as regras estão carregadas (auditctl -l retorna a contagem esperada de regras)
  • Nenhum estouro de backlog de auditoria (auditctl -s mostra backlog: 0 ou valor baixo, lost: 0)
  • ausearch retorna eventos para cada chave personalizada (ausearch -k <chave> -ts today retorna resultados)
  • aureport gera resumos não vazios para eventos de autenticação, executáveis e arquivos
  • A reconstrução da linha do tempo produz uma sequência cronológica coerente das ações do atacante
  • As vigias de arquivos críticos disparam alertas em modificações de teste (touch /etc/shadow gera um evento)
  • Os logs estão sendo encaminhados para o SIEM central (verificar com um evento de teste e confirmar o recebimento)
  • As regras de auditoria persistem após reinicialização (regras em /etc/audit/rules.d/, não apenas via 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,

Habilidades Relacionadas