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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Kestrel — 低可观测性的 Active Directory 安全枚举工具,使用原生 ADSI/COM 接口。无需 .NET 或 PowerShell 即可枚举 ACLs、委派、信任关系、ADCS、Kerberoast 目标和攻击路径,并生成 BloodHound 兼容的输出。 | Kitploit
工具/GitHubGitHub/ssteelfactor-oss/kestrel
防御工具权限提升侦察漏洞分析信息收集后渗透利用渗透测试红队
GitHubssteelfactor-oss/kestrel

Kestrel

低可观测性的 Active Directory 安全枚举工具,使用原生 ADSI/COM 接口。无需 .NET 或 PowerShell 即可枚举 ACLs、委派、信任关系、ADCS、Kerberoast 目标和攻击路径,并生成 BloodHound 兼容的输出。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Kestrel

build license language dependencies

BloodHound 为你展示路径。Kestrel 为你展示已经潜伏在其中的东西。

所有人都在测绘同一件事:攻击路径——谁能抵达域管理员。 这是正确的问题,回答它的工具也非常出色。但一张“谁能抵达谁”的图对一整类问题视而不见,因为 Active Directory 中一些最糟糕的东西根本不是一条路径。

它们是被焊进某个属性里的后门。一张在密码重置很久之后仍能持续通过认证的证书。一个被烙进 schema 本身的权限,使得从此以后创建的每个对象都静默地继承它。一个被删除的账户,却有人悄悄保留了将其恢复的权限。一个仅凭一条拒绝读取 ACE 就被隐藏于枚举之外的对象。

这些都不是图中的一条边。而它们此刻全都躺在你的目录里。 Kestrel 能读取它们——使用原生 Windows 调用、普通域用户权限,无需服务器、无需 Python、无需代理,并且在域控制器上留下的足迹极为克制,已逐事件记录在案。

一个 .exe。一条命令。以下全部内容。


你一直看错了方向

攻击性 AD 生态——SharpHound、impacket、Certipy,以及它们背后的图——非常出色,而它们全都着眼于同一个表面:可达性。Kestrel 着眼于这个表面无法表达的三个维度。

  • 时间。 图是一个快照。Kestrel 读取复制元数据——某个 Tier-0 属性何时被更改,以及哪台 DC 发起了这次更改。昨晚被授予的 DCSync 权限与存在多年的同类权限不是同一个发现,而其中只有一个意味着你此刻正遭受攻击。
  • 属性中的持久化,而非边。 Shadow credentials、SID history、reanimate-tombstones、schema defaultSecurityDescriptor 后门、隐藏对象、OWNER RIGHTS 拒绝 ACE、AD FS DKM 密钥。图工具不收集这些,因为没有边可画。
  • 防御态势,反向审视。 不是“谁能攻击”,而是“什么没有被保护”——身处其隔离区之外的 Tier-0 账户、拥有随机 RID 却无人标记的同步账户、从不限制喷洒攻击的锁定策略。

并不是说 Kestrel 比图更快。它回答的是图无法提出的问题。


每一种 AD 罪孽,尽在一个原生 exe 中

