淺談Azure AD滲透

來源: 聯(lián)想全球安全實驗室
作者:聯(lián)想安全實驗室
時間:2021-12-01
16606
Azure AD(Azure Active Directory )是微軟基于云的身份和訪問管理服務(wù),它可以幫助員工登錄以及訪問以下位置的資源。

一、 什么Azure AD

Azure AD(Azure Active Directory )是微軟基于云的身份和訪問管理服務(wù),它可以幫助員工登錄以及訪問以下位置的資源:

● 外部資源,如 Microsoft 365、Azure 門戶及其他 SaaS 應(yīng)用程序。

● 內(nèi)部資源,如公司網(wǎng)絡(luò)和 Internet 上的應(yīng)用,以及由自己組織開發(fā)的云應(yīng)用。

下圖顯示了 Azure AD 與應(yīng)用程序之間的交互。

二、 Azure的安全功能

Azure AD 實現(xiàn)了基本的安全功能。如,具有密碼鎖定策略,若密碼輸錯10次,帳戶將鎖定 60 秒。還具備更高級的安全功能,但具體取決于訂閱的許可證。

1、條件訪問策略

Azure AD 使用條件訪問作為一種工具來統(tǒng)合信號、做出決策,以及實施組織策略。條件訪問是新的標識驅(qū)動控制平面的核心。

最簡單地講,條件訪問策略是一些 if-then 語句:如果用戶想要訪問某個資源,則必須完成某個操作。下圖表述的應(yīng)該更明確:

使用條件訪問策略需要 Azure AD Premium P1 許可證,以下是常見信號:

用戶或組成員身份

策略可以針對特定的用戶和組,并為管理員提供精細的訪問控制。

IP 定位信息

組織可以創(chuàng)建在做出策略決策時使用的受信任 IP 地址范圍。

管理員可以指定要阻止或允許的整個流量來源國家/地區(qū)的 IP 范圍。

設(shè)備

實施條件訪問策略時,用戶可以使用的裝有特定平臺或標有特定狀態(tài)的設(shè)備。

應(yīng)用程序

嘗試訪問特定應(yīng)用程序的用戶可以觸發(fā)不同的條件訪問策略。

實時風險和計算風險檢測

將信號與 Azure AD 標識保護相集成可讓條件訪問策略識別有風險的登錄行為。然后,策略可以強制用戶執(zhí)行密碼更改或多重身份驗證,以降低其風險級別,或者在管理員采取手動措施之前阻止其訪問。

Microsoft Defender for Cloud Apps

實時監(jiān)視和控制用戶應(yīng)用程序的訪問和會話,提高云環(huán)境中執(zhí)行的訪問和活動的透明度與控制度。

以下是常見決策:

阻止訪問

嚴格的決策

授予訪問權(quán)限

不嚴格的決策仍可要求以下一個或多個選項:

● 需要多重身份驗證

● 要求將設(shè)備標記為合規(guī)

● 要求使用加入混合 Azure AD 的設(shè)備

● 需要批準的客戶端應(yīng)用

● 需要應(yīng)用保護策略(預(yù)覽版)

以下是常用的策略:

● 要求對具有管理角色的用戶進行多重身份驗證。

● 需要對 Azure 管理任務(wù)進行多重身份驗證。

● 阻止嘗試使用舊身份驗證協(xié)議的用戶登錄。

● 需要用于 Azure 多重身份驗證注冊的受信任位置。

● 阻止或授予來自特定位置的訪問權(quán)限。

● 阻止有風險的登錄行為。

● 需要針對特定應(yīng)用程序的組織管理設(shè)備。

2、標識保護

● 標識保護功能為 P2 高級許可證的所有者提供了一個補充保護。

● 依靠他們在擁有 Azure AD 的組織中的職位獲得的數(shù)據(jù),Microsoft 能夠檢測到有風險的用戶行為。然后,條件訪問策略可以區(qū)別對待這些用戶。例如,如果用戶使用存在于泄露數(shù)據(jù)庫中的密碼,則可以將其識別為有風險。

● 檢測標準可以在Microsoft 文檔中找到。

3、安全默認值

Azure AD 的安全默認值,可防止密碼噴灑、重播和網(wǎng)絡(luò)釣魚等常見攻擊。

事實上,使用安全默認值,Azure 租戶的所有用戶都必須在 14 天內(nèi)注冊多重身份驗證服務(wù)。

14 天后,用戶在完成注冊之前無法登錄。以下敏感管理組的成員每次登錄時都需要執(zhí)行額外的身份驗證:

