Communitygithub.com

análisis-de-rootkits-de-kernel-linux

Detecta rootkits a nivel de kernel en volcados de memoria Linux usando Volatility3

¿Qué es análisis-de-rootkits-de-kernel-linux?

Esta habilidad permite a un agente de IA analizar volcados de memoria física de Linux para detectar rootkits de kernel que operan en el anillo 0 (ring 0). Utiliza los plugins de Volatility3 como `linux.check_syscall`, `linux.lsmod` y `linux.hidden_modules` para identificar enganches en la tabla de syscalls, módulos ocultos y punteros de función modificados. Además, complementa el análisis con herramientas de escaneo en vivo como `rkhunter` y `chkrootkit`, y realiza análisis de vista cruzada comparando estructuras de datos del kernel (listas de tareas, módulos en `/proc` y `/sys`) para detectar discrepancias. Es especialmente útil para investigadores de seguridad, analistas de SOC y creadores de reglas de detección que necesitan un procedimiento estructurado y reproducible para la caza de amenazas y la respuesta a incidentes relacionados con rootkits de kernel Linux. La habilidad está diseñada para funcionar con volcados de memoria adquiridos mediante herramientas como LiME o AVML, y requiere tablas de símbolos Volatility3 (ISF) compatibles con la versión del kernel objetivo.

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

Preguntar en tu IA favorita

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

Documentación

Análisis de Rootkits de Kernel Linux

Resumen

Los rootkits de kernel Linux operan en el anillo 0 (ring 0), modificando estructuras de datos del kernel para ocultar procesos, archivos, conexiones de red y módulos del kernel de las herramientas de espacio de usuario. La detección requiere análisis forense de memoria (analizando volcados de memoria física con Volatility3) o análisis de vista cruzada (comparando /proc, /sys y estructuras de datos del kernel en busca de incoherencias). Esta habilidad cubre el uso de plugins de Volatility3 para Linux para detectar enganches en la tabla de syscalls, módulos ocultos del kernel y punteros de función modificados, complementado con escaneo en vivo del sistema mediante rkhunter y chkrootkit.

Cuándo Usarlo

  • Cuando se investigan incidentes de seguridad que requieren analizar rootkits de kernel Linux
  • Cuando se construyen reglas de detección o consultas de caza de amenazas para este dominio
  • Cuando los analistas de SOC necesitan procedimientos estructurados para este tipo de análisis
  • Cuando se valida la cobertura de monitoreo de seguridad para técnicas de ataque relacionadas

Prerrequisitos

  • Volatility3 instalado (pip install volatility3)
  • Volcado de memoria Linux (adquirido mediante LiME, AVML o /proc/kcore)
  • Tabla de símbolos de Volatility3 para Linux (ISF) que coincida con la versión del kernel objetivo
  • rkhunter y chkrootkit para el escaneo en vivo del sistema
  • Imagen de kernel conocida como buena para comparación

Pasos

Paso 1: Adquirir el Volcado de Memoria

Capture la memoria física de Linux usando el módulo del kernel LiME o AVML para instancias en la nube.

Paso 2: Analizar con Volatility3

Ejecute los plugins linux.check_syscall, linux.lsmod, linux.hidden_modules y linux.check_idt para detectar artefactos de rootkits.

Paso 3: Análisis de Vista Cruzada

Compare las listas de módulos de /proc/modules, lsmod y /sys/module para identificar módulos ocultos desde una vista pero presentes en otra.

Paso 4: Escaneo en Vivo del Sistema

Ejecute rkhunter y chkrootkit para detectar firmas conocidas de rootkits, archivos sospechosos y binarios del sistema modificados.

Salida Esperada

Informe JSON que contiene enganches de syscalls detectados, módulos ocultos del kernel, entradas IDT modificadas, discrepancias sospechosas en /proc y hallazgos de rkhunter.

Ejemplo de Salida

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

Informe de Análisis de Rootkit de Kernel Linux
================================================
Imagen de Memoria: /evidence/linux-mem.lime
Versión del Kernel: 5.15.0-91-generic (Ubuntu 22.04 LTS)
Hora del Análisis: 2024-01-18 09:15:32 UTC

[+] Escaneando tabla de syscalls en busca de enganches...
    Base de la Tabla de Syscalls: 0xffffffff82200300
    Total de syscalls verificadas: 449

    ENGANCHES DE SYSCALLS DETECTADOS:
    ┌─────────┬──────────────────┬──────────────────────┬──────────────────────┐
    │ NR      │ Syscall          │ Dirección Esperada   │ Dirección Actual     │
    ├─────────┼──────────────────┼──────────────────────┼──────────────────────┤
    │ 0       │ sys_read         │ 0xffffffff8139a0e0   │ 0xffffffffc0a12000   │
    │ 2       │ sys_open         │ 0xffffffff8139b340   │ 0xffffffffc0a12180   │
    │ 78      │ sys_getdents64   │ 0xffffffff813f5210   │ 0xffffffffc0a12300   │
    │ 62      │ sys_kill         │ 0xffffffff8110c4a0   │ 0xffffffffc0a12480   │
    └─────────┴──────────────────┴──────────────────────┴──────────────────────┘
    ADVERTENCIA: 4 enganches de syscalls detectados - se confirma comportamiento de rootkit

[+] Verificando módulos ocultos del kernel...
    Módulos cargados (lsmod):         147
    Módulos en lista kobject:        149
    MÓDULOS OCULTOS:
      - "netfilter_helper" en 0xffffffffc0a10000 (tamaño: 12288)
      - "kworker_sched"    en 0xffffffffc0a14000 (tamaño: 8192)

[+] Escaneando /proc en busca de discrepancias...
    Procesos en lista task_struct: 234
    Procesos visibles en /proc:   231
    PROCESOS OCULTOS:
      - PID 31337  cmd: "[kworker/0:3]"   (disfrazado como hilo del kernel)
      - PID 31442  cmd: "rsyslogd"         (falso, el rsyslogd real es PID 892)
      - PID 31500  cmd: ""                 (proceso sin nombre)

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

[+] Ejecutando escaneo de rkhunter...
    Verificando rootkits conocidos:        68 variantes verificadas
    Rootkit Diamorphine:                ADVERTENCIA - las firmas coinciden
    Verificaciones de binarios del sistema:
      /usr/bin/ps:     MODIFICADO (SHA-256 no coincide)
      /usr/bin/netstat: MODIFICADO (SHA-256 no coincide)
      /usr/bin/ls:     MODIFICADO (SHA-256 no coincide)
      /usr/sbin/ss:    OK

[+] Análisis de red...
    Conexiones ocultas (no en /proc/net/tcp):
      ESTABLECIDA  0.0.0.0:0 -> 198.51.100.47:4443 (PID 31337)
      ESTABLECIDA  0.0.0.0:0 -> 198.51.100.47:8080 (PID 31442)

Resumen:
  Tipo de Rootkit:         Módulo de Kernel Cargable (LKM)
  Familia Probable:        Variante de Diamorphine
  Enganches de Syscalls:   4 (read, open, getdents64, kill)
  Módulos Ocultos:         2
  Procesos Ocultos:        3
  Conexiones Ocultas:      2 (C2: 198.51.100.47)
  Binarios Modificados:    3 (/usr/bin/ps, netstat, ls)
  Nivel de Riesgo:         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,

Skills relacionados