导语:在本文中,我们将解释如何使用Windows事件查看器检测Pass-the-Hash(PTH)攻击,并引入一个新的开源工具来帮助检测。

threat-detection-e1513790584717.png

在本文中,我们将解释如何使用Windows事件查看器检测Pass-the-Hash(PTH)攻击,并引入一个新的开源工具来帮助检测。PTH是一种攻击技术,允许攻击者通过NTLM协议在网络中开始横向移动,而不需要用户密码。我们评估了许多合法和非法的(PTH)NTLM连接情况,以了解这些差异以及如何区分这些差异。

根据我们的研究结果,CyberArk实验室创建了一个免费的可用工具(Ketshash)用于检测实时PTH尝试。

无需密码验证

Windows操作系统存储来自用户密码的不同类型的散列,以允许访问不同的服务,而不需要重新输入密码。其中一种散列类型是密码的MD4散列,也称为NTLM散列。

NTLM协议使用NT哈希进行身份验证,并不会使用“明文密码”,这意味着如果抓取HASH值,则可以在不知道实际密码的情况下进行身份验证。

当发生NTLM连接时,登录类型3(“从网络上登录到此计算机的用户或计算机”)和身份验证包NTLM(或通过登录进程名称)事件ID 4624(“帐户已成功登录”NtLmSsp)在目标机器上记录带有NTLM连接指示的事件ID 4624

恶意行为者也可以通过传递密码来验证密码。在考虑PTH时,有两个主要的选择:

1. 注入散列LSASS.exe并打开与注入散列的会话。

2. 实施NTLM协议的一部分用于散列验证,并通过SMB,WMI等协议通过网络发送命令。

来自事件查看器的合法连接

事件查看器包含多个表示交互式登录的日志:

4768 – 请求了Kerberos身份验证票证(TGT)

4769 – 请求了Kerberos服务票据(TGS)

4648 – 尝试使用显式凭据进行登录

4624 – 帐户已成功登录

登录类型:2(Interactive),7(Unlock),10(RemoteInteractive)或11(CachedInteractive)。

根据上述日志检查每个NTLM连接在连接之前是否使用同一个帐户进行交互式登录,可以帮助区分使用散列的攻击者和使用密码的规范用户。

一些NTLM连接比其他连接更危险

通过与非特权帐户的NTLM连接创建的登录会话的风险低于具有特权帐户的登录会话。例如,事件ID 4672(“分配给新登录的特权”)让我们知道特权帐户何时登录。创建NTLM连接和事件ID 4672之间的关联,将筛选可以在目标计算机中进行更改的所有特权NTLM连接。

检测传递哈希

把所有的东西放在一起,我们可以搜索特权的 NTLM连接,并通过关联已知的好的事件ID来检查它们是否在NTLM连接之前有合法的登录。为了帮助说明这种方法如何有效,我们建立了一个工具(Ketshash)来展示上述想法。
视频演示展示了使用https://github.com/cyberark/ketshash如何有效检测PTH-winexe,Mimikatz,WCE和Invoke-SMBClient所使用的PTH攻击。
源链接

Hacking more

...