注意!Exchange SSRF 漏洞安全預警通告
微軟的 Exchange 先前被爆出存在 SSRF 漏洞,漏洞編號為: CVE-2018-8581 。此漏洞先前被公開的利用方案可導致攻擊者在擁有目標網路一個郵箱許可權的情況下接管網路內任何人的收件箱(下文中將此利用方案將被稱為“攻擊方案一”),造成嚴重的資訊洩露。
360 A-TEAM 一個月前就此漏洞可造成的另一更嚴重後果(即攻擊者可利用此漏洞直接控制目標網路內的 Windows 域進而控制域內所有 Windows 機器,下文中將此方案稱為“攻擊方案二”)聯絡微軟官方 SRC ,當時官方 SRC 表示並不願意為此問題推出修復補丁(近日有微軟官方人員表示將在二月釋出安全補丁)。現該方案已被國外安全研究人員公開。
需要注意的是,微軟在以下連結中為 CVE-2018-8581 所推出的緩解措施對緩解“攻擊方案二”沒有任何幫助,其只能在一定情況下緩解“攻擊方案一”。
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2018-8581
360安全監測與響應中心將持續關注該漏洞進展,並第一時間為您更新該漏洞資訊,您也可以關注我們的新公眾號獲取相關資訊以及今後的預警資訊。
文件資訊
文件名稱 |
Exchange SSRF 漏洞安全預警通告第三次更新 |
關鍵字 |
Exchange SSRF |
釋出日期 |
2019年1月22日 |
分析團隊 |
360安全監測與響應中心 |
漏洞描述
微軟的 Exchange 先前被爆出存在 SSRF 漏洞,漏洞編號為: CVE-2018-8581 。近日該漏洞的另一利用方法被國外安全研究人員公開,攻擊者利用此漏洞可直接控制目標網路內的 Windows 域進而直接控制域內所有 Windows 機器。
攻擊者在已經進入目標網路並且滿足以下任一條件後,可嘗試觸發此漏洞:
1. 擁有目標網路內任意使用者的郵箱許可權
2. 攻擊者已控制目標網路內的任意一臺與域內機器在同一網段的機器,併成功針對域內機器發起 windows name resolution spoofing 攻擊
若漏洞利用成功,可導致目標網路內的 Windows 域被控制,進而導致域內所有 Windows 機器被控制。
風險等級
360安全監測與響應中心風險評級為: 高危
預警等級: 藍色預警 (一般網路安全預警)
影響範圍
Microsoft Exchange Server 2010
Microsoft Exchange Server 2013
Microsoft Exchange Server 2016
Microsoft Exchange Server 2019
注: Exchange 許可權模型分為 Split Permission Model 與 Shared Permission Model (預設),採用 Split Permission Model 的 Exchange 伺服器不受此攻擊方案影響。
處置建議
參考建議
1. 參考以下連結將 Exchange 許可權模型更改為 Split Permission Model :
https://docs.microsoft.com/en-us/exchange/understanding-split-permissions-exchange-2013-help
https://docs.microsoft.com/en-us/exchange/managing-split-permissions-exchange-2013-help
2. 給所有域控伺服器配置 Ldaps Channel Binding 。
(注意此操作需要較高的 IT 水平,有可能造成相容性問題,請聯絡微軟獲取詳細的操作指南)
檢測方案
-
將以下程式碼儲存至域控伺服器,檔案命名為 check_dcsync.ps1
Import-Module ActiveDirectory
$Root = [ ADSI ] "LDAP://RootDSE"
$domain = -Join( "AD:\" , $Root.Get ( "rootDomainNamingContext" ))
echo $domain
cd $domain
$AllReplACLs = ( Get-AcL ).Access | Where-Object {$_ .ObjectType -eq '1131f6ad-9c07-11d1-f79f-00c04fc2dcd2' -or $_ .ObjectType -eq '1131f6aa-9c07-11d1-f79f-00c04fc2dcd2' }
foreach ( $ACL in $AllReplACLs )
{
$user = New-Object System.Security.Principal.NTAccount( $ACL.IdentityReference )
$SID = $user.Translate ([ System.Security.Principal.SecurityIdentifier ])
$RID = $SID.ToString ().Split( "-" )[ 7 ]
if ([ int ] $RID -gt 1000 )
{
Write-Host "Permission to Sync AD granted to:" $ACL.IdentityReference
}
}
2. 執行 check_dcsync.ps1
3. 如果看到了有使用者名稱輸出,說明域記憶體在具備特殊許可權的使用者,很可能是遭到了相關的攻擊行為導致,需要請求專業安全團隊協助調查:
時間線
[1] 2018-12-31 360安全監測響應中心釋出安全預警通告
[2] 2018-12-22 360安全監測響應中心釋出安全預警通告第二次更新
[3] 2018-12-22 360安全監測響應中心釋出安全預警通告第三次更新