New to Claude Skills? Learn how to install them →

mukul975 on GitHub

Analyzing Linux Kernel Rootkits

Free

Detect and analyze kernel-level rootkits in Linux systems.

Get this skill

Free · Opens the source repo

What Analyzing Linux Kernel Rootkits does

Analyzing Linux Kernel Rootkits is a specialized skill designed for cybersecurity professionals who need to detect and analyze rootkits operating at the kernel level in Linux environments. Kernel rootkits are particularly insidious as they operate at the lowest level of the operating system, modifying kernel data structures to conceal their presence from standard user-space tools. This skill leverages the power of Volatility3, a memory forensics framework, to analyze memory dumps and identify malicious modifications to the kernel. It includes specific plugins such as check_syscall, lsmod, and hidden_modules to uncover syscall hooks and hidden kernel modules that indicate rootkit activity.

In addition to memory analysis, this skill incorporates live system scanning tools like rkhunter and chkrootkit, which help identify known rootkits and suspicious file modifications. This dual approach of memory forensics and live system analysis provides a comprehensive method for detecting rootkits, making it invaluable for incident response teams and security operations center (SOC) analysts. Users can expect structured procedures that guide them through the process of acquiring memory dumps, running analyses, and interpreting results.

The output is a detailed JSON report that summarizes findings, including detected syscall hooks, hidden kernel modules, and discrepancies in the /proc filesystem. This allows analysts to quickly assess the security posture of a Linux system and take appropriate remediation actions. Whether you are responding to a security incident or proactively hunting for threats, this skill equips you with the necessary tools to effectively identify and analyze kernel-level rootkits.

When to use it

Use this skill when investigating potential security incidents involving rootkits or when developing detection rules for threat hunting.

When not to use it

This skill is not suitable for detecting user-space malware or for environments not running Linux.

What you can build with it

Incident Response

Use this skill during security incident investigations to detect and analyze kernel rootkits in compromised Linux systems.

Threat Hunting

Employ this skill to build detection rules and queries for proactively hunting kernel-level threats in your environment.

SOC Procedures

Integrate this skill into your SOC's standard operating procedures for structured analysis of potential rootkit infections.

How to install Analyzing Linux Kernel Rootkits

View source

1. Install with the skills CLI

npx skills add mukul975/anthropic-cybersecurity-skills/analyzing-linux-kernel-rootkits --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by mukul975

Analyzing Linux Kernel Rootkits

Overview

Linux kernel rootkits operate at ring 0, modifying kernel data structures to hide processes, files, network connections, and kernel modules from userspace tools. Detection requires either memory forensics (analyzing physical memory dumps with Volatility3) or cross-view analysis (comparing /proc, /sys, and kernel data structures for inconsistencies). This skill covers using Volatility3 Linux plugins to detect syscall table hooks, hidden kernel modules, and modified function pointers, supplemented by live system scanning with rkhunter and chkrootkit.

When to Use

  • When investigating security incidents that require analyzing linux kernel rootkits
  • When building detection rules or threat hunting queries for this domain
  • When SOC analysts need structured procedures for this analysis type
  • When validating security monitoring coverage for related attack techniques

Prerequisites

  • Volatility3 installed (pip install volatility3)
  • Linux memory dump (acquired via LiME, AVML, or /proc/kcore)
  • Volatility3 Linux symbol table (ISF) matching the target kernel version
  • rkhunter and chkrootkit for live system scanning
  • Reference known-good kernel image for comparison

Steps

Step 1: Acquire Memory Dump

Capture Linux physical memory using LiME kernel module or AVML for cloud instances.

Step 2: Analyze with Volatility3

Run linux.check_syscall, linux.lsmod, linux.hidden_modules, and linux.check_idt plugins to detect rootkit artifacts.

Step 3: Cross-View Analysis

Compare module lists from /proc/modules, lsmod, and /sys/module to identify modules hidden from one view but present in another.

Step 4: Live System Scanning

Run rkhunter and chkrootkit to detect known rootkit signatures, suspicious files, and modified system binaries.

Expected Output

JSON report containing detected syscall hooks, hidden kernel modules, modified IDT entries, suspicious /proc discrepancies, and rkhunter findings.

Example Output

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

Linux Kernel Rootkit Analysis Report
=====================================
Memory Image: /evidence/linux-mem.lime
Kernel Version: 5.15.0-91-generic (Ubuntu 22.04 LTS)
Analysis Time: 2024-01-18 09:15:32 UTC

[+] Scanning syscall table for hooks...
    Syscall Table Base: 0xffffffff82200300
    Total syscalls checked: 449

    HOOKED SYSCALLS DETECTED:
    ┌─────────┬──────────────────┬──────────────────────┬──────────────────────┐
    │ NR      │ Syscall          │ Expected Address     │ Current Address      │
    ├─────────┼──────────────────┼──────────────────────┼──────────────────────┤
    │ 0       │ sys_read         │ 0xffffffff8139a0e0   │ 0xffffffffc0a12000   │
    │ 2       │ sys_open         │ 0xffffffff8139b340   │ 0xffffffffc0a12180   │
    │ 78      │ sys_getdents64   │ 0xffffffff813f5210   │ 0xffffffffc0a12300   │
    │ 62      │ sys_kill         │ 0xffffffff8110c4a0   │ 0xffffffffc0a12480   │
    └─────────┴──────────────────┴──────────────────────┴──────────────────────┘
    WARNING: 4 syscall hooks detected - rootkit behavior confirmed

[+] Checking for hidden kernel modules...
    Loaded modules (lsmod):         147
    Modules in kobject list:        149
    HIDDEN MODULES:
      - "netfilter_helper" at 0xffffffffc0a10000 (size: 12288)
      - "kworker_sched"    at 0xffffffffc0a14000 (size: 8192)

[+] Scanning /proc for discrepancies...
    Processes in task_struct list: 234
    Processes visible in /proc:   231
    HIDDEN PROCESSES:
      - PID 31337  cmd: "[kworker/0:3]"   (disguised as kernel thread)
      - PID 31442  cmd: "rsyslogd"         (fake, real rsyslogd is PID 892)
      - PID 31500  cmd: ""                 (unnamed process)

[+] Checking IDT entries...
    IDT entries scanned: 256
    Modified entries: 0 (clean)

[+] Running rkhunter scan...
    Checking for known rootkits:        68 variants checked
    Diamorphine rootkit:                WARNING - signatures match
    System binary checks:
      /usr/bin/ps:     MODIFIED (SHA-256 mismatch)
      /usr/bin/netstat: MODIFIED (SHA-256 mismatch)
      /usr/bin/ls:     MODIFIED (SHA-256 mismatch)
      /usr/sbin/ss:    OK

[+] Network analysis...
    Hidden connections (not in /proc/net/tcp):
      ESTABLISHED  0.0.0.0:0 -> 198.51.100.47:4443 (PID 31337)
      ESTABLISHED  0.0.0.0:0 -> 198.51.100.47:8080 (PID 31442)

Summary:
  Rootkit Type:         Loadable Kernel Module (LKM)
  Probable Family:      Diamorphine variant
  Syscall Hooks:        4 (read, open, getdents64, kill)
  Hidden Modules:       2
  Hidden Processes:     3
  Hidden Connections:   2 (C2: 198.51.100.47)
  Modified Binaries:    3 (/usr/bin/ps, netstat, ls)
  Risk Level:           CRITICAL

Frequently asked questions about Analyzing Linux Kernel Rootkits

Similar skills