作者:百度安全實驗室
原文鏈接:https://mp.weixin.qq.com/s/XjzudJNIDEEa4zmOHE7-OQ
0x00概述
Ubiquiti(優倍快)網絡公司生產的網絡設備在全球有較廣泛的部署。2019年2月某安全團隊披露了基于Ubiquiti設備的AP發現服務實施的反射DDoS攻擊,攻擊發生在2018年7月,這是最早被爆出該公司網絡設備可被利用作為DDoS的反射放大器的案例。
攻擊披露后,Ubiquiti網絡公司即時發布了漏洞補丁,并提醒用戶升級更新。但近幾年來該公司的網絡設備一直被黑客頻繁利用發起DDoS反射放大攻擊。百度安全智云盾團隊在對抗DDoS攻擊中也經常攔截到此類反射攻擊流量。
0x01 攻擊態勢
1)攻擊趨勢
智云盾團隊持續關注Ubiquiti反射攻擊態勢,多次針對這類攻擊進行過跟蹤分析。在2020年監測到4301次Ubiquiti反射攻擊,并在去年十月達到頂峰。雖然Ubiquiti公司發布過補丁修復,但是從智云盾監測到的攻擊趨勢來看,公網上仍然存在大量的未實施修復的設備。

2)首次攻擊
2019年2月安全研究人員Troutman披露黑客自2018年7月開始利用Ubiquiti公司設備上的AP發現服務進行DDoS反射放大攻擊活動,Troutman表示黑客向Ubiquiti設備上開放UDP 10001端口的AP發現服務發送56字節的小數據包,設備立即回復206字節的數據包。之后另一安全研究人員Jon Hart表示,這類服務的放大倍數可以提高到30-35倍。
Ubiquiti網絡公司官方在關注到這些攻擊后確認了這一問題,并臨時提供了兩個解決方案:
1、非必要,禁用UDP 10001上的AP發現服務;
2、如果必須使用AP發現服務,開啟僅限內部網絡使用的ACL策略。之后官方第一時間發布新版本,用于增強該服務器的安全性。
攻擊首次披露后,Ubiquiti網絡公司統計共有485,000個設備向公網開放了UDP 10001端口,攻擊資源分布在全球各地。
0x02 技術分析
智云盾系統跟蹤這類攻擊時,自動對流量進行采樣,安全專家及時介入對采樣包進行深層次分析和演練。
1)攻擊分析
通過對智云盾的攻擊采樣包發現,反射流量的來源端口是10001端口,下圖紅色箭頭指向的是反射源端口

數據包中的payload明顯為某類設備名稱和版本,通過搜索分析,我們確定了這是Ubiquiti公司的設備和版本信息,采樣包中UDP攜帶的payload如下圖所示:

查詢Ubiquiti公司官網可知,他們在UDP10001上使用發現服務協議。這個協議格式與SSDP設備發現服務不同,沒有固定格式,為此我們將此類反射攻擊命名為UbiquitiDP Reflection,中文簡稱為Ubiquiti反射攻擊。
我們提取數據包中的設備名進行統計分析,分析發現有87%的設備名為Ubiquiti公司標準名稱,并能在公司的官網檢索到,但是有13%的數據包payload帶有HACKED(被黑)字樣,很明顯這些設備名已經被黑客惡意修改。

我們對含有HACKED的數據進行統計分析發現,分析發現每個名稱均以HACKED-ROUTER-HELP-SOS開頭,剩余字段有WAS-MFWORM-INFECTED、HAD、VULN-EDB-39710、FTP這四類,其中WAS-MFWORM-INFECTED占比67%,MFWORM表明這個設備已經被MF蠕蟲感染,我們查詢MF蠕蟲披露的資料很少。少部分設備包含FTP字樣,我們主動探測這些IP的FTP服務發現均關閉,我們推測這些服務器最早可能被黑客利用作為FTP服務。

2)Ubiquiti服務缺陷
造成此次攻擊的是Ubiquiti公司設備自帶的AP發現服務,該服務使用UDP傳輸數據,綁定在設備10001端口,響應任何UDP包。
該服務在設計之初便沒有按照UDP協議的安全規范實現,一方面開放到公網的UDP服務應當避免請求與響應存在倍率,另一方面UDP服務本身應對客戶端進行校驗。黑客向設備發送一個構造的UDP最小包,該服務便會返回一個或多個UDP大包,請求與響應相差數倍。
3)攻擊模擬
我們在攻擊模擬的過程中發現,大多數反射源在收到單個請求時只回復一個響應包,但是有少數反射源在收到單個請求后,會響應海量的UDP大包,每個數據包長固定。我們分別對這兩類反射源進行分析,結果如下:
A單包反射
安全專家對該事件深入分析,同時從智云盾威脅中心提取到的請求流量進行對比,并完成攻擊場景模擬,模擬過程中抓包如下:

