RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

NTLM中繼+Zerologon漏洞利用的方法

蛇矛實驗室 ? 來源:蛇矛實驗室 ? 2024-07-14 11:15 ? 次閱讀

本期作者/ordar123

無需重置計算機帳戶即可利用 Zerologon 的方法

什么是Netlogon 協(xié)議?

Active Directory中比較重要的一個服務(wù):"Netlogon"服務(wù),此服務(wù)在DC和域成員服務(wù)器上運行,為域身份驗證提供重要服務(wù),如果此服務(wù)停止成員服務(wù)器將無法登陸到域中。

客戶端和認證服務(wù)器之間建立一個基于NETLOGON協(xié)議的安全會話有兩個目的:一是用于認證;二是用于交換通信秘鑰SessionKey。

Netlogon 認證過程簡單來說就是是讓客戶端 (域內(nèi)計算機)和服務(wù)器(域控制器)向分別對方證明他們都知道一個共同的秘密。此共享秘密是客戶端計算機帳戶密碼的散列(其實就是NTLM)。

Netlogon協(xié)議身份驗證握手過程詳細說可以分為以下幾個步驟:

客戶端啟動Netlogon會話,客戶端和認證服務(wù)器通過該會話相互交換隨機生成的8字節(jié)挑戰(zhàn)(挑戰(zhàn)就是一個隨機數(shù))。

客戶端和認證服務(wù)器,同時使用密鑰派生函數(shù)(KDF全稱Key derivation function)將兩個挑戰(zhàn)與共享秘密(NTLM)混合來計算出SessionKey。SessionKey=KDF(NTLM,client challenge+server challenge),如果客戶端和認證服務(wù)器使用的NTLM相同的話,客戶端和認證服務(wù)器就擁有同一個SessionKey了,這一步是認證的基礎(chǔ)。

客戶端使用SessionKey和客戶端挑戰(zhàn)使用AES-CFB8算法加密后結(jié)果A1發(fā)給服務(wù)端,然后認證服務(wù)器內(nèi)部使用同樣的算法AES-CFB8算法生成A2,如果A1等于A2,那么認證服務(wù)器就知道客戶端是知道NTLM的,然后客戶端在服務(wù)器這里就認證通過了。同理,認證服務(wù)器使用SessionKey和服務(wù)端挑戰(zhàn)加密后結(jié)果B1發(fā)給客戶端,客戶端內(nèi)部使用同樣的方法生成B2,如果B1等于B2,那么客戶端就知道了服務(wù)端是知道NTLM的。到這里認證過程就結(jié)束了,雙方互相認證了對方的身份;同時協(xié)商出來了一個加密密鑰SessionKey,這樣客戶端和認證服務(wù)器后續(xù)的所有消息都使用SessionKey來加密,然后SessionKey來解密對方的消息。

這個過程直接引用網(wǎng)上的圖片如下:

ee192f7e-406e-11ef-b8af-92fbcf53809c.png

ZeroLogon(CVE-2020-1472)

漏洞原理與風險

該漏洞存在一個加密缺陷,其中對于每256個隨機生成的密鑰中的1個,對由所有0組成的純文本進行加密將導(dǎo)致也包含所有0的密文。簡單來說就是通過將Client challenge置為0的方式來碰撞密文client credential為0的情況,不斷重復(fù)這個過程直至服務(wù)器那端計算出來的密文hash也全是0,從而可以繞過認證過程。詳情可以查看ZeroLogon(CVE-2020-1472) 分析與狩獵。

Netlogon協(xié)議在Active Directory中主要由工作站和服務(wù)器使用,以通過安全通道與域控制器進行通信。因為加入Active Directory的每個工作站或服務(wù)器都有一個計算機帳戶,Active Directory知道該帳戶的密碼。Active Directory擁有多個從同一密碼派生的密鑰,這些密鑰可用于Kerberos和NTLM等身份驗證協(xié)議。

最初的Zerologon攻擊的工作原理是將域中域控制器的Active Directory帳戶的密碼重置為空字符串。這允許攻擊者以該域控制器的身份向另一個域控制器甚至同一域控制器進行身份驗證。能夠以域控制器身份進行身份驗證是一項高權(quán)限,因為域控制器可以使用DRSUAPI協(xié)議同步Active Directory數(shù)據(jù),包括NT哈希和Kerberos密鑰。反過來,這些密鑰可用于模擬域中的任何用戶,或創(chuàng)建偽造的 Kerberos 票證。

