AgentStack
SKILL verified Apache-2.0 Self-run

Alibabacloud Ecs Sec Kernel

skill-aliyun-alibabacloud-ecs-troubleshoot-skills-alibabacloud-ecs-sec-kernel · by aliyun

|

No reviews yet
0 installs
15 views
0.0% view→install

Install

$ agentstack add skill-aliyun-alibabacloud-ecs-troubleshoot-skills-alibabacloud-ecs-sec-kernel

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Alibabacloud Ecs Sec Kernel? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

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 阶段完整恢复。 > 使用本工具即表示您同意遵守 [完整安全声明](references/SECURITY-DISCLAIMER.md) 中的所有条款。 > 违规使用需承担全部法律责任。

快速使用

# 从 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 参数

| 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | --mode | choice | host | 运行模式(仅 host,Linux 服务器环境) | | --poc-output | path | ./workspace | PoC 证据输出目录 | | --poc-timeout | int | 30 | PoC 执行超时时间(秒) | | --no-prepare | flag | off | 跳过 Prepare 阶段 | | --no-post | flag | off | 跳过 Post 阶段 | | --poc-user | string | nobody | Run 阶段执行用户(降权执行) | | --no-force-demote | flag | off | 不强制降权到非特权用户 | | --compile-poc | flag | off | 自动编译缺失的 PoC 二进制文件(plain 模式) | | --output-dir | path | ./workspace | 报告输出目录 | | --format | choice | markdown | 报告格式(markdown / json) | | --cve-id | string | - | 仅检测指定 CVE | | --config | path | - | 配置文件路径 | | --verbose / -v | flag | off | 详细输出 | | --list-detectors | flag | off | 列出所有检测器(无需 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 | | writerootfile 模式 | 84 | | readrootfile 模式 | 24 | | uaf 模式 | 5 |

新增功能 (v1.2.0)

PoC 执行统计模块

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

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

三种 PoC 模式标准化

| 模式 | 目标文件权限 | 验证方式 | 数量 | |------|-------------|---------|------| | write_root_file | root:root 0644 | nobody 通过内核漏洞写入 root 文件 | 86 | | read_root_file | root:root 0400 | nobody 通过内核漏洞读取 root 文件 | 24 | | uaf | N/A | Use-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 | 当前内核存在可利用漏洞 | 立即升级内核 | | NOTEXPLOITABLE | 漏洞条件不满足或已修复 | 无需操作 | | DETECTIONONLY | 版本匹配但未执行 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](references/cve-list.md)(88 个内核漏洞检测器,全部启用 CTF 挑战模式验证)。

覆盖子系统:Netfilter/nftables (18) | eBPF/BPF (8) | Network/Socket (12) | TLS (7) | iouring (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 不可写时)

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.