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

    基于資源的約束委派

    VSole2022-02-24 13:39:47

    微軟試圖為域用戶提供更大的靈活性,使資源的所有者能夠配置哪些帳戶是可信的,并允許委派給他們。這可以通過修改用于控制目標資源訪問的屬性“ms-DS-AllowedToActOnBehalfOfOtherIdentity”來實現的。具體而言,如果計算機帳戶等資源設置了此屬性,則允許帳戶代表計算機帳戶執行操作。為了能夠修改此屬性,帳戶需要具備該對象的寫入權限,而默認情況下該權限是沒有的。但是,如果可以觸發 SYSTEM 帳戶并將身份驗證中繼到 Active Directory,則帳戶可能會獲得委派權限,從而充當提升的用戶。

    通過基于資源的約束委派提升特權并不是一個新話題,Elad Shamir 和 Will Schroeder 過去曾對此進行過討論。此攻擊向量遵循一系列步驟并依賴于用戶服務 (S4U) Kerberos 擴展,該擴展使服務(例如 CIFS)能夠代表另一個用戶請求和獲取服務票證。通過基于資源的約束委派提權的方法包括以下步驟:

    1.發現計算機賬戶配額;

    2.啟用 WebClient 服務;

    3.創建計算機帳戶;

    4.NTLM中繼;

    5.哈希計算;

    6.請求服務票;

    7.票證轉換;

    8.通過 Kerberos 身份驗證訪問;

    下圖說明了基于資源的約束委派的步驟:

     尋找計算機賬戶配額

    默認情況下,域中的用戶最多可以創建 10 個計算機帳戶。屬性“ms-DS-MachineAccountQuota”的值定義了可以創建多少個計算機帳戶。從 Active Directory 的角度來看,這可以通過查看域屬性中的屬性編輯器來觀察到這一點。

    計算機賬戶配額

    但是,可以通過在紅隊操作期間查詢 Active Directory 對象來檢索上述值。SharpView 相當于用 C# 開發的 PowerView,因此可以直接從植入程序中使用。執行下面的命令將枚舉所有域對象。

    SharpView——域對象

    屬性“ms-ds-machineaccountquota”的值將顯示在輸出中。

    SharpView——計算機賬戶配額

    另一種方法是使用 StandIn,它只能查詢感興趣的域對象。

    StandIn——計算機賬戶配額對象

    “ms-ds-machineaccountquota”的值將顯示在控制臺中。

    StandIn——計算機賬戶配額

     啟用 WebClient 服務

    在Windows 10、Windows 11等較新版本操作系統中,安裝了web客戶端服務,但默認未啟用。服務的狀態可以通過在PowerShell控制臺執行以下操作來獲得。

    WebClient Service – Status

    為了使該技術生效,WebDav 服務需要處于運行狀態,因為 WebDav 不協商簽名,因此將允許來自當前計算機帳戶的身份驗證中繼。標準用戶沒有權限啟用該服務。James Forshaw 發布了一個概念證明,它通過觸發自定義 ETW 事件來解決此問題,該事件將從標準用戶的角度啟用該服務。

    c++代碼——啟用Web客戶端

    將代碼編譯為可執行文件并在目標主機上運行二進制文件以啟用該服務。

    啟用 WebClient 服務

    在命令提示符中,可以通過執行以下命令查詢服務:

    WebClient服務

     創建計算機帳戶

    如上所述,默認情況下域用戶最多可以創建 10 個計算機帳戶。如果提供憑據,可以使用各種工具從加入域的系統和未加入域的系統中創建計算機帳戶。Ruben Boonen 開發了一個名為 StandIn 的 .NET 活動目錄后開發工具包,可以從植入程序中使用它來執行與基于資源的約束委派相關的任務,例如創建計算機帳戶。執行以下命令將使用隨機密碼在域上創建一個新的計算機帳戶。

    StandIn——創建計算機帳戶

    Impacket 包含一個 python 腳本,它可以從非域加入系統創建計算機帳戶。

    Impacket——添加新計算機

    另外,這個任務也可以通過PowerShell來執行,因為Kevin Robertson開發的PowerMad模塊包含一個可以創建新計算機帳戶的功能。

    Import-Module .\Powermad.psm1

    New-MachineAccount -MachineAccount Pentestlaboratories -Domain purple.lab -

    DomainController dc.purple.lab

    PowerMad——新計算機帳戶

    如果系統已經針對基于資源的約束委派進行了配置,則可以使用現有的計算機帳戶,而不是使用上述方法之一創建新的計算機帳戶。StandIn 的“委派”標志可以顯示所有具有基于資源的受限委派權限的帳戶,包括具有不受約束和受限委派權限的帳戶。

    StandIn——發現為基于資源的受限委派配置的帳戶

     NTLM中繼

    由于已經創建了一個新的計算機帳戶并且 Web 客戶端服務正在主機上運行,因此下一步是從 Impacket 配置“ntlmrelayx”以進行委派。一旦捕獲了來自合法計算機帳戶的身份驗證,將被轉發到域控制器以通過 LDAP 進行身份驗證。由于初始身份驗證將通過 HTTP 接收,因此需要在目錄中放置圖像。偽造的計算機賬戶“DESKTOP-Pentestlab$”將成為委派權限的目標。

    Ntlmrelayx——委派訪問

    為了強制系統帳戶通過網絡進行身份驗證,NCC 集團開發了接受 WebDav 路徑的 Change-Lockscreen。為了使身份驗證成功,需要使用主機名而不是 IP 地址,因為 WebDav 客戶端會在 Intranet 區域中自動進行身份驗證。需要注意的是,WebClient 服務將使用更改鎖屏觸發器來啟用,并且可以避免啟用Web 客戶端服務的步驟。

    身份驗證觸發器——Change-LockScreen

    計算機帳戶(Hive$)將通過 Kali 實例上的 HTTP 進行身份驗證,并將嘗試在隨機路徑上查找圖像。在域控制器上中繼身份驗證后,虛假計算機帳戶(DESKTOP-Pentestlab$)將獲得對 Hive$ 帳戶的委派權限。

    ntlmrelayx ——基于資源的約束委派

    如果使用 rbcd python 腳本提供域憑據,則該攻擊也可以從未加入的域系統執行,該腳本可自動執行該過程。

    Python 實現——rbcd

    與具有委派權限的計算機帳戶對應的值將出現在計算機對象 (Hive) 的“msDS-AllowedToActOnBehalfOfOtherIdentify”屬性中。

    Active Directory——基于資源的約束委派

     哈希計算

    從密鑰傳遞中心(KDC)獲取票證的請求需要密碼的哈希表示而不是純文本值。由于計算機帳戶的密碼是已知的,因此可以使用 Rubeus 的“哈希”操作來計算給定密碼的哈希值。

    計算哈希——計算機賬戶

     請求服務票證

    計算機帳戶“DESKTOP-Pentestlab$”具有受約束的委派權限,因此可以使用 Rubeus 代表管理員帳戶請求通用 Internet 文件系統(CIFS)的服務票證。這是通過使用用戶服務(S4U)Kerberos 擴展來實現的,該擴展能夠代表用戶請求服務票證。由于將頒發的票證屬于管理員帳戶,因此可用于通過 Kerberos 進行身份驗證,以提升的用戶身份訪問主機。將為為委派創建的計算機帳戶(DESKTOP-Pentestlab$)請求初始票證。

    TGT 請求——計算機賬戶

    使用“用戶服務”操作,將向管理員帳戶的當前域控制器的 Kerberos 分發中心 (KDC) 請求票證。

    管理員TGS

    最后使用 Kerberos 擴展 S4U2proxy 將代表管理員帳戶為 CIFS 服務請求票證。應該注意的是,即使請求的票證不會被標記為可轉發,它仍然可以用于訪問服務。

    CIFS 服務票證

    上述過程可以通過使用python實用程序“getST”直接從Impacket執行。與Rubeus相比,該工具不需要對計算機帳戶密碼進行散列,而是需要對純文本進行哈希處理。可以通過執行以下命令來請求服務票證:

    CIFS 票證——getST

    票證將在當前工作目錄中保存為 .ccache。

     轉換票證

    Rubeus 的最終票證授予票證(TGT)是基于 64 編碼的。為了用于 Kerberos 身份驗證,票證需要采用 .ccache 格式。執行以下命令將解碼票證并將輸出寫入 .kirbi 文件。

    Base64 - Kirbi Ticket

    Impacket 包含一個 python 實用程序,它可以將具有 .kirbi 擴展名的 Kerberos 票證轉換為 .ccache。

    票證轉換器——從kirbi 到 ccache

    “KRB5CCNAME”環境變量應設置為 .ccache 票證的位置,以便在 Kerberos 身份驗證期間使用來自緩存的票證。

    環境變量——Kerberos 票證

     通過 Kerberos 身份驗證訪問

    獲取屬于管理員帳戶的票證意味著它可用于從更高的角度訪問目標服務。來自 Impacket 的“wmiexec”和“psexec”都支持 Kerberos 身份驗證,因此可用于以管理員或系統身份訪問主機,完成權限提升方案。

    Wmiexec——Kerberos 身份驗證

    執行“psexec”將在目標主機上創建一個服務,它被認為是不安全的。但是,它可以通過使用“-k”和“-no-pass”標志指定管理員帳戶和目標主機來使用 Kerberos 身份驗證來執行。

    Psexec——Kerberos 身份驗證

    或者僅使用相同的標志和目標主機。

    psexec——Kerberos 身份驗證

    電腦哈希
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    哈希傳遞對于大多數企業或組織來說仍然是一個非常棘手的問題,這種攻擊手法經常被滲透測試人員和攻擊者們使用。當談及檢測哈希傳遞攻擊時,我首先開始研究的是先看看是否已經有其他人公布了一些通過網絡來進行檢測的可靠方法。我拜讀了一些優秀的文章,但我沒有發現可靠的方法,或者是這些方法產生了大量的誤報。 我不會在本文深入剖析哈希傳遞的歷史和工作原理,但如果你有興趣,你可以閱讀SANS發布的這篇優秀的文章——哈希
    資安公司Emsisoft發現犯案的黑客組織在推特宣稱,Nvidia以電腦加密的手段反擊他們的入侵行為,黑客表示未被成功駭入。
    域滲透就是基于windows域環境的滲透,而域滲透涉及到的技術,如哈希傳遞(PTH)票據傳遞(PTT)委派攻擊等,都是基于域環境下的認證機制來實現的,這也是為什么要了解Windows認證機制的原因之一Windows的認證包括三個部分,用戶直接操作計算機登陸賬戶(本地認證),遠程連接到工作組中的某個設備(網絡認證),登陸到域環境中的某個設備(域認證)
    WINDOWS認證機制 閱讀本文前需要補充的知識:域的基本概念,域環境與工作組環境的區別 何謂域滲透,域滲透就是基于windows域環境的滲透,而域滲透設計到的技術,如哈希傳遞(PTH)票據傳遞(PTT)委派攻擊等,都是基于域環境下的認證機制來實現的,這也是為什么要了解Windows認證機制的原因之一 Windows的認證包括三個部分,用戶直接操作計算機登陸賬戶(本地認證),遠程連接到工作組
    火絨安全團隊訊 近日,有用戶就“TeamViewer最新漏洞”一事向火絨安全團隊咨詢。經火絨工程師查看確認,該漏洞(CVE-2020-13699)并非網傳的:導致黑客可以在沒有密碼的情況下入侵用戶電腦。而是當用戶訪問了黑客創建...
    WINDOWS認證機制之NTLM
    2021-11-18 08:22:53
    Windows的認證包括三個部分,用戶直接操作計算機登陸賬戶,遠程連接到工作組中的某個設備,登陸到域環境中的某個設備(域認證)本地認證 NTLM
    針對各種各樣的社工攻擊,我們除了教育,提醒用戶時刻注意微信安全以外,技術上我們也需要考慮一些相應的手段來進行補充。這個事件對于監視啟動文件夾、臨時目錄和下載目錄等位置非常重要,這些位置通常是惡意軟件在初始感染期間放置的地方。
    與其他攻擊不同的是,這種SMB身份驗證相關的攻擊是繼IE和Edge之后首次在Google Chrome上公開展示的。由于Chrome信任Windows SCF文件,攻擊者可以誘使受害者訪問其網站,其中包含惡意創建的快捷方式文件,該文件會自動下載到目標系統上,而無需提示用戶確認。但是,攻擊者創建的惡意SCF文件沒有設置圖標圖像的位置,而是包含遠程SMB服務器的位置。
    據悉,與朝鮮政府有聯系的黑客組織正在大量的利用一個被稱為Goldbackdoor的新型惡意軟件來攻擊記者。這種攻擊包括了多個階段的感染活動,其最終目的是要從目標中竊取敏感的信息。研究人員發現,該攻擊活動于今年3月份開始,并且目前正在進行中。 Stairwell的研究人員跟進了韓國NK新聞的一份初步報告,該報告顯示,一個被稱為APT37的朝鮮APT組織已經從一名前韓國情報官員的私人電腦中竊取了信息
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类