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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Locksmith2 — 一个面向 AD 管理员、防御性安全专业人员和“肮脏”红队成员的 AD CS 工具包 | Kitploit
工具/GitHubGitHub/jakehildreth/locksmith2
防御工具权限提升漏洞扫描器漏洞分析脚本与自动化配置审计渗透测试身份与访问管理 (IAM)错误配置学习与教育红队
111143316天前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
jakehildreth/locksmith2

Locksmith2

一个面向 AD 管理员、防御性安全专业人员和“肮脏”红队成员的 AD CS 工具包

查看仓库网站

Locksmith 2

Locksmith 2 标志中,“locksmith”一词后跟数字“2”,采用粗体、方块状的像素化字体。设计使用渐变配色,从左侧的浅薰衣草色过渡,经粉色色调,到右侧的珊瑚色/橙色,置于带有矩形边框的深紫色背景之上。复古数字美学赋予标志一种现代又平易近人的感觉,暗示这是一款让安全管理变得易于上手且直观的工具。“2”表示这是 Locksmith 工具的第二版。

面向 Active Directory 管理员、防御性安全专业人员和恶劣红队成员的 AD CS 工具包

PowerShell Gallery PowerShellAsk DeepWiki

概述

Locksmith 2 是一个用于审计 Active Directory 证书服务(AD CS)基础设施的综合性 PowerShell 模块。它基于既有的 ESC(提权)技术,识别证书模板、证书颁发机构和 PKI 基础设施对象中的安全错误配置。

Locksmith 2 专为 AD 管理员、安全专业人员和渗透测试人员打造,提供:

  • 针对 ESC1-ESC16 技术的自动化漏洞扫描
  • 针对每个已发现问题的详细修复脚本
  • 用于定向安全评估的细粒度 cmdlet
  • 以人类可读输出呈现的全面报告
  • 解释每种漏洞的教育资源

Locksmith 2 代表了 Locksmith 系列开源 AD CS 安全工具的新一代产品,通过更好的代码组织、增强的报告和更深入的风险分析,对原版进行了改进。

功能特性

  • 扫描证书模板以查找 ESC 漏洞
  • 审计证书颁发机构以查找 ESC 漏洞
  • 检查 PKI 基础设施对象以查找 ESC 漏洞
  • 生成 PowerShell 修复脚本
  • 生成用于还原修复的 PowerShell 脚本(部分完成)
  • 支持未加入域的系统
  • 对象输出
  • HTML 仪表板输出
  • 在仪表板中导出为 CSV、Excel、PDF
  • 用于引导式修复的交互式 TUI

安装

从 PowerShell Gallery 安装

Install-Module -Name Locksmith2 -Scope CurrentUser -Force

从源码构建

git clone https://github.com/jakehildreth/Locksmith2.git
cd Locksmith2
Import-Module .\Locksmith2.psd1

快速开始

以交互模式启动

Invoke-Locksmith2

生成 HTML 仪表盘

New-LS2Dashboard

支持的 ESC 技术

技术描述目标对象子技术
ESC1配置错误的证书模板模板—
ESC2证书 SubCA 滥用模板—
ESC3注册代理限制模板ESC3c1、ESC3c2
ESC4易受攻击的访问控制模板ESC4a(ACL)、ESC4o(所有者)
ESC5易受攻击的 PKI 对象访问控制基础设施对象ESC5a(ACL)、ESC5o(所有者)
ESC6已启用 EDITF_ATTRIBUTESUBJECTALTNAME2CA—
ESC7易受攻击的 CA 管理员/经理角色CAESC7a(管理员)、ESC7m(经理)
ESC8易受攻击的 Web 注册端点CA—
ESC9弱证书映射模板—
ESC11缺少 RPC 加密CA—
ESC13组链接 OID 应用程序策略模板—
ESC16已禁用 CRL/AIA 安全扩展CA—

有关 ESC 技术的详细信息,请参阅 SpecterOps 的 Certified Pre-Owned。

cmdlet 参考

主要函数

Invoke-Locksmith2

针对所有已知 ESC 漏洞执行全面的 AD CS 安全审计扫描。

Invoke-Locksmith2 [-Forest <String>] [-Credential <PSCredential>] [-Mode <Int>]
                  [-SkipVersionCheck] [-SkipPowerShellCheck]
                  [-ExpandGroups] [-Rescan]
