這篇文章給大家分享的是有關(guān)gMSA是什么的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括香坊網(wǎng)站建設(shè)、香坊網(wǎng)站制作、香坊網(wǎng)頁制作以及香坊網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,香坊網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到香坊省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
gMSA,英文全稱為“Group Managed Service Accounts”,即活動目錄AD中的組托管服務(wù)賬戶。gMSA賬戶會將它們的密碼存儲在一個(gè)名叫“msDS-ManagedPassword”的LDAP屬性中,DC每隔三十天就會自動對這個(gè)值進(jìn)行重置,授權(quán)管理員以及安裝它們的服務(wù)器都可以檢索到這些密碼。msDS-ManagedPassword是一個(gè)加密的數(shù)據(jù)塊,名為“MSDS-MANAGEDPASSWORD_BLOB”,并且只有當(dāng)連接是安全的時(shí)候(LDAPS或認(rèn)證類型為‘Sealing&Secure’)才可以被檢索到。
其實(shí)在此之前,我個(gè)人對gMSA了解的并不多,但是在觀看了由Wald0和CptJesus主辦的《Bloodhound 3.0》網(wǎng)絡(luò)研討會之后,我對gMSA有了新的認(rèn)識,而這個(gè)研討會主要討論了gMSA為什么應(yīng)該在滲透測試中成為焦點(diǎn)。
分析之后我們了解到,一般來說除了授權(quán)管理員,目標(biāo)設(shè)備上還可能會有更多的用戶賬號被授予了讀取gMSA密碼的權(quán)限,而gMSA帳戶通常會被授予管理員權(quán)限,有的時(shí)候甚至?xí)皇谟栌蚬芾頇?quán)限。
那我們應(yīng)該怎么去利用這種安全問題呢?我們?nèi)绾尾拍苁占侥切┨貦?quán)賬號的密碼呢?
因?yàn)槟壳吧鐓^(qū)有很多技術(shù)可以幫助我們生成傳入的NTLM身份驗(yàn)證連接,而這種類型的身份驗(yàn)證密碼都存儲在一個(gè)LDAP屬性之中。我認(rèn)為最佳的解決方案,就是從ntlmrelayx中的LDAP屬性msDS-ManagedPassword中檢索密碼。
要通過NTLM中繼實(shí)現(xiàn)一條與LDAP的連接,我們必須確保中繼的身份驗(yàn)證連接使用的是HTTP協(xié)議。由于連接所需的簽名數(shù)據(jù)位,我們無法中繼SMB認(rèn)證連接,不過漏洞CVE-2019-1040能夠幫助我們繞過NTLM簽名保護(hù)機(jī)制,這樣我們就可以實(shí)現(xiàn)中繼SMB->LDAP了。
1、目標(biāo)向攻擊者發(fā)送一個(gè)NTLM_NEGOTIATE數(shù)據(jù)包;
2、接下來,攻擊者將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)證的會話連接;
但遺憾的是,我沒有在ntlmrelayx中成功實(shí)現(xiàn)“Sealing & Secure”身份驗(yàn)證。現(xiàn)在,我們必須中繼到LDAPS,而LDAPS只是通過SSL實(shí)現(xiàn)的LDAP,默認(rèn)情況下活動目錄AD安裝是沒有這種配置的,因?yàn)椴淮嬖谀J(rèn)的可用證書。
# 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)證請求,我們可以通過以下幾種方式來實(shí)現(xiàn),比如說:
1、ADIDNS通配符記錄
2、Responder
3、WPAD + Mitm6
4、利用一個(gè)存在漏洞的服務(wù)器來創(chuàng)建HTTP認(rèn)證請求
接下來,使用下列命令將我的代碼庫克隆至你的本地主機(jī)中,安裝impacket,開啟ntlmrelayx,然后選擇你喜歡的方式來生成NTLM認(rèn)證流量(關(guān)于如何生成NTLM認(rèn)證流量的問題,本文不做過多描述):
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模塊對數(shù)據(jù)塊進(jìn)行轉(zhuǎn)換,由于密碼存儲在隨機(jī)的Unicode字符中,所以我們還需要將明文密碼轉(zhuǎn)換為R**格式:
(ConvertFrom-ADManagedPasswordBlob).SecureCurrentPassword | ConvertTo-NTHash
NTLM至LDAP以及LDAPS的中繼攻擊可以通過啟用LDAP簽名以及LDAP信道綁定來進(jìn)行攻擊預(yù)防。除此之外,不要給多余的賬號提供服務(wù)賬號權(quán)限或特殊權(quán)限,每個(gè)組織都應(yīng)該遵循最低特權(quán)模式的最佳實(shí)踐方案。
感謝各位的閱讀!關(guān)于“gMSA是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!