agentsclimarketplace

Alibabacloud ecs sec kernel

Skill aliyun/alibabacloud-ecs-troubleshoot-skills/skills/alibabacloud-ecs-sec-kernel

Troubleshooting skills for Alibaba Cloud ECS

Install
npx -y skills add aliyun/alibabacloud-ecs-troubleshoot-skills --skill alibabacloud-ecs-sec-kernel

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Linux 内核 CVE 漏洞检测与 PoC 验证工具。88 个内核漏洞检测器,CTF 挑战模式验证。需要 root 权限(sudo)运行。 务必在检测内核漏洞时使用此技能。每当需要验证 CVE 或执行 PoC 验证时,优先调用此技能。 当用户提到内核安全、CVE 检测、漏洞利用验证时,主动触发。

SKILL.md

12.2 KB, as published. Nobody here has run it

sec-kernel

Linux 内核 CVE 漏洞检测与 PoC 验证工具。88 个内核漏洞检测器,CTF 挑战模式验证。

Version: 1.4.0 (JSON-driven architecture)

触发场景

当以下场景出现时,务必主动调用此技能:

  • 检测 Linux 内核漏洞
  • 验证特定 CVE 是否可利用
  • 执行 PoC 三阶段验证(Prepare → Run → Post)
  • 内核安全评估或审计
  • 用户提到 "内核安全"、"CVE"、"提权漏洞"、"PoC" 等关键词
  • 需要判断当前内核版本是否存在已知漏洞
  • 执行本地提权(LPE)路径验证

⚠️ 安全声明

PoC 验证可能导致 kernel crash (panic/hang/deadlock),建议在隔离的虚拟机/可快照环境中运行。 PoC 不会永久改写系统文件,不会进行持久化提权。所有临时修改均在 Post 阶段完整恢复。 使用本工具即表示您同意遵守 完整安全声明 中的所有条款。 违规使用需承担全部法律责任。

快速使用

# 从 skill 根目录执行:

# 需要 root 权限(sudo)

# 全量检测与 PoC 验证(默认对所有 enabled 的 CVE 执行 PoC)
sudo python3 -m scripts --verbose

# 单 CVE 验证
sudo python3 -m scripts --cve-id CVE-2026-31431 -v

# 列出所有检测器(无需 root)
python3 -m scripts --list-detectors

# 自动编译缺失的 PoC 二进制
sudo python3 -m scripts --compile-poc -v

# 输出 JSON 格式报告
sudo python3 -m scripts --format json -v

CLI 参数