圖6中模擬發送了載荷長為4字節的UDP小包向反射源傳輸無驗證數據,反射源返回載荷長為512字節的數據包,返回的UDP大包payload包含了Ubiquiti公司的設備信息。
B海量包反射
我們在選取反射源發起請求時,發現有少數IP地址在發送任意內容的UDP請求后,會響應超量的UDP大包,最多的一個反射源響應了3510個UDP大包。
我們向其中一個反射源發送一個空載荷的請求包,并抓包分析,下圖展示了發包過程:


服務器共響應3510個UDP大包(去掉一個請求包),每個數據包長度固定為1370字節,下圖展示了我們發送的空請求與服務器的響應。


在測試過程中,我們分別發送空請求、小包和大包UDP請求到反射源,每次均收到海量的UDP大包。這些反射源對任何UDP請求均會響應大量的數據包,危害較大。
我們在單包反射中發送一個請求載荷為4字節的數據包,收到一個載荷長512字節的響應包。在海量包反射中發送一個0字節的數據包,收到總共3510個載荷長為1328字節的海量數據包。在智云盾系統監測到具備響應超量UDP大包的IP共計127個。截止到目前,這些IP仍然可以響應海量UDP大包。
0x03 放大倍數
按照我們前期對反射放大倍數的研究,采用科學的統計放大倍數時,請求響應的包頭甚至網絡間隙都要考慮在內。詳細的方案可以參閱《Memcached DRDoS攻擊趨勢》一文。
科學的計算方式還應該考慮每包的網絡間隙20字節,沒有包括FCS字段的4個字節,另外數據包小于60字節會被自動填充到60字節。
協議頭和網絡幀間隙計算為:14(以太頭)+20(IP頭)+8(UDP頭)+4(FCS頭)+20(幀間隙)=66字節。
單包反射中計算得到的放大倍數為(512+66)/(60+20+4)=6.88倍。
海量包反射計算得到的放大倍數為(1328+66)*3510 / (60+20+4)= 58249.29倍。
如果按照傳統方式(攻擊載荷之比)計算海量包反射的放大倍數:1328*3510 / 0(空請求)= ∞,那么得到的結果為無窮大,可見這個計算方式存在理論缺陷。
0x04 全網數據
1)Ubiquiti公司介紹
Ubiquiti公司主要在全球范圍內設計、制造和銷售創新性的網絡設備。主品涵蓋了無線設備,安全網關,交換機,遠程管理控制器和攝像機這五種設備。目前Ubiquiti公司的產品部署在全球超過180個國家和地區。
Ubiquiti公司的設備在10001端口會開啟AP發現服務,該服務采用UDP傳輸數據,并且支持客戶端采用組播或者單播的請求方式進行數據交互。
2)反射源
智云盾共捕獲到的反射源達到39002個。通過對反射源IP進行調查發現。反射源分布在全球82個國家和地區,其中42%的反射源分布在美國。驗證發現這些設備都為Ubiquiti公司的設備并且10001端口對公網UDP請求數據包都響應,TOP10地區分布如下圖:

從zoomeye上對全球10001端口進行檢索發現,全球約有百萬臺公網設備主動暴露了10001端口。這些設備都將可被用作反射源進行攻擊,如下圖所示:

我們在zoomeye上查詢被攻擊者惡意修改主機名的數據發現,共計8W多Ubiquiti設備被惡意修改了主機名。

0x05 防范建議
此次攻擊是黑客利用固定設備廠商的UDP服務缺陷發起的DDoS反射放大攻擊。反射攻擊相比較傳統的洪泛攻擊具有更好的隱蔽性,并且流量更大的特點。從我們近期對新型攻擊的監測發現,黑客在尋找新的攻擊方式上不再拘泥于傳統公共服務,而是對暴露在公網,并且具備一定規模的UDP服務都嘗試利用作為反射源。
針對此次攻擊行為我們建議相關廠商參考下面方式提升防護能力。
對Ubiquiti公司:
10001的AP發現服務應該限制請求響應字節數比例為1:1
對使用Ubiquiti公司設備的企業用戶:
1.在設備或者上層交換機配置策略,限制非本網段的UDP包請求10001端口.
2.遵循Ubiquiti的建議,禁止使用AP發現服務
3.如果必須使用AP發現服務,升級開放10001端口的AP發現服務為最新版
0x06 智云盾團隊介紹
智云盾防護系統基于百度安全成熟的防御技術,為數據中心建設安全基礎設施。具備本地快速檢測和防御DDoS,同時能自動化拓展T級云防。并集成一系列百度安全能力,在提高數據中心防御DDoS基礎上,具備完善的安全威脅檢測和防御能力。
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1519/
暫無評論