亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么進行CVE-2020-1472漏洞分析

發布時間:2021-12-28 17:11:23 來源:億速云 閱讀:124 作者:柒染 欄目:安全技術

怎么進行CVE-2020-1472漏洞分析,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

Netlogon 特權提升漏洞(CVE-2020-1472)

簡要

NetLogon 遠程協議是一種在 Windows 域控上使用的 RPC 接口,被用于各種與用戶和機器認證相關的任務。最常用于讓用戶使用 NTLM 協議登錄服務器,也用于 NTP 響應認證以及更新計算機域密碼。

微軟MSRC于8月11日 發布了Netlogon 特權提升漏洞安全通告。此漏洞CVE編號CVE-2020-1472, CVSS 評分:10.0。由 Secura 公司的 Tom Tervoort 發現提交并命名為 ZeroLogon。

影響版本號

Windows Server 2008 R2 for x64-based Systems Service Pack 1

Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)

Windows Server 2012

Windows Server 2012 (Server Core installation)

Windows Server 2012 R2

Windows Server 2012 R2 (Server Core installation)

Windows Server 2016

Windows Server 2016 (Server Core installation)

Windows Server 2019

Windows Server 2019 (Server Core installation)

Windows Server, version 1903 (Server Core installation)

Windows Server, version 1909 (Server Core installation)

Windows Server, version 2004 (Server Core installation)

漏洞時間:

2020-09-11

漏洞原理簡述

當攻擊者使用 Netlogon 遠程協議 (MS-NRPC) 建立與域控制器連接的易受攻擊的 Netlogon 安全通道時,存在特權提升漏洞。成功利用此漏洞的攻擊者可以在網絡中的設備上運行經特殊設計的應用程序。

要利用此漏洞,未通過身份驗證的攻擊者需要將 MS-NRPC 連接到域控制器,以獲取域管理員訪問權限。

漏洞原理:

Netlogon遠程協議特別是可以更新域中的密碼。RPC接口通過TCP動態端口分配域控制器的端口映射服務,或者通過SMB端口445。

Netlogon協議使用的是自定義的加密協議來讓客戶端(加入域的計算機)和服務器(域控制器)向對方證明加密,此共享加密是客戶端計算機的HASH賬戶密碼。Netlogon會話由客戶端啟動,因此客戶端和服務器先交換隨機的8個字節,客戶端和服務器都先將密鑰派生函數加密,然后客戶端使用此會話密鑰用于計算客戶端憑據,服務器則重新計算相同的憑證,如果匹配,客戶端必須知道計算機密碼,因此客戶端必須知道會話密鑰。

在身份驗證握手階段時,雙方可以協商是否加密和加密認證,如果加密被禁用,所有執行重要操作必須仍然包含認證值,也是用會話密鑰計算的。

怎么進行CVE-2020-1472漏洞分析

身份驗證階段

客戶端和服務器都是用的加密原句在函數中實現生成憑據為ComputeLogOneCredential,稱為協議規范,這個函數接受8字節的輸入并通過加密會話對其進行轉換產生相等長度輸出的key,假設它不知道會話密鑰將無法計算正確的輸出及匹配的某個輸入。這個函數有兩個版本,基于2DES以及AES,取決于客戶端在身份驗證期間設置的標志,基本上使用的都是AES。AES分組密碼需要輸入16個字節并將其置換為大小相等的輸出,操作模式必須加密較大或較小的輸入,為了被選中,ComputeLogEncredential利用模糊的CFB8(8位密碼)模式只需轉換8個字節,這個模式大約是普通模式的16倍。

AES-CFB8對明文的每個字節進行加密,方法是預先加上前綴一個16字節的初始化向量,然后將AES應用于IV+明文的前16個字節,取AES輸出的第一個字節,并使用下一個明文字節。

怎么進行CVE-2020-1472漏洞分析

AES-CFB8操作模式的加密說明

為了能夠加密會話,必須指定初始化向量(IV)引導加密過程,這個IV值必須是唯一的,并為每個單獨的隨機生成用同一密鑰加密的密文。但是ComputeLogOnCreddential函數定義的IV是固定的,應該由16零字節組成,而AES-CFB8要求IV是隨機的,對256個密鑰中的1個將AES-CFB8加密應用全零字節明文將導致都是零密文。