风险点Kestrel 发现的内容标志
复制与委派DCSync 权限(谁可以复制——而无需实际复制)、无约束 / 约束 / RBCD / S4U 委派--acl · --delegation
证书滥用AD CS ESC1–5/9、NTAuth 存储中的流氓 CA、长期证书持久化、AD FS DKM 密钥 ACL——Golden SAML 的前提条件--adcs · --adfs
属性中的持久化Shadow 凭据、SID 历史注入、墓碑复活权限、隐藏对象、架构 defaultSecurityDescriptor 后门、孤立的 adminCount--shadowcreds · --sidhistory · --acl · --schema · --adminsdholder
明文与可破解凭据GPP cpassword、SYSVOL 中的 unattend/sysprep 机密和脚本密码、可 Kerberoast 和 AS-REP-roast 的账户、LAPS 覆盖缺口--gpp · --roast · --laps
跨域与混合特权组中的外部主体、标记为 Tier-0 的 Entra Connect 同步账户、信任态势、通过 MachineAccountQuota 创建的机器账户(mS-DS-CreatorSID)--groups · --trust · --machines
态势与侦察密码 / PSO 策略、krbtgt 年龄、LLMNR / NBT-NS / WDigest / NTLMv1 GPO 设置、gMSA 读取者、过期计算机、委派拓扑--pwdpolicy · --policy · --gmsa · --stale
考古孤立的危险 ACE(已删除主体持有的权限——SID 解析不到任何人)、过期的特权账户(被遗忘、权限过高、密码古老)--archaeology
域加固dSHeuristics 匿名 LDAP / AdminSDHolder 排除标志、Pre-Windows 2000 Compatible Access 的广泛成员资格--hardening
服务态势 (从 AD 读取,不向服务发送数据包)Exchange 到 DA 的提权与 EOL、SCCM 容器接管与站点映射、ADIDNS 区域投毒(Authenticated Users 可创建记录)--exchange · --sccm · --dns

二十多项检查,通常分散在十几个脚本和两种语言中。在这里,它们是一个二进制文件——并且最终给出一个按严重性排序的单一判定。


一行命令

Kestrel.exe --all --report audit.html

运行全部内容。获取完整的 HTML 报告。并且,在控制台的最末尾,是真正重要的部分:

═══ Kestrel - Prioritized Findings ═══

  CRITICAL  DCSync         CORP\svc_sql - non-default principal can replicate directory changes (DCSync)
                          → fix: remove GetChanges/GetChangesAll from the principal on the domain head (dsacls) unless it is a DC
  CRITICAL  AD FS          CN=... - read access to the DKM key (Golden SAML precondition)
                          → fix: remove non-default read ACEs on the DKM object (dsacls) and rotate the token-signing certificate
  HIGH      Persistence    CN=... - object hidden from enumeration via a broad deny-read ACE
                          → fix: inspect the hidden object and remove the broad deny-read ACE (dsacls)

  [=] 2 critical · 1 high · 0 medium · 0 low

不是一大堆输出。只列出真正重要的发现,按优先级排序,每条都附上关闭它的命令。


一个 exe。红队、蓝队、紫队。

  • 红队 / 灰队 - 枚举图谱遗漏的持久化和委派关系,直接导出到 BloodHound CE OpenGraph(--opengraph)以与你现有的采集数据融合,或从任意主体出发进行转向(--from)。
  • 蓝队 - 一份按优先级排序、附带修复建议的发现列表;用 --diff 对比上周的快照以捕捉变化;以及一个其精确检测足迹已公开的工具,以便你将其加入白名单并围绕它调整自己的告警。
  • 紫队 - 一份双方以相同方式解读的产物。红队找到它,蓝队修复它,所有人指向同一个行号。

设计上可检测

Kestrel 是只读的。它从不写入目录,从不复制,从不需要 SeSecurityPrivilege,从不接触云。读取谁可以执行 DCSync,在网络流量上与实际执行 DCSync 看起来完全不同 - 没有 DRSUAPI,没有复制签名的 4662。它运行的每个查询以及它能(和不能)生成的每个事件都记录在 FOOTPRINT.md 中。一个告诉防御者如何精确捕获自己的审计工具并不矛盾 - 这正是它的意义所在。


快速开始

获取一个构建。 每次通过的 CI 运行都会发布一个 Kestrel.exe 产物 - 从 Actions 标签页 下载,无需工具链。

或者自己构建。 Visual Studio(v143+)或 MSBuild:

git clone https://github.com/ssteelfactor-oss/Kestrel.git
cd Kestrel
msbuild Kestrel.vcxproj /p:Configuration=Release /p:Platform=x64

纯 C 语言,零第三方依赖。构建 /MT 后即得到一个自包含的单一可执行文件——将其放到已加入域的任意主机上,以任意普通用户身份运行即可。

运行它。

