如何通过哈希传递实现AD横向移动的攻击?

摘要:本文通过 Google 翻译 Lateral Movement – Pass-the-Hash Attacks 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充。 导航 0 前言 1 实验环境介绍 2 哈希传递
本文通过 Google 翻译 Lateral Movement – Pass-the-Hash Attacks 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充。 导航 0 前言 1 实验环境介绍 2 哈希传递攻击的妙用 2.1 访问测试 2.2 获取 Shell 2.3 转储 LSASS 进程 2.4 转储 NTDS.dit 文件 3 哈希传递攻击 – SMB (445) 3.1 psexec.py/wmiexec.py/smbexec.py 3.2 crackmapexec 3.3 Invoke-SMBExec.ps1 3.4 Metasploit 4 哈希传递攻击 – WinRM (5985) 4.1 crackmapexec 4.2 evil-winrm 5 哈希传递攻击 – RDP (3389) 5.1 xfreerdp 0、前言 在这篇文章中,我们将介绍多种可用于执行哈希传递攻击的工具和技术。 注:哈希传递攻击(Pass The Hash,简称 PTH)是一种基于 Windows 身份验证机制的攻击技术,它允许攻击者利用用户的密码哈希值进行身份认证,而无需知道明文密码。 首先,我们会在第一台受害机中转储本地 SAM 文件中的 administrator 哈希。接着,我们使用这个本地管理员的哈希在第二台受害机上测试时发现这两台机器的本地管理员账户居然使用了相同的密码(密码重用问题),这使得我们很轻松地就以本地管理员的身份转移到了第二台受害机上。然后,我们又转储了第二台受害机的 LSASS 进程,并成功找到了存储在第二台受害机上的域管理员哈希。最后,我们以域管理员的身份成功转移到了 DC(域控制器)。 1、实验环境介绍 在开始之前,我们先简单介绍一下本次实验的环境。在本示例的环境中,共有三台机器,它们均加入了域,其中一台机器是 DC(172.16.1.5),另外两台机器是 Windows 10 工作站(172.16.1.100 和 172.16.1.200)。 首先,我们假设自己已经在 172.16.1.100 这台机器上获得了立足点,并将权限提升到了本地 SYSTEM。然后,通过 Invoke-PowerDump 转储了受害机的哈希列表: 在转储的哈希列表中,我们最感兴趣的便是 administrator 的哈希。因为网络管理员在管理多个机器的时候,为了方便记忆通常会对相同的账户使用相同的密码,而相同的密码在不同机器上的 NTLM 哈希依然是一样的,因此我们最想获取此哈希以测试其它机器。 注:在获取到任何密码或 NTLM 哈希之后,我们首先应该使用这些已知的密码/哈希和已知的用户名在一台机器上进行组合测试,以确定是否存在一组有效的凭据。如果能够确定一组凭据有效,我们便可以在其它机器上优先测试这组凭据的有效性,以检查这组凭据可以访问哪些机器。 2、哈希传递攻击的妙用 在执行哈希传递攻击之前,我们首先需要检查受害机上开放的服务状况,然后再确定我们可以从哪些方面使用哪些工具去发起攻击。 在 Windows 主机上最常见的情况是,SMB 服务的 445 端口通常都是开放着的,而这也是此类攻击最有可能瞄准的端口。然而,有时还可能会发现另外两个常见端口也开放着,它们分别是 3389 的 RDP 服务和 5985 的 WinRM 服务。 而在这个例子中,我们将以端口 445 作为目标执行哈希传递攻击。 2.1、访问测试 为了测试前面得到的 administrator 用户的哈希值,我们将使用crackmapexec 工具对两台 Windows 10 主机进行测试。我们希望工具输出的结果中,两台主机均会出现 Pwn3d! 提示,这会表明用户 administrator 的密码确实被重复使用了,我们因此也就可以横向移动到第二台主机并获取 SYSTEM shell。 在使用 crackmapexec 时,我们可以传递完整的 NTLM 哈希,也可以只使用 NT 部分。之所以这样做,是因为通常只有 NT 部分才有值,而 LM 部分为空。 当账户被禁用且密码为空时,它的 LM:NT 两部分都没有值,帐户将显示“空白”的 NTLM 哈希,即 aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0。 当账户被启用时,它的 LM 部分通常没有值,而 NT 部分是有值的,账户将显示“半空白”的 NTLM 哈希,即 aad3b435b51404eeaad3b435b51404ee:* 。
阅读全文