服务器大本营

 找回密码
 我要入营

微信扫码 , 快速开始

QQ登录

只需一步,快速开始

查看: 360|回复: 0

NTLM重放攻击工作原理、危害及防御措施

[复制链接]

799

敬重

369

主题

207

精华

管理员

积分
5770

启航之章进阶之印里程之碑突破之证飞跃之星蜕变之勋卓越之路龙年行大运

QQ
发表于 2024-2-21 15:03:43 | 显示全部楼层 |阅读模式

我要入营,结交更多好友,开启更多功能,轻松玩转服务器大本营!

您需要 登录 才可以下载或查看,没有账号?我要入营

x
说到NTLM重放攻击,我们需要先知道,在Kerberos域网络中,默认NTLM协议是主要的替代认证协议,几乎伴随着Kerberos协议,NTLM协议的安全性会对域网络产生重要的冲击,而我们今天所分享的NTLM重放攻击就是针对NTLM协议漏洞发起的攻击手段。

NTLM Relay重放攻击(Replay Attacks)又称中间人攻击、回放攻击,是指攻击者截取认证相关的报文,对报文进行一定的篡改后,发送给目标主机,达到欺骗目标系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击在任何网络通过程中都可能发生,是黑客常用的攻击方式之一。

NTLM重放攻击由最早由Dystic在2001年提出,用于攻击SMB协议的NTLM认证过程,作者发布了对应的SMBRelay攻击工具;2004年,发展为由HTTP协议重放至SMB协议的NTLM认证过程,即在HTTP协议中使用的NTLM认证信息重放至SMB协议的NTLM认证过程,该方式在Black Hat会议上发布,但是作者未公开发布对应的攻击工具,直到2007年,类似功能的工具才被集成到MetaSploit平台,可以进行跨应用层协议的重放攻击;2008年,HTTP重放至HTTP的NTLM重放攻击被实现(MS08-067,该补丁包含多个漏洞,也包含著名的远程攻击漏洞);最近这些年关于NTLM的重放攻击在很多基于NTLM认证的协议中被验证,例如Exchange Web Service、IMAP、POP3、SMTP等,导致了不少重大漏洞。

NTLM重放攻击工作原理



NTLM重放攻击,开始的时候比较好理解,随着微软安全措施的加强和漏洞的成因更复杂化,后面理解NTLM重放攻击更加困难,为了能让你们思路更清晰,了解更透彻,我们从最基本的应用场景开始,逐渐深入,层层分解剖析NTLM重放攻击。

NTLM重放攻击工作原理、危害及防御措施

NTLM重放攻击工作原理、危害及防御措施


我们从图上最简单的场景开始。在内网中有一个客户端,有一个应用服务器,应用服务器在445端口开放了SMB服务;在客户端、应用服务器之间,存在一个中间人攻击者,在445端口开放了伪造的SMB服务。中间人攻击者通过ARP、NETBIOS等欺骗手段,使得客户端认为中间人就是应用服务器,开始连接中间人的445端口SMB服务,并发起NTLM认证,中间人攻击者将NTLM认证重放至真正的应用服务器,从而获取访问真正应用服务器SMB服务的权限。

具体步骤如下:
1、客户端与中间人攻击者建立了SMB服务的TCP连接会话(会话A),在会话A的基础上,客户端以eviluser的身份向中间人攻击者发送NTLM认证协商报文NTLM_NEGOTIATE;

2、中间人攻击者与应用服务器建立SMB服务的TCP连接会话(会话B),在会话B基础上,将收到的NTLM_NEGOTIATE报文重放转发至应用服务器;

3、应用服务器在会话B中发送NTLM_CHALLENGE挑战报文给中间人攻击者,中间人攻击者将在会话B中收到的NTLM_CHALLENGE挑战报文通过会话A转发给客户端;

4、客户端使用eviluser的口令NTLM值加密挑战报文得到NTLM_AUTHENTICATE认证报文,通过会话A发送给中间人,中间人攻击者将在会话A中收到的认证报文通过会话B转发给应用服务器;

5、应用服务器依托认证服务器(本书中等同于域服务器)通过认证后,认为中间人攻击者是合法eviluser客户端,真正的客户端收到认证通过的消息后,认为中间人攻击者是合法的应用服务器。

ATLM重放攻击的危害


在这个场景中,从客户端的角度看,中间人攻击者开放了服务,并且在认证后能够提供正常的服务,所以中间人攻击者就是应用服务器;从应用服务器的角度看,中间人攻击者发起了服务请求,并进行了eviluser账号的合法认证,所以中间人攻击者就是客户端。这种重放攻击导致的结果是中间人重放eviluser账号的认证信息至应用服务器,获取了在应用服务器的访问权限,这也是NTLM重放攻击和NTLM中间人攻击概念等同的原因。在2005年左右,这个应用场景非常普遍,在现在的Windows操作系统中,有人可能认为这个场景不大可能以这么漏洞百出的直白方式出现,那我们带着疑问继续看。