Kestrel.exe --all --report audit.html      # everything, HTML report + ranked findings
Kestrel.exe --acl --adcs --adfs            # pick specific checks
Kestrel.exe --paths --from CORP\jdoe       # attack paths from one principal
Kestrel.exe --all --diff last-week.json    # what changed since the last snapshot
Kestrel.exe --all --opengraph graph.json   # export to BloodHound CE OpenGraph

模块

运行 --all,或选择任意子集。完整帮助:Kestrel.exe --help。

标志扫描
--aclACL 边、DCSync 权限、所有者/继承/规范卫生、隐藏对象、复活墓碑
--groups传递性特权成员资格 + 外部安全主体
--delegation无约束 / 约束 / RBCD / S4U2Self
--paths / --from到 Tier-0 的攻击路径分析(可选从给定主体出发)
--adcsAD CS 证书模板 / CA 审计(ESC1–5/9)+ NTAuth 存储 + 有效期
--adfsAD FS DKM 密钥 ACL(Golden SAML 前提条件)
--schemaSchema defaultSecurityDescriptor 后门审计
--trust域 / 林信任态势
--machines通过 MachineAccountQuota 创建的机器账户(mS-DS-CreatorSID)
--roast可 Kerberoast + 可 AS-REP-roast 的账户
--shadowcreds影子凭据(msDS-KeyCredentialLink)
--sidhistorysIDHistory 注入(特权 / 外部)
--adminsdholder孤立的 adminCount=1 对象
--gppSYSVOL 机密扫描 - GPP cpassword、unattend、脚本凭据
--gpolateralGPO 本地组 → 横向边(AdminTo / CanRDP / CanPSRemote / ExecuteDCOM)
--policyGPO 安全策略(LLMNR / NBT-NS / WDigest / NTLMv1)
--pwdpolicy密码 / PSO 策略 · krbtgt 年龄 · MachineAccountQuota
--hygiene凭据卫生(PASSWD_NOTREQD / DONT_EXPIRE / 可逆 / 描述泄露)
--gmsagMSA 密码读取者枚举
--lapsLAPS 覆盖(旧版 + Windows LAPS 2023+)
--stale通过 lastLogonTimestamp 检测陈旧计算机
--topology通过 SPN 解码检测计算机拓扑
--adwsADWS 端点检测(每个 DC 的 9389/TCP)
--archaeology孤立的危险 ACE(所有者已死、权限仍存)+ 陈旧特权账户
--hardening域加固标志:dSHeuristics 匿名访问 / SDProp 排除 + Pre-Windows 2000 Compatible Access
--exchangeExchange 态势:版本/EOL + Exchange 到 DA 的提权(对域的 WriteDACL)(服务;需主动启用)
--sccmSCCM/MECM 态势:System Management 容器 ACL + 管理点 / 站点映射 (服务;需主动启用)
--dnsAD 集成 DNS(ADIDNS):区域 CreateChild DACL + wpad/isatap/通配符 + DnsAdmins (服务;需主动启用)

服务态势(--exchange · --sccm · --dns)需主动启用,且不包含在 --all 中;运行 --services 以覆盖整个层。发现项现在带有 MITRE ATT&CK 技术标签。

输出与互操作: --report <file>(.html / .json / .yaml)· --opengraph <file>(BloodHound CE)· --diff <snapshot.json> · --verbose。


设计不变式

这些是承诺,而非偏好——它们是在生产环境中安全运行的理由。违反任何一条都是安全缺陷(参见 SECURITY.md)。

  • 只读 - 从不创建、修改或删除目录对象。仅产生读取/访问事件,从不产生修改事件。
  • 普通域用户 - 无权限提升,无 SeSecurityPrivilege,仅使用 DACL 安全掩码。
  • 无复制 - 检测谁可以执行 DCSync;自身从不调用 DRSUAPI。
  • 仅目录与 SYSVOL - 不对成员主机发起 RPC/SMB。
  • 无规避 - 无查询分片、无时序博弈、无日志篡改。参见 FOOTPRINT.md。
  • 仅本地部署 - 无 Entra / Graph / 云调用;它审计混合部署在 AD 中留下的足迹。
  • 原生且自包含 - 纯 C,零第三方依赖,单一 .exe。

路线图

下载工具