這其實是有風險的。在Active Directory中重置域控制器計算機帳戶密碼為空的那一刻,DC 處于不一致狀態(tài)。因為存儲在注冊表和內(nèi)存lsass.exe中的加密計算機帳戶密碼不會更改。Active Directory中同一帳戶的密碼現(xiàn)在已更改,這將影響從此域控制器到此域控制器的身份驗證。如果重新啟動域控制器,則各種服務(wù)將不再啟動,因為它們想要從Active Directory讀取信息。如果執(zhí)行漏洞利用的速度足夠快,則可以從注冊表中恢復(fù)原始密碼,但是任然有風險,這就是為什么不建議在生產(chǎn)環(huán)境中利用它的原因。

什么是NTLM中繼?

NTLM協(xié)議的認證過程分為三步:

協(xié)商:主要用于確認雙方協(xié)議版本。

質(zhì)詢:就是挑戰(zhàn)(Chalenge)/ 響應(yīng)(Response)。

驗證:驗證主要是在質(zhì)詢完成后,驗證結(jié)果,是認證的最后一步。

NTLM協(xié)議的認證過程如下圖所示:

ee1d889e-406e-11ef-b8af-92fbcf53809c.png

應(yīng)用服務(wù)器在收到用戶客戶端的認證信息后,由于本身沒有存儲用戶的NT哈希,所以必須依賴域服務(wù)器進行認證,將收到的認證信息發(fā)送給域服務(wù)器,這個過程基于NETLOGON協(xié)議。服務(wù)器使用 Netlogon RPC 協(xié)議將身份驗證消息發(fā)送到域控制器,該協(xié)議將此會話密鑰(SessionKey)返回給服務(wù)器。如下圖所示。

ee219006-406e-11ef-b8af-92fbcf53809c.png

NTLM中繼攻擊(NTLM Relay)本質(zhì)上是中間人的利用手法:欺騙客戶端向自己發(fā)起認證,自己再將完整認證過程轉(zhuǎn)發(fā)給服務(wù)端,達到繞過挑戰(zhàn)響應(yīng)認證直接獲取服務(wù)端權(quán)限的目的。

攻擊者讓客戶端向攻擊者服務(wù)器發(fā)起 NTLM 請求

攻擊者服務(wù)器將客戶端的NTLM 請求轉(zhuǎn)發(fā)給真實服務(wù)器,真實服務(wù)端返回challenge

攻擊者服務(wù)器將收到的challenge轉(zhuǎn)發(fā)送給客戶端

客戶端返回response,攻擊者服務(wù)器將response轉(zhuǎn)發(fā)送給服務(wù)端

服務(wù)端驗證通過,攻擊者服務(wù)器獲得服務(wù)端權(quán)限

如下圖所示:

ee384e0e-406e-11ef-b8af-92fbcf53809c.png

由此可以得知,如果攻擊者控制了任何一臺域內(nèi)主機(域內(nèi)主機均具有自身主機賬號的口令NTLM值),只要能獲取此前客戶端請求用戶發(fā)送給應(yīng)用服務(wù)器的認證信息,攻擊者就可以向域服務(wù)器發(fā)起NETLOGON會話,從而獲取SessionKey,隨后可以發(fā)起重放攻擊。

什么是DCSync

不同域控制器(DC)之間,每15分鐘都會有一次域數(shù)據(jù)的同步。當一個域控制器(DC1)想從其他域控制器(DC2)獲取數(shù)據(jù)時,DC1會向DC2發(fā)起一個GetNCChanges請求,該請求的數(shù)據(jù)包括需要同步的數(shù)據(jù)。如果需要同步的數(shù)據(jù)比較多,則會重復(fù)上述過程。DCSync就是利用的這個原理,通過DirectoryReplicationService(DRS)服務(wù)的GetNCChanges接口向域控發(fā)起數(shù)據(jù)同步請求。

在默認情況下,只有Administrators、Domain Controllers和Enterprise Domain Admins組內(nèi)的用戶有權(quán)限使用DCSync。

以前獲取域的賬號口令信息,需要登錄域服務(wù)器,在域服務(wù)器上運行代碼才可以獲取。DCSync的最大特點,在于不用登錄域服務(wù)器,即可遠程通過域數(shù)據(jù)同步復(fù)制的方式獲得想要的用戶口令信息。

NTLM中繼+Zerologon

