您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關gMSA是什么的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
gMSA,英文全稱為“Group Managed Service Accounts”,即活動目錄AD中的組托管服務賬戶。gMSA賬戶會將它們的密碼存儲在一個名叫“msDS-ManagedPassword”的LDAP屬性中,DC每隔三十天就會自動對這個值進行重置,授權管理員以及安裝它們的服務器都可以檢索到這些密碼。msDS-ManagedPassword是一個加密的數據塊,名為“MSDS-MANAGEDPASSWORD_BLOB”,并且只有當連接是安全的時候(LDAPS或認證類型為‘Sealing&Secure’)才可以被檢索到。
其實在此之前,我個人對gMSA了解的并不多,但是在觀看了由Wald0和CptJesus主辦的《Bloodhound 3.0》網絡研討會之后,我對gMSA有了新的認識,而這個研討會主要討論了gMSA為什么應該在滲透測試中成為焦點。
分析之后我們了解到,一般來說除了授權管理員,目標設備上還可能會有更多的用戶賬號被授予了讀取gMSA密碼的權限,而gMSA帳戶通常會被授予管理員權限,有的時候甚至會被授予域管理權限。
那我們應該怎么去利用這種安全問題呢?我們如何才能收集到那些特權賬號的密碼呢?
因為目前社區有很多技術可以幫助我們生成傳入的NTLM身份驗證連接,而這種類型的身份驗證密碼都存儲在一個LDAP屬性之中。我認為最佳的解決方案,就是從ntlmrelayx中的LDAP屬性msDS-ManagedPassword中檢索密碼。
要通過NTLM中繼實現一條與LDAP的連接,我們必須確保中繼的身份驗證連接使用的是HTTP協議。由于連接所需的簽名數據位,我們無法中繼SMB認證連接,不過漏洞CVE-2019-1040能夠幫助我們繞過NTLM簽名保護機制,這樣我們就可以實現中繼SMB->LDAP了。
1、目標向攻擊者發送一個NTLM_NEGOTIATE數據包;
2、接下來,攻擊者將NTLM_NEGOTIATE數據包中繼至所選的目標服務器;
3、目標服務器向攻擊者發送應答信息,其中包含一個NTLM_CHALLENGE數據包;
4、攻擊者將NTLM_CHALLENGE數據包中繼至目標;
5、目標向攻擊者發送應答信息,其中包含一個NTLM_AUTHENTICATE數據包;
6、攻擊者將NTLM_AUTHENTICATE數據包中繼至目標服務器;
7、攻擊者現在將成功與目標服務器建立已認證的會話連接;
但遺憾的是,我沒有在ntlmrelayx中成功實現“Sealing & Secure”身份驗證。現在,我們必須中繼到LDAPS,而LDAPS只是通過SSL實現的LDAP,默認情況下活動目錄AD安裝是沒有這種配置的,因為不存在默認的可用證書。
# 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認證請求,我們可以通過以下幾種方式來實現,比如說:
1、ADIDNS通配符記錄
2、Responder
3、WPAD + Mitm6
4、利用一個存在漏洞的服務器來創建HTTP認證請求
接下來,使用下列命令將我的代碼庫克隆至你的本地主機中,安裝impacket,開啟ntlmrelayx,然后選擇你喜歡的方式來生成NTLM認證流量(關于如何生成NTLM認證流量的問題,本文不做過多描述):
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模塊對數據塊進行轉換,由于密碼存儲在隨機的Unicode字符中,所以我們還需要將明文密碼轉換為R**格式:
(ConvertFrom-ADManagedPasswordBlob <blob>).SecureCurrentPassword | ConvertTo-NTHash
NTLM至LDAP以及LDAPS的中繼攻擊可以通過啟用LDAP簽名以及LDAP信道綁定來進行攻擊預防。除此之外,不要給多余的賬號提供服務賬號權限或特殊權限,每個組織都應該遵循最低特權模式的最佳實踐方案。
感謝各位的閱讀!關于“gMSA是什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。