参数类型默认值说明
--modechoicehost运行模式(仅 host,Linux 服务器环境)
--poc-outputpath./workspacePoC 证据输出目录
--poc-timeoutint30PoC 执行超时时间(秒)
--no-prepareflagoff跳过 Prepare 阶段
--no-postflagoff跳过 Post 阶段
--poc-userstringnobodyRun 阶段执行用户(降权执行)
--no-force-demoteflagoff不强制降权到非特权用户
--compile-pocflagoff自动编译缺失的 PoC 二进制文件(plain 模式)
--output-dirpath./workspace报告输出目录
--formatchoicemarkdown报告格式(markdown / json
--cve-idstring-仅检测指定 CVE
--configpath-配置文件路径
--verbose / -vflagoff详细输出
--list-detectorsflagoff列出所有检测器(无需 root)

关键参数说明

默认行为: 所有在 kernel_cves.yamlenabled: true 的 CVE 都会自动执行 PoC 验证,无需额外参数。唯一跳过 PoC 的条件是将 CVE 设置为 enabled: false

--compile-poc: 当 poc-bin/ 目录下缺少对应 ELF binary 时,自动调用 poc-src/build.sh 编译。仅在 plain 模式(源码部署)下生效。

Why: 本地编译确保 PoC 源码不出环境,源码仅存在于有 git 的开发机器上,编译产物才会同步到远程。

--no-prepare / --no-post: 跳过三阶段验证中的 Prepare 或 Post 阶段。用于调试目的,生产环境建议保留完整三阶段。

--poc-user: Run 阶段以指定用户身份执行 PoC binary,默认 nobody(uid=65534)。用于验证 LPE(本地提权)路径。

--no-force-demote: 默认情况下 PoC 执行会强制降权到 --poc-user 指定的非特权用户。此参数禁用强制降权。

为什么需要 sudo(root 权限)

PoC 三阶段验证需要 root 权限的原因:

  • Phase 1 (Prepare): 需要加载内核模块(modprobe algif_aeadmodprobe esp4 等)、创建 root 拥有的目标文件、配置 xfrm SA/SP 等安全策略
  • Phase 3 (Post): 需要读取 root 文件验证写入结果、卸载内核模块、清理 xfrm 状态、恢复系统状态
  • 权限分离: Phase 2 (Run) 故意降权到 nobody,以验证漏洞是否能让非特权用户越权操作

为什么使用 CTF 模式

CTF 挑战模式的设计理由:

  • 客观验证: 通过文件内容的读/写来客观证明漏洞是否触发,而非主观判断
  • 提权证据: nobody 用户成功写入 root 文件 = 证明存在 LPE 路径
  • 安全约束: PoC 不会真正执行 setuid(0),只是通过文件操作证明漏洞可被利用
  • 可复现性: CTF flag 每次随机生成,确保每次验证都是真实触发而非缓存结果

检测器统计

指标数量
总检测器数88
write_root_file 模式84
read_root_file 模式24
uaf 模式5

新增功能 (v1.2.0)

PoC 执行统计模块

每次执行完成后自动输出详细统计报表,包含:

  • SUCCESS(EXPLOITABLE / NOT_EXPLOITABLE)分类统计
  • FAILED(TIMEOUT / CRASH / MISSING_BIN / PARSE_ERROR / PERMISSION)细分
  • SKIPPED(NO_MODULE)
  • 失败分析(root cause + recommendation + 是否为 PoC 实现问题)

三种 PoC 模式标准化

模式目标文件权限验证方式数量
write_root_fileroot:root 0644nobody 通过内核漏洞写入 root 文件86
read_root_fileroot:root 0400nobody 通过内核漏洞读取 root 文件24
uafN/AUse-After-Free 利用验证5

增强的证据展示

  • CTF flag 验证(write 模式:写入并回读确认;read 模式:读取受保护内容)
  • 失败分析引擎(自动判定 root cause 并给出修复建议)
  • PoC 实现问题标记([PoC-IMPL] 标签区分环境问题和代码问题)
  • 三阶段完整证据链输出

输出格式

检测摘要

==============================================================
  sec-kernel v1.4.1 - Linux Kernel CVE Detection
==============================================================
  Kernel: 5.15.0-91-generic (x86_64)
  Mode: host (Linux Server)
==============================================================

==============================================================
  Detection Summary
==============================================================
  Total CVEs checked:     88
  Vulnerable:             3
  Not Vulnerable:         80
  Uncertain:              2
  PoC Exploitable:        2
  Execution time:         45.32s
==============================================================

PoC 执行统计

================================================================
  sec-kernel PoC Execution Statistics
================================================================
  Total Detectors:     88    (with PoC capability)
  PoC Executed:        83
  ------------------------------------------------------------
  SUCCESS (ran correctly):     78
    +- EXPLOITABLE:            2   (vulnerability confirmed)
    +- NOT_EXPLOITABLE:        76  (kernel patched/mitigated)
  ------------------------------------------------------------
  FAILED (execution error):    5
    +- TIMEOUT:                2
    +- CRASH:                  1
    +- MISSING_BIN:            0
    +- PARSE_ERROR:            2
    +- PERMISSION:             0
  ------------------------------------------------------------
  SKIPPED:                     2
    +- NO_MODULE:              2
  ------------------------------------------------------------
  Execution Time:         45.32s
================================================================

CTF 挑战模式输出示例

⚠️  SECURITY DISCLAIMER / 安全声明
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
本工具仅限在已授权的隔离测试环境中使用。
严禁用于生产环境或未授权系统。违规使用需承担全部法律责任。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[Phase 1: Prepare] (root)
  ✓ Loaded kernel module: algif_aead
  ✓ Created target file: /tmp/sec-kernel-poc-XXXX/poc_target (root:root 0644)
  ✓ Initial content: writeme_a3f8b2c1

[Phase 2: Run] (nobody, uid=65534)
  CTF_READ_BEFORE:writeme_a3f8b2c1
  CTF_WRITE:ctf{164d74cd804f9361} (attempting...)
  CTF_READ_AFTER:ctf{164d74cd804f9361}
  CTF_FLAG:ctf{164d74cd804f9361}
  POC_RESULT:EXPLOITABLE

[Phase 3: Post] (root)
  ✓ File content verified: ctf{164d74cd804f9361} ✓ MATCH
  ✓ Cleanup completed
  ✓ System state restored

[RESULT] CVE-2026-31431: EXPLOITABLE (confidence=0.95)

关键输出字段

字段含义
CTF_READ_BEFORE:PoC 执行前读取的原始文件内容
CTF_WRITE:PoC 尝试写入的 CTF 值
CTF_READ_AFTER:PoC 执行后读取的文件内容
CTF_FLAG:ctf{xxx}漏洞利用成功的标志值
POC_RESULT:EXPLOITABLE漏洞可利用
POC_RESULT:NOT_EXPLOITABLE漏洞不可利用(内核已修复)

结果判定

结果含义建议操作
EXPLOITABLE当前内核存在可利用漏洞立即升级内核
NOT_EXPLOITABLE漏洞条件不满足或已修复无需操作
DETECTION_ONLY版本匹配但未执行 PoC建议进一步验证

CTF 提权验证证据

以下 CVE 已在真实内核环境中通过 CTF 挑战模式验证提权成功(EXPLOITABLE),CTF flag 每次随机生成。

CVE-2026-31431 (CRITICAL) - AF_ALG AEAD splice 页缓存污染

[Phase 1: Prepare] (root)
  Created CTF target: /tmp/sec-kernel-poc-XXXX/poc_target_canary
  mode=write_root_file, uid=0, perm=644
  Initial content: writeme_f9de12afe0d6da5a

[Phase 2: Run] (nobody, uid=65534)
  CTF_WRITE:ctf{dddb28301f24e3db} (attempting...)
  CTF_FLAG:ctf{dddb28301f24e3db}
  POC_RESULT:EXPLOITABLE

[Phase 3: Post] (root)
  CTF write_root_file PASSED: inner value matches (dddb28301f24e3db)
  Rollback executed: target file removed
  System state restored

[RESULT] CVE-2026-31431: EXPLOITABLE (confidence=0.95)
  Kernel: 6.6.87.2-microsoft-standard-WSL2
  Exploit path: AF_ALG AEAD authencesn + splice() -> page cache corruption

CVE-2026-PENDING-DIRTYFRAG (CRITICAL) - DirtyFrag ESP+RxRPC 双变体

[Phase 1: Prepare] (root)
  Created CTF target: /tmp/sec-kernel-poc-XXXX/poc_target_dirtyfrag
  mode=write_root_file, uid=0, perm=644, size=4096
  Module state snapshot: esp4=loaded

[Phase 2: Run] (nobody, uid=65534)
  CTF_WRITE:ctf{ab2084cd52cdad11} (attempting via rxrpc/rxkad...)
  RxRPC variant failed (EAFNOSUPPORT), trying ESP/xfrm fallback...
  CTF_WRITE:ctf{ab2084cd52cdad11} (attempting via esp/xfrm fallback...)
  CTF_FLAG:ctf{ab2084cd52cdad11}
  POC_RESULT:EXPLOITABLE

[Phase 3: Post] (root)
  CTF write_root_file PASSED: inner value matches (ab2084cd52cdad11)
  Rollback executed: target file removed
  System state restored

[RESULT] CVE-2026-PENDING-DIRTYFRAG: EXPLOITABLE (confidence=0.95)
  Kernel: 6.6.87.2-microsoft-standard-WSL2
  Exploit path: ESP/xfrm variant (RxRPC fallback) -> splice() page cache write
  Dual-variant: RxRPC (Ubuntu 24.04) / ESP (WSL2) automatic fallback

三阶段执行流程

Phase 1 (root):   准备环境 — 加载模块、创建目标文件、记录初始状态
Phase 2 (nobody): 执行 PoC — 读原值 → 漏洞利用写入 → 读回验证
Phase 3 (root):   验证清理 — 独立确认写入结果、恢复系统状态

支持的 CVE

完整 CVE 检测列表见 references/cve-list.md(88 个内核漏洞检测器,全部启用 CTF 挑战模式验证)。

覆盖子系统:Netfilter/nf_tables (18) | eBPF/BPF (8) | Network/Socket (12) | TLS (7) | io_uring (3) | Memory/Page Cache (5) | Filesystem (3) | IPsec/xfrm (3) | ptrace/cred (3) | Others (23)

系统要求

  • Linux x86_64
  • Python 3.8+
  • root 权限(sudo)
  • 内核模块加载能力(modprobe)

日志

PoC 执行日志:workspace/poc-{CVE-ID}.log 回退路径:/tmp/poc-{CVE-ID}.log(workspace 不可写时)

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.