在Active Directory中,有兩種主要身份驗證協(xié)議:NTLM和Kerberos。Kerberos是去中心化的,基于加密和共享機密工作。NTLM是中心化的,如果使用域帳戶認證,則需要與域控制器通信才能工作。這是因為NTLM使用質(zhì)詢-響應(yīng)身份驗證機制,其中對服務(wù)器發(fā)送的質(zhì)詢執(zhí)行加密操作,以證明用戶擁有其密碼(或確切地說是其密碼的哈希版本)。對于ActiveDirectory帳戶,服務(wù)器實際上并不知道嘗試進行身份驗證的用戶的密碼是什么,因此它會將其轉(zhuǎn)發(fā)給域控制器,域控制器會告訴服務(wù)器響應(yīng)是否適合給定的質(zhì)詢。這種轉(zhuǎn)發(fā)實際上是通過Netlogon協(xié)議完成的,其中存在Zerologon漏洞。

NTLM協(xié)議的一個弱點是,如果攻擊者可以誘使用戶使用NTLM向他們進行身份驗證,則他們可以將身份驗證消息轉(zhuǎn)發(fā)到其他服務(wù)器并模擬此服務(wù)器上的用戶,這被稱為NTLM中繼。

“打印機錯誤”功能允許攻擊者通過NTLM觸發(fā)任何啟用了后臺處理服務(wù)的計算機的身份驗證,還可以通過使計算機帳戶向攻擊者的IP地址而不是主機名進行身份驗證來強制使用NTLM進行身份驗證,從而使其使用NTLM而不是Kerberos來認證,這為NTLM中繼提供了觸發(fā)條件。

NTLM協(xié)議執(zhí)行身份驗證時對消息進行簽名和加密的加密密鑰稱為SessionKey,SessionKey是基于用戶的NT哈希和協(xié)議中協(xié)商的某些屬性生成的。這意味著為了計算SessionKey,服務(wù)器需要擁有用戶的NT哈希。除非服務(wù)器是域控制器,否則它不具有該NT哈希。因此,服務(wù)器會使用NetlogonRPC協(xié)議將身份驗證消息發(fā)送到域控制器,該協(xié)議將此會話密鑰返回給服務(wù)器。

我們可以使用中繼連接直接向DRSUAPI協(xié)議的RPC端點進行身份驗證,雖然該協(xié)議需要簽名和加密,但我們可以使用Zerologon獲取SessionKey,并遵守與該協(xié)議通信的所有加密要求。

所有這些結(jié)合在一起,我們有一個全新的攻擊,它不依賴于重置機器帳戶的密碼來利用。它確實具有原始攻擊所沒有的一些先決條件,盡管這些先決條件默認存在,并且可能在大多數(shù)AD中起作用:

觸發(fā)打印機bug需要一個帳戶

打印后臺處理程序服務(wù)應(yīng)在DC上運行

DC應(yīng)該容易受到Zerologon的攻擊

域中至少應(yīng)有2個DC,因為中繼回同一DC不起作用

最終流程如下圖所示:

ee3c7948-406e-11ef-b8af-92fbcf53809c.png

攻擊實踐

實驗環(huán)境

ee403c72-406e-11ef-b8af-92fbcf53809c.png

ee43b5dc-406e-11ef-b8af-92fbcf53809c.png

Zerologon漏洞

漏洞復(fù)現(xiàn)

這里使用poc直接驗證,如下圖所示,證明DC1存在zerologon漏洞,并且成功dump出域控hash。

ee47d0fe-406e-11ef-b8af-92fbcf53809c.png

NTLM中繼+Zerologon

環(huán)境搭建

接下來恢復(fù)快照,恢復(fù)DC到zerologon利用之前的快照。

然后搭建DC2

1.先設(shè)置DNS為DC的ip

ee4b4446-406e-11ef-b8af-92fbcf53809c.png

2.加入域rangenet.cn,同時將計算機名改成dc2。

ee56120e-406e-11ef-b8af-92fbcf53809c.png

3.重啟之后搭建域環(huán)境

選擇Active Directory 域服務(wù),然后將此服務(wù)器提升為域控制器。這個過程相比大家都比較熟,這里就簡化步驟了,只截圖關(guān)鍵部分。

ee5a3794-406e-11ef-b8af-92fbcf53809c.png

選擇將域控制器添加到現(xiàn)有域,然后更改操作所需憑據(jù),憑據(jù)為主域控DC的賬號密碼。后面都是下一步就完了,之后會重啟,重啟之后輸入的是主域控DC的賬號密碼。

ee635536-406e-11ef-b8af-92fbcf53809c.png

這樣在同一個域(rangenet.cn)中就會有兩個域控,接下來將兩個域控互相設(shè)為備份。

4.互相設(shè)置DNS名稱服務(wù)器

進入主域控DC,然后打開DNS管理器。在正向查找區(qū)域中找到rangenet.cn,然后右鍵選擇屬性,選擇名稱服務(wù)器選項卡,然后添加新的名稱服務(wù)器。

