大量西數(shù)硬盤被格式化,原因或是黑客互相攻擊:還有新漏洞
上周四,大量西部數(shù)據(jù) My Book 移動(dòng)硬盤用戶數(shù)據(jù)被遠(yuǎn)程清空的事件引發(fā)了眾人關(guān)注。由于西數(shù)官方要求用戶拔掉網(wǎng)線,事情開始變得有些混亂。
本周,又有安全人員爆出了這些硬盤還存在新的漏洞。
一項(xiàng)調(diào)查顯示,攻擊者對(duì)于 My Book Live 存儲(chǔ)設(shè)備的大規(guī)模擦除不僅涉及利用 2018 年的老漏洞,還涉及第二個(gè)關(guān)鍵安全漏洞,該漏洞允許黑客在沒有密碼的情況下遠(yuǎn)程執(zhí)行恢復(fù)出廠設(shè)置。
更值得注意的是,根據(jù)漏洞代碼的情況來看,西部數(shù)據(jù)的開發(fā)者有意去除了恢復(fù)出廠設(shè)置時(shí)需要驗(yàn)證用戶名和密碼的步驟。
身份驗(yàn)證檢查程序被注釋掉
這個(gè)未被記錄的漏洞位于一個(gè)名為 system_factory_restore 的文件中。該文件包含一個(gè)可執(zhí)行重置 PHP 腳本,允許用戶恢復(fù)所有默認(rèn)配置和擦除存儲(chǔ)在設(shè)備上的所有數(shù)據(jù)。
通常情況下,恢復(fù)出廠設(shè)置需要用戶提供用戶密碼。這種身份驗(yàn)證確保暴露在互聯(lián)網(wǎng)上的設(shè)備只能由合法所有者重置,而不是由惡意攻擊者重置。
但是,如下面的腳本所示,西部數(shù)據(jù)開發(fā)人員創(chuàng)建了 5 行代碼來對(duì) reset 命令進(jìn)行密碼保護(hù)。由于未知的原因,身份驗(yàn)證檢查被取消了,或者用開發(fā)人員的話說,它被注釋掉了,如每行開頭的「//」符所示。
- function post($urlPath, $queryParams = null, $ouputFormat = 'xml') {
- // if(!authenticateAsOwner($queryParams))
- // {
- // header("HTTP/1.0 401 Unauthorized");
- // return;
- // }
安全專家兼網(wǎng)絡(luò)發(fā)現(xiàn)平臺(tái) Rumble 的首席執(zhí)行官 HD Moore 認(rèn)為:「在系統(tǒng)恢復(fù)端點(diǎn)中注釋掉身份驗(yàn)證的供應(yīng)商,這種做法不會(huì)讓事情有利于他們,就好像他們故意啟用了旁路?!?/p>
「要利用此漏洞,攻擊者必須知道觸發(fā)重置的 XML 請(qǐng)求的格式。這不像使用 GET 請(qǐng)求訪問隨機(jī) URL 那樣容易,但也不是那么難以做到,」Moore 說。
我的數(shù)據(jù)哪去了?
在發(fā)現(xiàn)第二個(gè)漏洞的前五天,全世界的人都報(bào)告說,他們的 My Book Live 設(shè)備遭到破壞,然后恢復(fù)出廠設(shè)置,所有存儲(chǔ)的數(shù)據(jù)都被清除。My Book Live 是一種書本大小的存儲(chǔ)設(shè)備,它使用以太網(wǎng)接口連接到家庭和辦公室網(wǎng)絡(luò),以便連接的計(jì)算機(jī)可以訪問其中的數(shù)據(jù)。授權(quán)用戶還可以通過 Internet 訪問他們的文件并進(jìn)行配置更改。西部數(shù)據(jù)在 2015 年對(duì)舊版 My Book Live 停止了技術(shù)支持。
西部數(shù)據(jù)人員在發(fā)現(xiàn)大規(guī)模擦除數(shù)據(jù)后發(fā)布了一份公告,稱這是攻擊者利用 CVE-2018-18472 造成的。安全研究人員 Paulos Yibelo 和 Daniel Eshetu 在 2018 年底發(fā)現(xiàn)了遠(yuǎn)程命令執(zhí)行漏洞。因?yàn)樗谖鞑繑?shù)據(jù)停止支持 My Book Live 三年后曝光,就像此前人們所報(bào)道的一樣,該公司從未去修復(fù)它。

