Communitygithub.com

Análise de Rootkits de Kernel Linux

Detecta rootkits em nível de kernel em dumps de memória Linux usando Volatility3, complementado por varreduras ao vivo com rkhunter e chkrootkit.

O que é Análise de Rootkits de Kernel Linux?

Esta skill capacita um agente de IA (como Claude Code, Cursor ou Codex) a analisar rootkits de kernel Linux em dumps de memória, utilizando o framework Volatility3. Rootkits de kernel operam no ring 0 do sistema, modificando estruturas de dados para ocultar processos, arquivos, conexões de rede e módulos de kernel de ferramentas de espaço de usuário. A skill cobre plugins específicos do Volatility3 para Linux, como linux.check_syscall (detecção de hooks na tabela de syscalls), linux.hidden_modules (módulos ocultos) e linux.check_idt (tabela de interrupções), além de técnicas de análise de visão cruzada comparando /proc, /sys e as estruturas de dados do kernel para encontrar inconsistências. Para complementar, a skill também integra varreduras ao vivo com rkhunter e chkrootkit, detectando assinaturas conhecidas de rootkits, binários modificados e conexões ocultas. O resultado final é um relatório JSON completo com todos os artefatos detectados, ideal para uso por analistas de SOC, construção de regras de detecção ou validação de cobertura de segurança.

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

Perguntar na sua IA favorita

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

Documentação

O que Análise de Rootkits de Kernel Linux faz?

Visão Geral

Rootkits de kernel Linux operam no ring 0, modificando estruturas de dados do kernel para ocultar processos, arquivos, conexões de rede e módulos de kernel de ferramentas de espaço de usuário. A detecção requer forense de memória (analisando dumps de memória física com Volatility3) ou análise de visão cruzada (comparando /proc, /sys e estruturas de dados do kernel por inconsistências). Esta skill cobre o uso de plugins do Volatility3 para Linux para detectar hooks na tabela de syscalls, módulos de kernel ocultos e ponteiros de função modificados, complementado por varreduras ao vivo com rkhunter e chkrootkit.

Quando Usar

  • Ao investigar incidentes de segurança que exigem análise de rootkits de kernel Linux
  • Ao construir regras de detecção ou consultas de caça a ameaças neste domínio
  • Quando analistas de SOC precisam de procedimentos estruturados para este tipo de análise
  • Ao validar a cobertura de monitoramento de segurança para técnicas de ataque relacionadas

Pré-requisitos

  • Volatility3 instalado (pip install volatility3)
  • Dump de memória Linux (adquirido via LiME, AVML ou /proc/kcore)
  • Tabela de símbolos Linux do Volatility3 (ISF) correspondente à versão do kernel alvo
  • rkhunter e chkrootkit para varredura ao vivo
  • Imagem de kernel de referência conhecida como boa para comparação

Passos

Passo 1: Adquirir o Dump de Memória

Capture a memória física do Linux usando o módulo de kernel LiME ou AVML para instâncias em nuvem.

Passo 2: Analisar com Volatility3

Execute os plugins linux.check_syscall, linux.lsmod, linux.hidden_modules e linux.check_idt para detectar artefatos de rootkits.

Passo 3: Análise de Visão Cruzada

Compare listas de módulos de /proc/modules, lsmod e /sys/module para identificar módulos ocultos de uma visão, mas presentes em outra.

Passo 4: Varredura ao Vivo

Execute rkhunter e chkrootkit para detectar assinaturas conhecidas de rootkits, arquivos suspeitos e binários do sistema modificados.

Saída Esperada

Relatório JSON contendo hooks de syscall detectados, módulos de kernel ocultos, entradas IDT modificadas, discrepâncias suspeitas em /proc e achados do rkhunter.

Exemplo de Saída

$ sudo python3 rootkit_analyzer.py --memory /evidence/linux-mem.lime --profile Ubuntu2204

Relatório de Análise de Rootkit de Kernel Linux
===============================================
Imagem de Memória: /evidence/linux-mem.lime
Versão do Kernel: 5.15.0-91-generic (Ubuntu 22.04 LTS)
Horário da Análise: 2024-01-18 09:15:32 UTC

[+] Escaneando tabela de syscalls por hooks...
    Base da Tabela de Syscalls: 0xffffffff82200300
    Total de syscalls verificadas: 449

    SYSCALLS COM HOOK DETECTADAS:
    ┌─────────┬──────────────────┬──────────────────────┬──────────────────────┐
    │ NR      │ Syscall          │ Endereço Esperado    │ Endereço Atual       │
    ├─────────┼──────────────────┼──────────────────────┼──────────────────────┤
    │ 0       │ sys_read         │ 0xffffffff8139a0e0   │ 0xffffffffc0a12000   │
    │ 2       │ sys_open         │ 0xffffffff8139b340   │ 0xffffffffc0a12180   │
    │ 78      │ sys_getdents64   │ 0xffffffff813f5210   │ 0xffffffffc0a12300   │
    │ 62      │ sys_kill         │ 0xffffffff8110c4a0   │ 0xffffffffc0a12480   │
    └─────────┴──────────────────┴──────────────────────┴──────────────────────┘
    AVISO: 4 hooks de syscall detectados - comportamento de rootkit confirmado

[+] Verificando módulos de kernel ocultos...
    Módulos carregados (lsmod):         147
    Módulos na lista kobject:           149
    MÓDULOS OCULTOS:
      - "netfilter_helper" em 0xffffffffc0a10000 (tamanho: 12288)
      - "kworker_sched"    em 0xffffffffc0a14000 (tamanho: 8192)

[+] Escaneando /proc por discrepâncias...
    Processos na lista task_struct: 234
    Processos visíveis em /proc:   231
    PROCESSOS OCULTOS:
      - PID 31337  cmd: "[kworker/0:3]"   (disfarçado como thread do kernel)
      - PID 31442  cmd: "rsyslogd"         (falso, rsyslogd real é PID 892)
      - PID 31500  cmd: ""                 (processo sem nome)

[+] Verificando entradas IDT...
    Entradas IDT escaneadas: 256
    Entradas modificadas: 0 (limpo)

[+] Executando varredura rkhunter...
    Verificando rootkits conhecidos:        68 variantes verificadas
    Rootkit Diamorphine:                AVISO - assinaturas correspondem
    Verificações de binários do sistema:
      /usr/bin/ps:     MODIFICADO (discrepância SHA-256)
      /usr/bin/netstat: MODIFICADO (discrepância SHA-256)
      /usr/bin/ls:     MODIFICADO (discrepância SHA-256)
      /usr/sbin/ss:    OK

[+] Análise de rede...
    Conexões ocultas (não em /proc/net/tcp):
      ESTABELECIDA  0.0.0.0:0 -> 198.51.100.47:4443 (PID 31337)
      ESTABELECIDA  0.0.0.0:0 -> 198.51.100.47:8080 (PID 31442)

Resumo:
  Tipo de Rootkit:       Módulo de Kernel Carregável (LKM)
  Família Provável:      Variante Diamorphine
  Hooks de Syscall:      4 (read, open, getdents64, kill)
  Módulos Ocultos:       2
  Processos Ocultos:     3
  Conexões Ocultas:      2 (C2: 198.51.100.47)
  Binários Modificados:  3 (/usr/bin/ps, netstat, ls)
  Nível de Risco:       CRÍTICO

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