ee6735b6-406e-11ef-b8af-92fbcf53809c.png

然后將備域控DC2的域名和ip填進去。

進入DC2,做同樣的操作,將DC的名稱服務(wù)器添加進去。

這樣主域控DC和備域控DC2就互相冗余了。

ee7b4c72-406e-11ef-b8af-92fbcf53809c.png

ee7f3710-406e-11ef-b8af-92fbcf53809c.png

漏洞復(fù)現(xiàn)

因為DC和DC2互為主備,所以隨便選一個進入,然后創(chuàng)建一個普通域用戶user。這個普通域用戶user是用于win10域成員登錄的。

假設(shè)我們事先拿下了win10域成員,然后在win10上拿到了rangenet/user的賬號密碼。

ee965e72-406e-11ef-b8af-92fbcf53809c.png

1.在kali上開啟NTLM中繼,中繼目標是主域控DC,中繼成功之后直接執(zhí)行DCSYNC來dump域控憑據(jù)。腳本會同時開啟SMB、HTTP、WCF、WAW服務(wù)用來執(zhí)行NTLM中繼。

ee9bc240-406e-11ef-b8af-92fbcf53809c.png

2.在使用printbug攻擊DC2,使DC2強制使用NTLM登錄kali,這樣kali就能通過NTLM中繼拿到sessionkey。

ee9f6f76-406e-11ef-b8af-92fbcf53809c.png

3.通過NTLM中繼+zerologon漏洞組合利用,模擬DC2$機器賬戶的身份,使用zerologon繞過NETLOGON協(xié)議認證,然后使用竊取到session key,再調(diào)用DRSUAPI執(zhí)行DCSYNC操作,以DC2$的身份向DC請求同步憑據(jù),然后域內(nèi)憑據(jù)就被dump出來了。

eea2c2fc-406e-11ef-b8af-92fbcf53809c.png

之后憑據(jù)可以用來登錄任意域控或域成員。

eea7bb68-406e-11ef-b8af-92fbcf53809c.png

eebaedaa-406e-11ef-b8af-92fbcf53809c.png

總結(jié):這是一種無須重置域控密碼即可使用zerologon漏洞攻擊域控或提權(quán)的方法,但是利用條件又比直接zerologon漏洞攻擊多出了許多。利用條件需要雙域控同時需要一個域成員賬號密碼,但是沒有重置密碼的風險。

zerologon漏洞只需要域控主機名和ip即可利用,利用條件簡單,但是一旦將域控密碼置空就會造成域控脫域。因為在Active Directory中重置域控制器計算機帳戶密碼為空的那一刻,DC 處于不一致狀態(tài)。因為存儲在注冊表和內(nèi)存lsass.exe中的加密計算機帳戶密碼不會更改,但是Active Directory中同一帳戶的密碼現(xiàn)在已更改,這將影響從此域控制器到此域控制器的身份驗證。如果重新啟動域控制器,則各種服務(wù)將不再啟動,因為它們想要從Active Directory讀取信息。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16332

    瀏覽量

    177803
  • 計算機
    +關(guān)注

    關(guān)注

    19

    文章

    7488

    瀏覽量

    87849
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9123

    瀏覽量

    85324
  • 中繼
    +關(guān)注

    關(guān)注

    0

    文章

    51

    瀏覽量

    14602

原文標題:NTLM中繼+Zerologon漏洞利用的方法