在 Arstechnica 和安全公司 Censys 的 CTO Derek Abdine 進(jìn)行的一項(xiàng)分析發(fā)現(xiàn),上周遭到大規(guī)模黑客攻擊的設(shè)備也受到了利用未授權(quán)重置漏洞的攻擊。在從兩個(gè)被攻擊的設(shè)備提取的日志文件中記錄了攻擊。
其中一個(gè)日志文件發(fā)布在西部數(shù)據(jù)支持的論壇上,它顯示有人從 IP 地址為 94.102.49.104 成功恢復(fù)一個(gè)設(shè)備:
- rest_api.log.1:Jun 23 15:46:11 MyBookLiveDuo REST_API[9529]: 94.102.49.104
- PARAMETER System_factory_restore POST : erase = none
- rest_api.log.1:Jun 23 15:46:11 MyBookLiveDuo REST_API[9529]: 94.102.49.104 OUTPUT System_factory_restore POST SUCCESS
第二個(gè)日志文件從被攻擊者入侵的 My Book Live 設(shè)備上獲取,文件顯示另一個(gè) IP 地址為 23.154.177.131,利用了相同的漏洞。如下所示:
- Jun 16 07:28:41 MyBookLive REST_API[28538]: 23.154.177.131 PARAMETER
- System_factory_restore POST : erase = format
- Jun 16 07:28:42 MyBookLive REST_API[28538]: 23.154.177.131 OUTPUT
- System_factory_restore POST SUCCESS
在將這些發(fā)現(xiàn)提交給西部數(shù)據(jù)后,安全人員收到了以下回復(fù):「我們可以確認(rèn),至少在某些情況下,攻擊者利用了命令注入漏洞 (CVE-2018-18472),其次是恢復(fù)出廠設(shè)置漏洞。目前尚不清楚為什么攻擊者會(huì)利用這兩個(gè)漏洞。我們將為恢復(fù)出廠設(shè)置漏洞請(qǐng)求 CVE,并將更新我們的公告以包含此信息?!?/p>
漏洞被密碼保護(hù)了
這一發(fā)現(xiàn)提出了一個(gè)棘手的問題:如果黑客已經(jīng)通過利用 CVE-2018-18472 獲得了完全的 root 訪問權(quán)限,那么他們對(duì)第二個(gè)安全漏洞有什么需要?目前還沒有明確的答案,但根據(jù)現(xiàn)有的證據(jù),Abdine 提出了一個(gè)貌似合理的理論,即一名黑客首先利用 CVE-2018-18472 進(jìn)行攻擊,而另一名競爭對(duì)手隨后利用了另一個(gè)漏洞,試圖奪取那些已經(jīng)受到攻擊的設(shè)備的控制權(quán)。
攻擊者利用 CVE-2018-18472 提供的代碼執(zhí)行能力修改了 My Book Live 堆棧中名為 language_configuration.php 的文件,該文件就是漏洞所在位置,根據(jù)恢復(fù)文件,修改代碼添加了以下幾行:
- function put($urlPath, $queryParams=null, $ouputFormat='xml'){
- parse_str(file_get_contents("php://input"), $changes);
- $langConfigObj = new LanguageConfiguration();
- if(!isset($changes["submit"]) || sha1($changes["submit"]) != "56f650e16801d38f47bb0eeac39e21a8142d7da1")
- {
- die();
- }
此更改阻止任何人在沒有與加密 SHA1 hash 56f650e16801d38f47bb0eeac39e21a8142d7da1 對(duì)應(yīng)的密碼的情況下利用該漏洞。事實(shí)證明,這個(gè)哈希密碼是 p$EFx3tQWoUbFc%B%R$k@。
從被黑客攻擊的設(shè)備中恢復(fù)的另一個(gè)修改后的 language_configuration.php 文件使用了不同的密碼,對(duì)應(yīng)于哈希值 05951edd7f05318019c4cfafab8e567afe7936d4。黑客利用第三個(gè)哈希值 b18c3795fd377b51b7925b2b68ff818cc9115a47 對(duì)一個(gè)名為 accessDenied.php 的單獨(dú)文件進(jìn)行密碼保護(hù)。這很可能是為了防止西部數(shù)據(jù)對(duì) language_configuration 的修補(bǔ)。
迄今為止,破解這兩個(gè)哈希值的嘗試還沒成功。
根據(jù)西部數(shù)據(jù)公告的內(nèi)容,一些 My Book Live 硬盤被黑客攻破經(jīng)由的漏洞是 CVE-2021-18472,感染了名為 .nttpd,1-ppc-be-t1-z 的惡意軟件。該惡意軟件在使用 PowerPC 的硬件上運(yùn)行,My Book Live 就是這樣的設(shè)備。
在西數(shù)的論壇中一位用戶報(bào)告稱,遭到黑客入侵的 My Book Live 收到了此惡意軟件,該木馬使設(shè)備成為了名為 Linux.Ngioweb 的僵尸網(wǎng)絡(luò)的一部分。
一種可能性
所以,為什么那些成功將如此多 My Book Live 設(shè)備卷入僵尸網(wǎng)絡(luò)的黑客要突然把東西都刪光呢?為什么他們?cè)谝褤碛?root 權(quán)限的情況下會(huì)使用未記錄的身份驗(yàn)證繞過?
看起來,最有可能的答案是大規(guī)模擦除和重置是由另一波攻擊者造成的,很可能是一個(gè)試圖控制競爭對(duì)手僵尸網(wǎng)絡(luò),或只是想破壞它的競爭對(duì)手。
「至于大規(guī)模 POSTing 到 [sysem_factory_restore] 端點(diǎn)的動(dòng)機(jī),我們還不知道,可能是競爭對(duì)手的僵尸網(wǎng)絡(luò)運(yùn)營商試圖接管這些設(shè)備或使它們無用,或者是有人想要以其他方式在搞破壞。這些設(shè)備可能已經(jīng)被入侵過了一段時(shí)間,畢竟漏洞早在 2015 年就已存在了?!笰bdine 表示。
不論如何,第二個(gè)漏洞的發(fā)現(xiàn),意味著 My Book Live 比你想象得還要不安全。它或許才是西部數(shù)據(jù)讓所有用戶立即拔掉網(wǎng)線的真正原因——任何擁有這些硬盤的用戶都應(yīng)該立即這樣做。
那么如何存儲(chǔ)自己的資料才能更安全?對(duì)于那些瞬間丟失數(shù)年寶貴資料的同學(xué)們,再買一塊西數(shù)硬盤怎么想都是不可能的。不過 Abdine 表示,西數(shù) My Book 目前的在售產(chǎn)品和涉事 My Cloud Live 設(shè)備具有不同的代碼庫,其中不包含最近大規(guī)模擦除中利用的任何一個(gè)漏洞。
「我也查看了 My Cloud 固件,」Abdine 說道?!杆?jīng)過了完全的重寫,只有很少一些地方和舊版相似。所以它們之間不會(huì)有相同的問題?!?/p>