● 全局管理員

● SharePoint 管理員

● 交易所管理員

●  條件訪問管理員

● 安全管理員

● 服務(wù)臺管理員或密碼管理員

● 計費管理員

●  用戶管理員

●  認證管理員

在租戶中啟用安全默認值后,舊協(xié)議發(fā)出的所有身份驗證請求都將被阻止,這意味著使用 IMAP、SMTP 或 POP3 的客戶端將被拒絕。

特權(quán)操作(例如管理 Azure 資源管理器)將需要額外的身份驗證,即使通過 Azure PowerShell 或 Azure CLI 完成也是如此。

租戶是在 2019 年 10 月 22 日當天或之后創(chuàng)建的,該租戶會啟用安全默認值。

4、Azure AD的密碼保護

Azure AD 密碼保護可以檢測并阻止已知的弱密碼及其變種,還可以阻止特定于你的組織的其他弱口令。

Azure AD 密碼保護的設(shè)計遵循以下原則:

● 域控制器 (DC) 不與 Internet 直接通信。

● DC 上未啟動任何新網(wǎng)絡(luò)端口。

● 不需要 AD DS 架構(gòu)更改。該軟件使用現(xiàn)有的 AD DS 容器和 serviceConnectionPoint 架構(gòu)對象。

●不要求最低 AD DS 域或林功能級別 (DFL/FFL)。

● 該軟件不會在它保護的 AD DS 域中創(chuàng)建或要求帳戶。

●  用戶明文密碼永遠不會離開域控制器(無論是在密碼驗證操作期間,還是在其他任何時間)。

●  該軟件不依賴于其他 Azure AD 功能。例如,Azure AD 密碼哈希同步 (PHS) 與 Azure AD 密碼保護無關(guān)或后者不需要前者。

●  支持增量部署,但僅在安裝了域控制器代理(DC 代理)的情況下才會強制執(zhí)行。

本地 Azure AD 密碼保護組件的工作原理如下所示:

● 每個 Azure AD 密碼保護代理服務(wù)實例通過在 Active Directory 中創(chuàng)建 serviceConnectionPoint 對象,將自身播發(fā)到林中的 DC。

● Azure AD 密碼保護的每個 DC 代理服務(wù)還在 Active Directory 中創(chuàng)建一個 serviceConnectionPoint 對象。此對象主要用于報告和診斷。

● DC 代理服務(wù)負責發(fā)起從 Azure AD 下載新密碼策略的操作。第一步是通過在林中查詢代理 serviceConnectionPoint 對象,找到 Azure AD 密碼保護代理服務(wù)。

● 當找到可用的代理服務(wù)時,DC 代理向代理服務(wù)發(fā)送密碼策略下載請求。代理服務(wù)會將請求發(fā)送到 Azure AD,然后將響應(yīng)返回到 DC 代理服務(wù)。

●  DC 代理服務(wù)從 Azure AD 收到新的密碼策略后,該服務(wù)將該策略存儲在其域 sysvol 文件夾共享的根目錄中的專用文件夾內(nèi)。DC 代理服務(wù)還會監(jiān)視此文件夾,以確定是否從域中的其他 DC 代理服務(wù)復(fù)制了更新的策略。

● DC 代理服務(wù)始終在服務(wù)啟動時請求新策略。DC 代理服務(wù)啟動后,會每小時檢查一次當前本地可用策略的存在時間。如果策略存在時間超過一小時,DC 代理會通過代理服務(wù)從 Azure AD 請求新策略,如前所述。如果當前策略的存在時間不超過一小時,DC 代理將繼續(xù)使用該策略。

●  當 DC 收到接收密碼更改事件時,緩存的策略用于確定是接受還是拒絕新密碼。

5、日志記錄

Azure AD 有一個監(jiān)聽功能,可跟蹤登錄和配置更改。并將會將日志發(fā)送到 Azure Logs Analytics,以便進行進一步處理,且無需訂閱高級許可證。

三、淺談Azure AD滲透測試

1、探測

首先,輸入如下URL來探測公司是否使用Azure AD

如果NameSpaceType指示“托管”,則該公司正在使用 Azure AD。

2、郵箱枚舉

確定存在Azure AD后,便可構(gòu)造email列表,可使用o365creeper進行枚舉。

o365creeper是一個驗證屬于Office 365租戶的郵件帳戶的腳本。此腳本可使用郵件地址或列表進行枚舉,原理是發(fā)送一個空密碼的請求到Office 365,并通過判斷“IfExistsResult”參數(shù)設(shè)置值來確定結(jié)果,有效帳戶返回0,無效的帳戶將返回1。

