Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Anvil — Anvil 是一款面向 Windows 胖客户端应用程序的运行时优先攻击面评估工具,专为进行定向应用程序安全评估的渗透测试人员和安全研究人员而构建。它可在一次定向运行中覆盖多种攻击类别。 | Kitploit
工具/GitHubGitHub/shellkraft/anvil
权限提升侦察漏洞分析漏洞利用后渗透利用渗透测试二进制分析红队
GitHubshellkraft/anvil

Anvil

Anvil 是一款面向 Windows 胖客户端应用程序的运行时优先攻击面评估工具,专为进行定向应用程序安全评估的渗透测试人员和安全研究人员而构建。它可在一次定向运行中覆盖多种攻击类别。

查看仓库
374347个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

logo


面向 Windows 胖客户端的运行时优先权限提升与攻击面评估工具。

Anvil 是一款面向 Windows 胖客户端应用程序的运行时优先权限提升与攻击面评估工具。它并非盲目扫描文件系统,而是将 Procmon 捕获与 Windows AccessCheck 相结合,仅报告运行时实际观察到 并且 经确认可由标准用户写入的路径,从而消除了通用枚举工具中普遍存在的误报噪音。


目录

  • 主要功能
  • 工作原理
  • 模块
  • 环境要求
  • Sysinternals 工具
  • 安装
  • 分发
  • 使用方法
  • 示例
  • 输出
  • 严重等级模型
  • 过滤器
  • 免责声明

主要功能

大多数胖客户端评估工具仅覆盖一两种攻击类别。Anvil 的设计理念是:运行时观察、ACL 验证的可利用性以及广泛的攻击面应整合在同一目标运行中,并采用分级管道确保输出结果具备可操作性。

误报消除管道

每个候选路径在报告前需依次通过四道关卡。

硬性关卡

  • 进程完整性等级必须为 High 或 SYSTEM IL
  • 路径不得位于 System32、SysWOW64 或 Program Files 内部
  • 目录可由标准用户写入——通过 Windows AccessCheck API 验证

模块逻辑关卡

  • 符号链接:处置标志(Supersede、OverwriteIf 等)+ 跨用户可写入保护
  • COM:注册表 CLSID 关联到缺失或可写入的 DLL 路径
  • 二进制:检查 PATH 顺序——仅报告出现在 System32 之前 的可写入条目
  • 未加引号路径:确认中间幻影目录可写入,排除内核 .sys 路径

工作原理

  1. 目标解析
    工具将目标解析为可执行文件路径(通过 --exe、--service 或 --pid)。如果是服务,则获取 ServiceInfo 并记录当前 PID 和状态。

  2. Procmon 捕获

    • 对于服务,先启动 Procmon,然后重新启动服务(含状态转换等待)。捕获新 PID。
    • 对于普通 EXE,以 Medium 完整性等级(使用复制的 Explorer 令牌)启动进程以模拟标准用户。记录 PID。

    进程完整性等级在启动后立即(进程存活时)读取并存储在上下文中。

  3. 按模块过滤分析
    每个模块使用自己的 .pmc 过滤器(存储在 filters/ 中)请求 Procmon 导出一个经过滤的 CSV。解析 CSV 后,应用一系列关卡:

    • 完整性 ≥ High
    • 路径不在受保护的系统目录中
    • 目录可由标准用户写入(AccessCheck)
    • 额外的模块特定逻辑(例如符号链接的处置标志、COM 的注册表到文件关联)
  4. 静态关联
    com 模块执行额外的静态扫描——扫描目标二进制中嵌入的 CLSID,并逐一检查 HKLM 和 HKCU——以发现捕获窗口期间未触发的劫持机会。这些结果带有 [静态关联] 标签。

  5. 报告
    结果打印到终端(带颜色编码),并可选择输出为 JSON 或独立的 HTML 报告。


架构

