PtH(hash传递攻击)原理探秘

本文介绍了Windows环境中常见的横向渗透技术,包括hash传递攻击(PtH)和ticket传递攻击(PtT)。详细阐述了NTLM协议的工作流程及SMB渗透至hash传递攻击的原理。

背景知识



Windows 横向渗透的两种方式


  • 1、hash传递攻击,通过传递NTLM-Hash,登录机器,简称PtH;
  • 2、ticket传递攻击,通过传递kerberos的ticket,登录机器,简称PtT;

以上两种都是常见的域内或者叫做内网渗透的横向移动的常见手段。

NTLM协议机制简述


在hash传递攻击中。传递的就是NTLMhash值,这里我们就要简述一下NTLM的过程。

NTLM的诞生


早期SMB协议在网络上传递是明文的username和password,后来出现了简称为LM的局域网管理挑战应答机制(LAN Manager Challenge/Response),后来微软又开发了WinNT LAN Manager Challenge/Response,简称NTLM。

验证过程


1.用户输入username、password、domainname(交互式才需要这个步骤),客户端会计算hash值保存在本地;
2.客户端将username明文发给DC;
3.DC生成一个16Byte的随机数(challenge)发送给客户端;
4.客户端通过运算生成一个响应值response=f(hashes,challenge,other)=>other根据版本变化,例如时间戳来防止回访等;
5.客户端将响应值发送给DC;
6.DC经过同样的运算result = f(hashes,challenge,other),然后比较result和response,一直就验证通过,不一致则验证不通过;
7.备注:目标不一定是DC,hash对应的账号所登录的(有缓存的)工作站也可以。

SMB渗透至Hash传递攻击的原理



SMB可以直接基于TCP协议或者NetBIOS over TCP,SMB的认证可以基于SMB,也可以基于kerberos,,这两种认证方式,前者本质上使用了hash,后者本质上使用了ticket,导致了SMB的PtH和PtT攻击存在的基础。
1070321-20180810151838560-1280946711.png

鸣谢(参考文献)



刨根问底:Hash传递攻击原理探究
NTLM 协议

转载于:https://www.cnblogs.com/KevinGeorge/p/9455196.html

### 哈希传递攻击(Pass-the-Hash, PTH)的原理 哈希传递攻击是一种利用用户密码的哈希值(而非明文密码)进行身份验证的攻击方式。在Windows系统中,尤其是使用NTLM认证机制时,攻击者可以窃取用户的NTLM哈希值,并将其用于访问远程资源或执行命令,而无需知道原始密码。 #### 攻击原理 1. **哈希获取**:攻击者首先需要通过某种方式获取目标系统的用户账户及其对应的NTLM哈希值。这可以通过多种手段实现,例如使用工具如`fgdump`、`Mimikatz`等从内存中提取哈希值[^3]。 2. **身份伪造**:一旦获得了用户的哈希值,攻击者可以使用该哈希值来模拟用户身份,从而在其他系统上进行身份验证。这种攻击通常通过工具如`Mimikatz`、`Impacket`等实现。 3. **横向移动**:攻击者可以在内网中利用哈希值对其他主机进行身份验证,进而控制更多的系统。这种方式特别有效,因为许多企业环境中存在共享账户的情况,攻击者只需获得一个系统的哈希即可访问多个系统[^4]。 ### 如何防止哈希传递攻击 为了有效防御哈希传递攻击,以下是一些常见的防范措施: #### 1. 禁用不必要的服务和协议 - **禁用NTLMv1**:由于NTLMv1协议的安全性较低,建议启用更安全的NTLMv2或Kerberos协议。可以通过组策略设置来强制使用更强的身份验证协议。 - **限制SMB协议版本**:确保所有系统使用最新版本的SMB协议(如SMBv3),以减少潜在的攻击面。 #### 2. 使用最小权限原则 - **限制管理员权限**:避免为普通用户分配过多的管理权限,尽量使用标准用户账户进行日常操作。这样即使攻击者获得了某个用户的哈希值,也无法轻易提升权限。 - **启用UAC(用户账户控制)**:通过启用UAC,即使是本地管理员账户,在执行某些高权限操作时也需要额外确认,从而增加攻击者的难度。 #### 3. 加强身份验证机制 - **启用多因素认证(MFA)**:对于关键系统和服务,启用多因素认证可以显著提高安全性。即使攻击者获得了用户的哈希值,也无法绕过第二层身份验证。 - **定期更改密码**:尽管哈希传递攻击不依赖于明文密码,但定期更改密码仍然有助于减少长期暴露的风险。特别是在检测到可疑活动时,应及时重置受影响账户的密码。 #### 4. 监控与审计 - **日志监控**:启用并配置详细的日志记录功能,及时发现异常登录行为。例如,频繁失败的登录尝试、非正常时间段的登录等都可能是哈希传递攻击的迹象。 - **入侵检测系统(IDS)**:部署入侵检测系统,实时监控网络流量,识别可疑的活动模式。IDS可以帮助快速响应潜在的安全威胁。 #### 5. 使用现代操作系统特性 - **启用Credential Guard**:Windows 10和Windows Server 2016及以上版本提供了Credential Guard功能,能够保护凭据存储区域,防止恶意软件从中提取哈希值。 - **启用Remote Credential Guard**:此功能允许用户在远程桌面连接时使用其凭据进行身份验证,而不会将凭据泄露给远程计算机,从而降低哈希传递攻击的风险。 #### 6. 安全意识培训 - **教育员工**:定期对员工进行网络安全意识培训,强调不要随意点击不明链接、下载未知来源的文件,以及不在公共场合输入敏感信息。 - **钓鱼邮件防范**:加强邮件过滤机制,识别并拦截包含恶意附件或链接的钓鱼邮件,减少攻击者获取初始访问权限的机会。 ### 示例代码:使用Impacket进行哈希传递攻击 ```bash # 使用psexec模块进行哈希传递攻击 psexec -hashes :209c6174da490caeb422f3fa5a7ae634 ./Administrator@192.168.0.101 ``` 上述命令展示了如何使用`Impacket`工具中的`psexec`模块,通过指定目标主机的IP地址和NTLM哈希值来进行哈希传递攻击。需要注意的是,此类操作应仅限于合法授权的渗透测试场景中使用。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值