懸鏡安全丨德國電信斷網事件詳細分析:mirai僵屍網路的新變種和舊主控
昨天小編說到德國電信斷網事件,導致2千萬固定網路使用者中的90萬路由器發生障礙,今天我們就來分析一下導致此次事件的原因以及可能出現的問題和已經存在的問題等。
備註:本文是360安全研究員 Li Fengpei原創,轉載來自freebuf。如需轉載,請標註原創作者以及轉載地址。
前言
德國電信在2016年11月28日前後遭遇一次大範圍的網路故障。
在這次故障中,2千萬固定網路使用者中的大約90萬個路由器發生故障(約4.5%),並由此導致大面積網路訪問受限。
很多媒體給出了網路受限的示意圖,如下。
德國電信進一步確認了問題是由於路由裝置的維護介面被暴露在網際網路上、並且網際網路上正在發生針對性的攻擊而導致。
德國電信連夜與裝置供應商生成了新的升級包,並且要求客戶如果懷疑受到影響就斷電重啟路由器,之後利用自動/手動的升級過程來減輕問題顯然,德國電信還採取了一系列的過濾措施來保證升級過程不受攻擊影響。
德國電信對該事件給出了較為詳細的描述。
https://www.telekom.com/en/media/media-information/archive/information-on-current-problems-444862
按照360網路安全研究院對這次事件以及mirai僵屍網路的理解,這次事件前後的時間脈絡如下(以下均為北京時間):
1.2016-11-07,kenzo釋出了一個針對7547埠上路由器等裝置的TR-069/TR-064相關的安全公告;
2.2016-11-26 21:27:23 360網路安全研究院首次探測到mirai僵屍網路發起了針對 7547 埠的掃描;
3.2016-11-26 ~ 2016-11-28,埠7547上的mirai僵屍網路規模積累到足以影響大面積網路;
4.2016-11-28 telekom 德國電信累積大約90萬個路由器被mirai僵屍網路的掃描過程打宕,網路大面積受影響
5.2016-11-28 ~ 至今 telekom 德國電信在自身網路範圍內採取措施遏制mirai僵屍網路的掃描過程。
概述
眾所周知,mirai的原始碼在北京時間2016-09-30附近洩漏,隨後被託管到GitHub上。
自那以後,不管是黑帽子還是白帽子都對mirai的原始碼進行了大量深入的分析。
換句話說,隨著時間的推移,各路新玩家終將逐漸入場,目前為止我們的觀察也映證了上述觀點。
我們已經發現了若干mirai的新變種,例如出現了新的主控域名,或者登入介面從俄文變為英文/中文,也有一些明顯還是新玩家摸索階段的設定,比如將主控域名設為8.8.8.8或者baidu.com。
基於種種mirai變種,我們推測mirai家族對網路空間安全的威脅將會長期持續,週期也許會以年為單位計。
11月26日21點27分, 一個新的變種引起了我們的注意。
之前的Mirai各種變種基本都是小改動,核心內容掃描23和2323埠上弱口令的行為模式沒有變化.
但是這個變種出現了掃描TCP 埠7547遠端命令執行漏洞的行為,這是利用了最近新公佈的一個安全公告中提到的問題,將感染目標轉移到支援TR-069/TR-064並錯誤暴露TR-064的裝置.
bot掃描埠也隨之轉移到7547,感染過程利用了TR-064實現中存在的命令注入問題。
該變種仍然會掃描mirai傳統的埠23/2323,但是使用的弱口令進一步精簡到精心挑選的三組密碼。
這種變化表明,mirai洩漏原始碼已經逐步成為成熟的開發包,一旦有新的(也許是舊的)裝置弱口令被發現,很快就會被mirai家族感染。
這其中,掃描埠7547而非23和2323、利用遠端命令執行漏洞而非弱口令種植木馬都與既往mirai的行為顯著區分。
另一方面,儘管這個新變種有若干變化,它仍然重用了mirai的部分程式碼,進而順帶繼承了mirai程式碼中的缺陷,並與既有mirai僵屍網路共享控制端基礎設施。
11月27日17點04分,我們監測到又出現一個變種,和26日的新變種類似,這次的變種出現了掃描TCP埠5555的行為。
從我們的統計資料上來,這兩個變種處於異常活躍的狀態,同時從國外合作伙伴的資料來看,這兩個變種的掃描範圍造成了世界範圍的影響,日記錄的活躍掃描源在百萬級別。
鑑於mirai的原始碼已經公開, 結合上述兩個變種的行為,我們深度擔憂mirai會成為一個ddos攻擊庫的母體,通過模組化對原始碼部分內容進行更新,就可以隨時增加對新的漏洞的支援。
資料更新
我們在http://data.netlab.360.com/mirai-scanner提供了對mirai感染裝置的各種統計和資料下載供研究者使用。
根據新觀察到的資料,我們更新了data.netlab.360.com上的mirai監控頁面,並且將對應樣本的md5和域名附錄在文末。
對已經使用API訪問我們提供bot list的合作者,請重新下載2016-11-26及以後的資料以獲得7547及5555埠資料的更新。
新Mirai變種的僵屍網路能力評估
目前活躍的所有已知版本的mirai(包括今天報告的在埠7547和5555的)由於編碼手法問題,導致可以精確定位和標示來自mirai的掃描行為。
如前所述,我們在2016-11-26首次觀察到7547埠上的新變種,一天後的2016-11-27首次觀察到5555埠上的新變種。
在各個埠上首次發現掃描時間對比
每日bot規模增長情況(最右側的的藍色和紅色是新增加的這兩個變種)
按照當前的增速排名,四個埠上bot的增長速度分別是:
當前埠7547上的bot增長速度已經遠超過了已知 埠23/2323上的bot數量增速。
當前埠7547上的bot總量已經超過3萬;我們從安全社群合作伙伴處得知,全網潛在的可感染裝置總數量在3~5百萬之間。
這也是促使我們撰寫本blog的原因之一。
埠 7547 上bot增速曲線,分解到每十分鐘:
上圖顯示,Bot的增速很快就達到一個高峰,並且平穩的維持在較高水平上。
另一方面,在整個網際網路的視角來看,埠7547的掃描在2016-11-26日晚間開始有急劇的上升。
在新變種的感染bot的地理分佈方面,巴西依然遙遙領先,與既有mirai僵屍網路的地理分佈保持一致。
新變種共享了既有mirai僵屍網路主控的基礎設施
通過分析和網路追蹤,我們得到了埠7547上的mirai變種樣本。進一步分析樣本發現,樣本中的主控有兩組,如下。
值得注意的是,這兩組主控都是之前已經發現並跟蹤的mirai殭屍主控。
我們最早在2016-11-09就已經在其他樣本中發現了同時出現兩組主控的情況,並且那兩組主控就是本次新變種中涉及的這兩組。
也就是說,這次利用7547漏洞的新變種和之前的mirai最開始的使用者是一組人。
*.securityupdates.us
*. timeserver.host
目前我們可以斷言以下這四組主控背後的控制者是同一組人
判定的依據有下面這些:
1.在本次發現的樣本中(以及最早在2016-11-09發現的樣本),一個樣本中同時出現了securityupdates.us和timeserver.host兩組C&C控制伺服器。
2.上述四組域名大量共享IP地址,特別是5.188.232.1/24這個C類段,幾乎所有的IP地址都擁有完全相同的掃描banner。
3.有意思的是,在我們內部不久前做的一個數據觀察的視覺化圖形中,我們也的確可以看到securityupdates.us和timeserver.host這兩個主控下的感染bot有較高的重合度,這從另外一個維度驗證了這兩個主控有一定關係。
新變種與既有mirai僵屍網路在bot列表上也有一定覆蓋交叉
整體四個埠 23/2323/5555/7547 的botIP列表也有一定交叉覆蓋。
可以看出:
1.主要的bot還是僅僅掃描23埠上,佔了79%;加上順帶掃描2323埠的11%、以及僅僅掃描2323埠的6.4%,共計96.4%,這佔據了當前mirai僵屍網路的絕對大頭;
2.僅僅掃描 7547 埠的bot有 3.1%,考慮到當前這個埠上僅工作了3天,mirai的在這個埠上感染速度仍然是驚人的;
3.其他交叉掃描的所有bot合併攻擊佔據0.5%,目前仍然不是主體。
新變種的裝置特性
我們彙總了手頭所有7547相關的botIP列表,共計46653個。我們嘗試讀取這些IP的裝置型號,共計獲得了5976個迴應。
這裡的樣本耗損比較大,我們反覆嘗試了多次,相信可以排除網路抖動情況,剩下的損耗我們歸因為mirai;
也許是因為裝置上的開放埠被mirai關閉,也許是因為裝置當時網路忙。
我們篩選了返回的5976個迴應中個數超過10個的細分類,列出他們的生產廠商(打碼)、型號列表如下。
我們建議這些廠商聯合他們的客戶一起對上述情況做出適當響應以減輕mirai的危害程度,但同時仍然必須強調這些只是我們能夠看到的冰山一角,也許還需要更多其他裝置廠商一起來做更多的網路安全工作。
相關安全公告
2016-11-07,kenzo/kenzo2017在devicereversing.wordpress.com上釋出了一個TR-064相關的安全公告。原文見:
https://devicereversing.wordpress.com/2016/11/07/eirs-d1000-modem-is-wide-open-to-being-hacked/ 理解該公告的技術細節有助於理解mirai新變種的行為。
公告中公開了Eir D1000 Modem的一個配置錯誤和一個命令注入問題。
該配置錯誤使得原本僅應該暴露在LAN一側的TR-064協議棧暴露在了WAN一側;
而對命令注入手段的充分利用可以使得攻擊者完全接管裝置。
Eir D1000 Moden向網際網路暴露了埠7547。
該埠上運行了兩組協議,TR-069和TR-064,前者設計為在WAN上執行,而後者僅設計為在LAN側執行。
正常情況下在網際網路上無法與TR-064協議棧互動,但是由於該裝置的錯誤配置,該協議棧被暴露在WAN上,形成一個攻擊面。
公告中提及,在該裝置上可以執行TR-064中的多個命令,包括獲取裝置資訊、獲取裝置WiFi密碼、獲取裝置SSID/MAC、設定時間伺服器等等。
特殊的,在設定時間伺服器的時候存在一個命令注入漏洞,利用該漏洞可以執行該裝置上busybox的諸多命令,比如可以設定iptables來關掉裝置上80埠管理員介面的防火牆。
而要命的是,管理員介面的登入密碼,就是前面提到可以獲取的裝置WiFi密碼。
組合使用上述配置錯誤/漏洞,可以使得攻擊者在WAN側獲得裝置的完全控制權。
Kenzo在公告中給出了一個利用的概念驗證。
該公告中還有其他若干槽點可看。不過我們的注意力集中在網路側的技術特徵,包括:
1.開放埠為7547,這意味著新變種的bot需要發起針對該埠的掃描。
2.體系架構為MIPS。概念驗證中提到的兩個Targets分別是MIPS的大端和小端。
另外在安全社群的其他資訊源中,我們瞭解到埠5555上也同樣運行了TR-069/TR-064協議,並且有其他mirai變種開始掃描了上述埠。
我們的資料中,映證了以上關於埠5555/7547的說法。
新mirai變種的感染和植入過程
新變種的感染和植入過程已經被安全社群廣泛討論,例如下面的這篇文章,這裡不再贅述,讀者可以自行擴充套件閱讀。
https://badcyber.com/new-mirai-attack-vector-bot-exploits-a-recently-discovered-router-vulnerability/
值得一提的有這麼一些地方:
1.新變種的樣本覆蓋了多個平臺,如下列表:
在諸多解釋中,我們選擇相信這可能反映了攻擊者的工程環境比較成熟,攻擊者已經擁有較為成熟的交叉編譯工程環境,新的掃描方式出現後順手就編譯了多種平臺樣本。
2.精簡所使用的弱口令集合 這一變種裡,針對23/2323 埠弱口令字典已經精簡到了3條。
root xc3511
root vizxv
root admin
對照下表中已經公開的弱口令可知,前述第一對弱口令是針對雄邁裝置的;第二對是針對大華裝置的。
第三條適用範圍較廣,沒有明確的指向性。
附錄
IOC, MD5
dc2464aefa7ba00eeccbd18baceeb9e9
a4487a7b2040de43ba3e0d7468f070c7
238a67e6f9b129680b618a3c579a8c6c
a490bb1c9a005bcf8cfe4bdffe7b991f
0dd3e7899183e93e5967e87ac6ea48a9
83bb43a36c49496a96f41926d80ec97d
99f9e7c6d7786555a7d067220b3c0d7d
a00a630b5f2c5e142f35c9df7df9f919
b6e0b8327fa3ab5abe761fb627a9cba1
域名
kernelorg[.]download
update[.]kernelorg[.]download
securityupdates[.]us
check[.]securityupdates[.]us
rep[.]securityupdates[.]us
timeserver[.]host
ntp[.]timeserver[.]host
ocalhost[.]host
l[.]ocalhost[.]host
置頂懸鏡安全實驗室公眾號,給你最新,最有料的資訊,安全技術乾貨。
有料丨有趣丨行業丨觀點丨