怎么進行CVE-2020-1472漏洞分析

漏洞利用:

1.欺騙客戶端憑據

在于NetrServerReqChallenge交換質詢調用后,客戶端通過NetrServerAuthenticate3調用,并通過一個參數調用ClientCredential,再通過應用ComputeLogonIncredential的客戶端質詢上一個請求中發送。一共有256個密鑰,那么怎么知道哪個會話使用了其中的密鑰呢?因為無效登錄后計算機賬戶并沒有被鎖定,可以嘗試多次,直到獲得準確的密鑰和身份驗證成功,僅需要嘗試256次即可。

2.禁用加密和加密認證

雖然繞過身份驗證,但是我們并不知道會話密鑰的值是什么。由于Netlogon的傳輸加密而出現問題機制(“RPC加密和加密認證”),它使用一個完全不同的函數,ComputeLogEncredential函數,但是對于我們來說,認證和加密認證是可選的,而且只需不在NetrServerAuthenticate3調用即可。默認客戶機將服務器未設置此標志時將拒絕連接,但是服務器不會拒絕請求不加密的客戶端。

3.欺騙請求

即使禁用了請求加密,每個請求依舊包含一個驗證器值,該值通過應用ComputeLogonIncredential(會話密鑰)函數的值ClientStoredCredential+時間戳,ClientStoredCredential是一個遞增的值,由客戶端提供,在握手時初始化與ClientCredential相同的值。此客戶端憑據僅由零組成,因此執行的第一個調用的ClientStoredCredential為零認證后,時間戳應該包含當前的時間和驗證器,然而服務器卻沒有做什么限制,這樣第一個調用我們只需要提供一個全零的驗證器和全零的時間戳。

4.更改AD和密碼

現在我們可以像任意客戶端發送Netlogon請求,但是自從引入了Active Directory許多賬戶數據庫被禁用,無法用來提取憑證,還有一個調用函數是NetrSreverPasswordGet允許獲取計算機密碼的NTML Hash,但是是用會話密鑰加密的,我們可以利用NetrServerPasswordSet2調用,用來設置新的客戶端計算機的密碼,不是hash,但是是用會話密鑰加密的,繼續用全零。

Netlogon協議中的明文密碼結構由516個字節組成,最后四個字節表示密碼長度,結構中所有字節不是密碼的一部分被可以填充任意值,如果我們在這里提供516個零,則將被解密到516個零,即零長度密碼,這意味著可以成為任何域中的計算機。如果更改計算機密碼,目標系統本身仍將在本地存儲原始密碼,且不能再對域進行身份驗證,只能通過手動操作重新同步(拒絕服務漏洞)。

5.提權到管理員

我們可以更改計算機的密碼時域控制器本身的,即使是我們連接的同一個域控制器,其中AD中存儲的DC密碼與密碼不同存儲在本地注冊表中HKLM\SECURITY\Policy\

Secrets\$machine.ACC,但是可能導致DC不可預知的異常行為,但是依舊可以登錄。只需要運行Impacket的secretsdump腳本就可以讓DC的密碼有效,這個腳本會通過域的從域中提取所有用戶HASH復制DRS協議,包括域管理員HASH(包括krbtgt,可以用來制作金票),然后用來登錄DC更新電腦密碼注冊表,就可以令攻擊者成為域管理員。

怎么進行CVE-2020-1472漏洞分析

修復建議:

1.進行 Windows 版本更新并且保持 Windows 自動更新開啟,也可以通過下載下面鏈接中的軟件包,手動進行升級。

2.開啟的 DC 的強制模式。

看完上述內容,你們掌握怎么進行CVE-2020-1472漏洞分析的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黎城县| 龙井市| 合阳县| 鲜城| 金堂县| 普格县| 合山市| 张家港市| 兰溪市| 建瓯市| 梁河县| 教育| 阜南县| 开平市| 呼伦贝尔市| 赞皇县| 上虞市| 泗水县| 凭祥市| 仙桃市| 江门市| 嘉鱼县| 福泉市| 习水县| 资阳市| 微山县| 明水县| 濉溪县| 林西县| 白水县| 罗田县| 桦甸市| 和顺县| 康定县| 突泉县| 博乐市| 齐河县| 嘉义市| 肥西县| 安阳县| 咸阳市|