下載:

使用:

這個操作不會在Azure AD 日志中留下任何痕跡

3、密碼噴灑

獲取有效電子郵箱列表后,可用密碼噴灑方式獲取賬戶憑證。

MailSniper

MailSniper 是一種滲透測試工具,可用于在 Microsoft Exchange 中搜索電子郵件并獲取密碼、內(nèi)部信息、網(wǎng)絡(luò)架構(gòu)等信息。

MailSniper 還可用于密碼噴灑、枚舉用戶和域等相關(guān)信息。

MSOLSpray

MSOLSpray也可匹配有效密碼,并且還會通過 Azure AD 的錯誤代碼來回顯更詳細的信息。如回顯帳戶上是否啟用 MFA、租戶/用戶存活、帳戶鎖定、帳戶禁用、密碼過期等相關(guān)信息。

4、信息收集

已獲取有效Azure AD憑證后,便可進行信息收集階段。

與Azure AD 交互的信息收集工具有很多,如o365recon、Stormspotter、Azucar、SkyArk、PowerZure、MSOline、MailSniper、ROADtools等

o365recon

o365recon是使用有效憑證檢索AzureAD 信息的腳本

使用:

可獲取有關(guān) Azure AD 租戶的大量信息,還可確認與本地 Active Directory 的同步以及相關(guān)服務(wù)器的主機名。

MSOnline

MSOnline可檢索租戶中當前角色和關(guān)聯(lián)角色成員的列表。

MailSniper

MailSniper可以收集郵箱地址

顯示電子郵件地址對應(yīng)的用戶名

顯示具有多重身份驗證的用戶

5、密碼提取

adconnectdump

adconnectdump提供了多種從 Azure AD Connect 服務(wù)器中提取和解密存儲的 Azure AD 和 Active Directory 憑證的方法。這些憑證在本地目錄和云中都具有高權(quán)限。

AD Sync中憑據(jù)地址:

訪問地址:

6、DCSync攻擊

使用 MSOL 帳戶可以執(zhí)行DCSync攻擊并復(fù)制所有域用戶密碼hash。

使用azuread_decrypt_msol.ps1可以恢復(fù) MSOL 帳戶的密碼:

● azuread_decrypt_msol.ps1: AD Connect 同步憑據(jù)提取 POC  https://gist.github.com/xpn/0dc393e944d8733e3c63023968583545

● azuread_decrypt_msol_v2.ps1:更新轉(zhuǎn)儲 Azure AD Connect Sync 的 MSOL 服務(wù)帳戶(允許 DCSync)的方法 https://gist.github.com/xpn/f12b145dba16c2eebdd1c6829267b90c

此時便可以使用檢索到的 MSOL 帳戶憑據(jù)來發(fā)起 DCSync 攻擊。

7、無縫單點登錄(SSO)銀票

具備編輯AZUREADSSOACCS$ 帳戶屬性的賬戶均可使用 Kerberos 模擬 Azure AD 中的任何用戶(不存在MFA情況下)

PHS 和 PTA 均支持 SSO。如果啟用SSO,則會在本地 AD 中創(chuàng)建一個計算機帳戶AZUREADSSOC,這里注意的是AZUREADSSOACC 帳戶的密碼永遠不會更改。

當用戶想要連接 Azure AD 時,域控制器會提供 Azure AD 的服務(wù)票據(jù),服務(wù)票據(jù)使用AZUREADSSOACC$計算機帳戶的密碼進行加密。

無縫單點登錄 (SSO)

為 Active Directory 用戶配置連接 Azure AD的單點登錄的措施,不需重新輸入密碼。

SSO 依賴于 Kerberos,因此具有相同的缺陷。當AZUREADSSOACC$遭到入侵,可以創(chuàng)建銀票。

創(chuàng)建銀票所需條件

● 用戶名

● 域名

●  AZUREADSSOACC$帳戶的NTLM Hash

●  SID

●  目標服務(wù)

例:

五、總結(jié)

Azure AD 其實是微軟對傳統(tǒng)AD的演進,引進了很多新的思想理念。同時具備多種安全功能,啟動這些功能后,會減少很多安全風險,云環(huán)境目前成為攻擊者的首選目標,因此企業(yè)更需要關(guān)注其安全性。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于聯(lián)想全球安全實驗室,本站不擁有所有權(quán),不承擔相關(guān)法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家