文章出處:【微信號:蛇矛實驗室,微信公眾號:蛇矛實驗室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    multisim10中繼電器的使用方法

    multisim10中繼電器的使用方法,如何驅(qū)動照明電路
    發(fā)表于 04-25 11:08

    漏洞真實影響分析,終結(jié)網(wǎng)絡(luò)安全的“狼來了”困境

    部署的時間延遲,和漏洞利用方法的普及因素的一條動態(tài)變化曲線。距離漏洞爆發(fā)的時間不同,漏洞的影響也會有比較大的差異,比如在
    發(fā)表于 12-25 15:18

    Spectre和Meltdown的利用漏洞的軟件影響和緩解措施

    以下指南簡要概述了稱為Spectre和Meltdown的利用漏洞的軟件影響和緩解措施,更準確地標識為: 變體1:邊界檢查繞過(CVE-2017-5753)變體2:分支目標
    發(fā)表于 08-25 08:01

    中繼,幀中繼是什么意思

    中繼,幀中繼是什么意思 幀中繼技術(shù)是在開放系統(tǒng)互聯(lián)(OSI)第二層上用簡化的方法傳送和交換數(shù)據(jù)單元的一種技術(shù)。 幀中繼僅完成OSI的
    發(fā)表于 03-18 15:37 ?4980次閱讀

    中繼,幀中繼技術(shù)原理是什么?

    中繼,幀中繼技術(shù)原理是什么? 幀中繼技術(shù)是在開放系統(tǒng)互聯(lián)(OSI)第二層上用簡化的方法傳送和交換數(shù)據(jù)單元的一種技術(shù)。 幀中繼僅完
    發(fā)表于 04-06 11:44 ?4814次閱讀

    基于MSOffice漏洞利用技術(shù)的研究_王俊卿

    基于MSOffice漏洞利用技術(shù)的研究_王俊卿
    發(fā)表于 03-17 17:14 ?0次下載

    基于指數(shù)迭代分割的彎道下中繼點選擇方法

    中繼節(jié)點的選擇決定了車際網(wǎng)中消息傳播的效率和可靠性。現(xiàn)有的中繼節(jié)點選擇方法多集中于高速的直道和城市的十字路口場景,對于山區(qū)環(huán)境的彎道場景研究較少。提出一種基于指數(shù)迭代分割,適用于彎道下的中繼
    發(fā)表于 11-22 10:39 ?1次下載
    基于指數(shù)迭代分割的彎道下<b class='flag-5'>中繼</b>點選擇<b class='flag-5'>方法</b>

    基于斜率預(yù)測的信道中繼選擇方法

    一般的協(xié)作中繼選擇方法利用過時的信道狀態(tài)信息(CSI)進行中繼選擇,準確的信道預(yù)測能提供精確的CSI用于中繼選擇。已有的信道預(yù)測方法往往不能
    發(fā)表于 01-03 11:11 ?0次下載

    Axure實現(xiàn)中繼器的篩選功能方法步驟介紹

    本文為大家介紹Axure實現(xiàn)中繼器的篩選功能方法。
    發(fā)表于 02-01 14:49 ?6017次閱讀
    Axure實現(xiàn)<b class='flag-5'>中繼</b>器的篩選功能<b class='flag-5'>方法</b>步驟介紹

    微軟Windows Defender出現(xiàn)漏洞 攻擊者可利用漏洞對計算機進行控制

    最近安全人員發(fā)現(xiàn)了一個Windows Defender漏洞,這個漏洞是一個遠程代碼執(zhí)行漏洞,通過追溯微軟自己使用的開源歸檔工具發(fā)現(xiàn)的。攻擊者可以利用這個
    發(fā)表于 06-07 01:27 ?1168次閱讀

    西門子ICS軟件中的漏洞遭披露,難以阻止黑客利用漏洞

    西門子用于維護核電站等大型關(guān)鍵基礎(chǔ)設(shè)施的工業(yè)控制系統(tǒng)存在漏洞,所幸該漏洞還未在野外被利用
    的頭像 發(fā)表于 07-16 15:24 ?4693次閱讀

    黑客正在積極利用該操作系統(tǒng)中的一個漏洞,稱為Zerologon

    為了解決此漏洞,Microsoft建議用戶立即應(yīng)用2020年8月的安全更新CVE-2020-1472。CVE前綴是英語中``常見漏洞和披露‘’的縮寫。
    的頭像 發(fā)表于 10-16 14:54 ?1798次閱讀

    lsarelayx NTLM中繼工具

    ./oschina_soft/lsarelayx.zip
    發(fā)表于 06-16 09:55 ?0次下載
    lsarelayx <b class='flag-5'>NTLM</b><b class='flag-5'>中繼</b>工具

    NTLM身份驗證:揭秘Windows網(wǎng)絡(luò)安全的秘密武器

    什么是NTLM?NTLM是一種身份驗證協(xié)議,用于驗證IT系統(tǒng)中的用戶身份。它于1993年發(fā)布,后來于1998年通過NTLMv2進行了改進。NTLM是較舊的LM協(xié)議的繼承者,該協(xié)議曾在20世紀80年代
    的頭像 發(fā)表于 09-23 08:04 ?1232次閱讀
    <b class='flag-5'>NTLM</b>身份驗證:揭秘Windows網(wǎng)絡(luò)安全的秘密武器

    西門子中繼器使用方法及作用

    西門子中繼器在工業(yè)自動化和通信網(wǎng)絡(luò)中扮演著重要角色,其主要使用方法和作用如下: 使用方法 安裝 : 將中繼器插入電源插座,確保其供電正常。 將中繼
    的頭像 發(fā)表于 09-05 09:45 ?670次閱讀
    RM新时代网站-首页