您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(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)。
分析之后我們了解到,一般來(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中檢索密碼。
要通過(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了。
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ì)話連接;
但遺憾的是,我沒(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ū)。
# 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
然后,使用DSInternals模塊對(duì)數(shù)據(jù)塊進(jìn)行轉(zhuǎn)換,由于密碼存儲(chǔ)在隨機(jī)的Unicode字符中,所以我們還需要將明文密碼轉(zhuǎn)換為R**格式:
(ConvertFrom-ADManagedPasswordBlob <blob>).SecureCurrentPassword | ConvertTo-NTHash
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ò),可以把它分享出去讓更多的人看到吧!
免責(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)容。