将上述的NTLM重放攻击应用场景进行提炼,概括为基本模式,可以表述为在攻击主机上开放伪造的SMB、HTTP等服务,通过ARP、NETBIOS或者社会工程学的方式诱骗高权限账号访问这些伪造的服务,一旦有来访者,便要来访者提供NTLM认证信息,攻击者将这些认证信息重放至重要的目标服务器,从而获取目标服务器的高访问权限。

有一个地方需要注意,客户端先发起服务请求,例如SMB、HTTP等,在服务请求的过程中需要有认证,认证发生在服务请求的会话中,认证完成后,才可以开始后续的访问行为,可以将服务请求的会话分作2个阶段,即认证阶段和访问阶段。前面提到,微软为了方便不同的应用层协议调用NTLM协议进行认证,提供了NTLM SSPI统一接口供应用层协议调用。

HTTP、POP3、SMTP、LDAP、SMB等应用层服务,不仅仅支持NTLM协议,还支持其他众多认证协议,例如Kerberos、NTLM、BASIC、MD等,这就注定应用层协议不能集成认证协议。为了解决这个问题,IETF小组设定了GSSAPI标准,用于封装认证协议,应用层协议通过简单调用GSSAPI接口即可实现认证功能,微软参照GSSAPI为Windows系统实现了一套对应的接口SSPI。在上面的例子中,SMB协议调用NTLMSSPI实现NTLM认证,认证完成后,SMB才开始后续的访问操作,HTTP、LDAP等协议类似。

注:认证协议的具体信息和流程,与应用层协议无关,即HTTP协议中的NTLM认证、与SMB协议中的NTLM认证完全相同,这是后续跨应用层协议NTLM重放攻击的基础,例如由HTTP->SMB的重放攻击,上图中是SMB->SMB的重放攻击。

NTLM重放攻击的防御措施


为了对抗NTLM重放攻击,微软已经推出多个安全防御措施,主要包括如下几个:

1、强制SMB签名和通信会话签名,防止攻击者重放NTLM身份验证消息以建立SMB和DCE/RPC会话;

2、启用消息完整性代码(MIC),防止攻击者篡改NTLM认证消息本身;

3、启用增强型身份验证保护(EPA),防止攻击者将NTLM认证消息重放至TLS会话,例如连接到各种HTTPS Web服务,访问用户电子邮件(通过中继到OWA服务器)、连接到云资源(通过中继到ADFS服务器)等各种操作;

4、强制LDAPS签名,在域服务器上强制启用LDAP签名和LDAPS安全通道绑定,使得LDAP协议转为LDAPS协议,符合第3点的满足要求。

我们以SMB签名为例说明微软的安全措施是如何发挥保护作用的。签名保护最重要的是签名密钥,算法、内容公开。上图中,中间人攻击者可以获取客户端和应用服务器之间的所有交换报文,签名机制为了对抗这种模式,就不能让中间人拿到或者解开密钥。有2种方式可以实现,一是不交换签名密钥,而采用事先约定的密钥;二是采用公私钥的方式交换密钥。目前,在基于NTLM认证的模式下,采用第1种方式。密钥生成的具体流程如下:

1、客户端基于eviluser账号的口令NTLM值,使用固定的算法对固定的内容进行加密计算,得到SessionKey,作为应用层协议会话的会话签名密钥,SessionKey的具体算法如下;
// NTLMv1版本下

Key = MD4(NT Hash)

// NTLMv2版本下

NTLMv2_Hash = HMAC_MD5(NT Hash, Uppercase(Username) + UserDomain)

Key = HMAC_MD5(NTLMv2_Hash, HMAC_MD5(NTLMv2_Hash, NTLMv2_Response + Challenge))

2、认证服务器基于eviluser账号的口令NTLM值,使用固定的算法对固定的内容进行加密计算,得到相同的SessionKey,并将SessionKey通过安全会话返回给应用服务器(应用服务器会依托域服务器进行认证)。

在上述过程中,客户端和应用服务器分别拿到了相同的会话密钥SessionKey,并使用SessionKey进行签名。由于没有交换,中间人攻击者无法获取SessionKey。因此,即使中间人攻击者已经认证到应用服务器,但是由于无法进行签名,不能与应用服务器进行后续的会话操作,即使通过重放攻击完成认证也没有实际意义,这就是微软采用签名对抗NTLM重放攻击的原理。

会话签名的安全措施会产生几个细节问题,一是并不是所有的系统都支持签名,尤其是老版本的Windows操作系统,因此是否签名需要协商,NTLM协议的NTLM_NEGOTIATE阶段会协商是否需要签名;二是并不是所有的应用层协议都支持签名,例如HTTP几乎不支持,或者应用层协议本身已经加密,所以不再需要签名,例如LDAPS等。

以上就是关于NTLM重放攻击的分享
感谢您的阅读,服务器大本营助您成为更专业的服务器管理员!
一入IDC深似海,从此你我是良人!
您需要登录后才可以回帖 登录 | 我要入营

本版积分规则

QQ|Archiver|手机版|小黑屋|服务器大本营 ( 赣ICP备2021009089号 )

GMT+8, 2024-5-25 19:48 , Processed in 0.084611 second(s), 29 queries .

Powered by 服务器大本营

© 2021-2023 联系飞飞

快速回复 返回顶部 返回列表