flowchart TB
    %% Phase 1
    subgraph Phase1["阶段 1:目标与运行时发现"]
        TR["目标解析器<br/>--exe / --service / --pid"] -->
        IL["完整性关卡<br/>Medium-IL 启动 / 服务重启"] -->
        PM["Procmon 引擎<br/>运行时 FS / Reg / Pipe 事件"]
    end

    %% Phase 2
    subgraph Phase2["阶段 2:信号缩减"]
        direction LR
        PF["按模块 PMC 过滤器<br/>仅高信号轨迹"] -->
        CSV["过滤后的 CSV 导出"]
    end

    %% Phase 3
    subgraph Phase3["阶段 3:可利用性关卡"]
        HG["硬性关卡<br/>高完整性目标<br/>非受保护路径"] -->
        ACL["AccessChk 验证<br/>标准用户可写入"] -->
        LG["逻辑关卡<br/>模块特定规则"]
    end

    %% Phase 4
    subgraph Phase4["阶段 4:关联"]
        RT["运行时发现"]
        ST["静态关联<br/>COM:CLSID 二进制扫描 / 注册表"]
    end

    %% Phase 5
    subgraph Phase5["阶段 5:报告"]
        SV["严重等级引擎<br/>P1–P5"] --> OUT["控制台输出"]
        SV --> JSON["JSON 报告"]
        SV --> HTML["HTML 报告"]
    end

    %% 跨阶段流程
    PM --> PF
    CSV --> HG
    LG --> RT
    ST -.-> RT
    RT --> SV

    %% 样式
    classDef p1 fill:#0f2a44,stroke:#4cc9f0,color:#e6f1ff
    classDef p2 fill:#2b193d,stroke:#f72585,color:#fde8f3
    classDef p3 fill:#1f2d1c,stroke:#7ae582,color:#eaf7ea
    classDef p4 fill:#3a1f1f,stroke:#ffb703,color:#fff3d6
    classDef p5 fill:#0b2e2a,stroke:#00f5d4,color:#e6fffb

    class Phase1 p1
    class Phase2 p2
    class Phase3 p3
    class Phase4 p4
    class Phase5 p5
    linkStyle default stroke:#9aa4b2,stroke-width:2px

对比

特性AnviLSpartacusRobberwinPEASProcmon
自动化发现✅✅✅✅❌
运行时验证的发现✅❌❌❌✅
幻影 DLL 检测✅✅❌❌◐
搜索顺序感知分析✅❌❌❌❌
基于 ACL 的可写性验证✅ (AccessChk)◐◐基本❌
按模块信号过滤✅ (.pmc filters)❌❌❌❌
误报消除(分级管道)✅❌❌❌❌
服务重启与 PID 重新捕获✅❌❌❌❌
Medium-IL 用户模拟✅❌❌❌❌
DLL 劫持(胖客户端感知)✅❌❌◐❌
COM 劫持关联✅❌❌❌❌
命名管道 ACL / 模拟分析✅❌❌❌❌
符号链接 / 接合点滥用检测✅❌◐◐❌
内存机密(实时进程扫描)✅❌❌◐❌
PE 安全 / 缓解分析✅❌❌◐❌
权限提升评估(非利用)✅✅✅❌❌
自动利用❌✅✅❌❌
置信度 / 严重等级评分✅ (P1–P5)❌❌❌❌
目标特定分析 (exe / svc / pid)✅❌❌❌✅
结构化报告 (JSON / HTML)✅❌❌TXT❌
自包含二进制分发✅✅✅✅✅


模块

模块标志检查内容
DLL 劫持dll.dll 的 CreateFile 事件——幻影 DLL 以及可写目录中加载的 DLL
COM 劫持com标准用户可写入的 COM 服务器注册表键;二进制扫描 ProgID
二进制劫持binary.exe 的 CreateFile 事件——幻影 EXE 植入以及可写 EXE 目录
不安全配置configs来自可写目录的配置文件访问(.ini、.xml、.json、.yaml 等)
安装目录installdir根 ACL、存在提权清单的 EXE 以及可写子目录
内存字符串memory实时进程内存扫描,寻找凭据、令牌、API 密钥、JWT、连接字符串
符号链接攻击symlink用户可写的临时 / appdata 路径中的接合点和符号链接向量
未加引号服务路径unquoted具有未加引号 ImagePath 的服务,其中中间幻影目录可写入
注册表提权registry标准用户可写入、控制服务/应用程序行为的注册表键
PE 安全标志pesec目标二进制缺少 ASLR、DEP、CFG、SafeSEH 和 Authenticode
命名管道 ACLpipes具有宽松 DACL 或支持模拟的 ACE 的命名管道

所有基于 Procmon 的模块需要在 filters/ 目录中有对应的 .pmc 过滤器文件(参见过滤器)。


环境要求

Python

  • Python 3.8 或更新版本
  • 必须以管理员身份运行
  • Windows 10 / Server 2016 或更新版本

Python 包

Anvil 在首次运行时自动安装其两个依赖项。您也可以手动安装:

pip install rich pefile
pip install rich>=13.0 pefile>=2023.2.7

Sysinternals 工具

Anvil 使用三个 Sysinternals 二进制文件。

二进制文件使用模块下载地址
Procmon64.exe所有基于 Procmon 的模块ProcessMonitor.zip
handle.exe命名管道 ACL 模块Handle.zip
accesschk.exe命名管道 ACL 模块——管道 DACL 枚举AccessChk.zip

解析顺序

下载工具