Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
modifyCertTemplate — ADCS证书模板修改与ACL枚举 | Kitploit
工具/GitHubGitHub/fortalice/modifycerttemplate
权限提升漏洞分析漏洞利用配置审计渗透测试身份验证
GitHubfortalice/modifycerttemplate

modifyCertTemplate

ADCS证书模板修改与ACL枚举

查看仓库
1451313年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

用途

此工具旨在帮助操作员修改ADCS证书模板,从而利用创建的易受攻击状态进行权限提升(并在之后将模板重置为之前的状态)。该工具专门针对以下场景设计:攻击者已获得对模板的WriteProperty权限,但不确定该权限适用于哪些属性。在此场景下,可以查询模板的ACL,并将适用的ACE信息与属性GUID进行交叉引用,以确定可修改的属性。

关于该工具及主题的关联博客文章。

用法

root@kitploit:~
usage: modifyCertTemplate.py [-h] -template template name [-property property name] [-value new value] [-get-acl] [-dn distinguished name] [-raw] [-add flag name] [-debug]
                             [-hashes LMHASH:NTHASH] [-no-pass] [-k] [-aesKey hex key] [-dc-ip ip address] [-ldaps]
                             target

修改Active Directory证书模板的属性

位置参数:
  target                [[域/]用户名[:密码]

可选参数:
  -h, --help            显示此帮助信息并退出
  -template template name
                        目标证书模板的名称
  -property property name
                        目标模板属性的名称
  -value new value      要设置给指定模板属性的值
  -get-acl              打印证书的ACE
  -dn distinguished name
                        显式设置证书模板的可分辨名称
  -raw                  输出原始证书模板属性
  -add flag name        向属性添加一个标志,同时保留现有标志
  -debug                开启DEBUG输出

认证参数:
  -hashes LMHASH:NTHASH
                        NTLM哈希,格式为LMHASH:NTHASH
  -no-pass              不询问密码(对 -k 有用)
  -k                    使用Kerberos认证。根据目标参数从ccache文件(KRB5CCNAME)中获取凭据。如果找不到有效凭据,则使用命令行中指定的凭据
  -aesKey hex key       用于Kerberos认证的AES密钥(128或256位)

连接参数:
  -dc-ip ip address     域控制器的IP地址。如果省略,将使用目标参数中指定的域部分(FQDN)
  -ldaps                使用LDAPS代替LDAP

示例

查询模板或属性值

查询证书模板(所有属性)

root@kitploit:~
python3 modifyCertTemplate.py -template KerberosAuthentication ez.lab/administrator:pass

从证书模板查询单个属性

root@kitploit:~
python3 modifyCertTemplate.py -template KerberosAuthentication -property msPKI-Certificate-Name-Flag ez.lab/administrator:pass

查询所有模板属性的原始值

root@kitploit:~
python3 modifyCertTemplate.py -template KerberosAuthentication -raw ez.lab/administrator:pass

查询ACL信息

查询证书模板的ACL

root@kitploit:~
python3 modifyCertTemplate.py -template KerberosAuthentication -get-acl ez.lab/administrator:pass

虽然与证书模板无关,但可以通过提供对象的可分辨名称来查询任何对象的ACL

root@kitploit:~
python3 modifyCertTemplate.py -dn "CN=ws1,CN=computers,DC=ez,DC=lab" -get-acl ez.lab/administrator:pass

修改模板

向模板的msPKI-Certificate-Name-Flag属性添加ENROLLEE_SUPPLIES_SUBJECT标志

root@kitploit:~
python3 modifyCertTemplate.py -template KerberosAuthentication -add enrollee_supplies_subject -property msPKI-Certificate-Name-Flag ez.lab/administrator:pass 

更新证书模板属性的值(非列表属性)

root@kitploit:~
python3 modifyCertTemplate.py -template KerberosAuthentication -property msPKI-Certificate-Name-Flag -value -150994944 ez.lab/administrator:pass

向pKIExtendedKeyUsage属性添加一个EKU

root@kitploit:~
python3 modifyCertTemplate.py -template KerberosAuthentication -add "client authentication" -property pKIExtendedKeyUsage ez.lab/administrator:pass 

更新列表格式属性的值(即显式设置pKIExtendedKeyUsage的值)

root@kitploit:~
python3 modifyCertTemplate.py -template KerberosAuthentication -value "'1.3.6.1.5.5.7.3.4', '1.3.6.1.5.5.7.3.2'" -property pKIExtendedKeyUsage ez.lab/administrator:pass 

参考资料、致谢及其他值得关注的项目!

  • PyWhisker
  • Certi
  • StandIn
下载工具