# -Mode values:
#   (omit)  = return LS2Issue objects to the pipeline (default)
#   0       = Emulates Mode 0/no parameters from the original Locksmith: output issues to console as table
#   1       = Emulates Mode 1 from the original Locksmith: output issues + fix scripts to console as list

Find-LS2VulnerableTemplate

扫描证书模板以查找特定的 ESC 漏洞。

Find-LS2VulnerableTemplate -Technique <String>
# Supported: ESC1, ESC2, ESC3c1, ESC3c2, ESC4a, ESC4o, ESC9, ESC13

返回:供程序化使用的 LS2Issue 对象

Find-LS2VulnerableCA

扫描证书颁发机构,查找配置问题和危险的角色分配。

Find-LS2VulnerableCA -Technique <String>
# Supported: ESC6, ESC7a, ESC7m, ESC8, ESC11, ESC16

返回:供程序化使用的 LS2Issue 对象

Find-LS2VulnerableObject

扫描 PKI 基础设施对象(容器、计算机账户)以查找安全问题。

Find-LS2VulnerableObject -Technique <String>
# Supported: ESC5a, ESC5o

返回:供程序化使用的 LS2Issue 对象

Get-LS2Stores

返回审计期间填充的内部数据存储,供检查和分

Get-LS2Stores [-Name <String>]
# Valid -Name values: PrincipalStore, AdcsObjectStore, DomainStore, IssueStore,
#                     SafePrincipals, DangerousPrincipals, StandardOwners
# Omit -Name to return all stores.

返回:

  • PrincipalStore:按 SID 解析的主体
  • AdcsObjectStore:具有安全属性的 AD CS 对象
  • DomainStore:域信息
  • IssueStore:按技术分类发现的漏洞
  • SafePrincipals:可接受的高权限 SID
  • DangerousPrincipals:有风险的广泛访问 SID
  • StandardOwners:AD CS 对象可接受的属主 SID

Set-LS2Forest

设置用于扫描的目标林。适用于运行多次扫描或独立使用 Find-LS2Vulnerable* 函数。

Set-LS2Forest -Forest <String>

Set-LS2Credential

设置用于 AD 查询的凭据。适用于运行多次扫描或独立使用 Find-LS2Vulnerable* 函数。

Set-LS2Credential -Credential <PSCredential>

Find-LS2RiskyPrincipal

从以配置为中心转向以主体为中心的风险分析。按单个主体聚合漏洞,以显示哪些用户或服务账户具有最高的 AD CS 暴露风险。

Find-LS2RiskyPrincipal [-Technique <String>] [-MinimumIssueCount <Int>] [-Top <Int>] [-Rescan]

返回:PSCustomObject,包含 Principal、IssueCount、Techniques、VulnerableObjects、Issues

New-LS2Dashboard

根据当前扫描结果生成交互式 HTML 仪表板。PSWriteHTML 已内置(vendored)——无需单独安装。

New-LS2Dashboard [-FilePath <String>] [-Show] [-ExpandGroups] [-Online]

返回:指定路径下的 HTML 文件。请先运行 Invoke-Locksmith2 或 Find-LS2Vulnerable* 以填充存储。

要求

  • PowerShell:5.1+
  • 权限:对 Active Directory 配置分区的读取权限
  • 网络:与域控制器 LDAP/GC 端口(389、3268)的连通性
  • 凭据:域用户或计算机账户

贡献

Locksmith 2 采用“开源、需确认贡献”模式,这意味着任何贡献在提交前都必须与维护者进行讨论。

  1. 提交 issue 并讨论你提议的更改
  2. Fork 仓库
  3. 遵循 PowerShell 最佳实践和现有代码风格编写代码
  4. 使用约定式提交编写清晰的提交信息
  5. 提交 pull request
  6. 请求 @jakehildreth 进行审查

致谢

  • SpecterOps 在 AD CS 领域的开创性研究(Certified Pre-Owned)
  • 原 Locksmith 贡献者及社区
  • Sam Erde(@SamErde)的重要代码贡献

相关项目

  • Locksmith - 原始 AD CS 审计工具
  • Certify - C# 攻击性 AD CS 工具包
  • PSPKIAudit - PowerShell PKI 审计
  • Certipy - 基于 Python 的 AD CS 工具包

免责声明

Locksmith 2 仅供合法的安全评估和防御目的使用。用户有责任在运行安全审计前获得适当授权。作者不对本工具的误用或造成的损害负责。

许可证

MIT 许可证及 Commons Clause - 详情请参阅 LICENSE 文件。


由 Jake Hildreth 用 💜 制作

下载工具