2020 年 12 月,SolarWinds 攻擊席卷全球。雖然供應(yīng)鏈攻擊已經(jīng)成為許多 APT 攻擊者利用的有記錄的攻擊媒介,但由于攻擊者的極端謹(jǐn)慎和受害者的高價(jià)值性,這一特定活動(dòng)脫穎而出。據(jù)信,當(dāng) FireEye 發(fā)現(xiàn)該活動(dòng)的第一個(gè)攻擊樣本時(shí),攻擊者(DarkHalo又名Nobelium)已經(jīng)為使用它一年多了。迄今為止收集到的證據(jù)表明,DarkHalo 在 OrionIT 的網(wǎng)絡(luò)中花了六個(gè)月的時(shí)間來完善他們的攻擊,并確保他們對(duì)供應(yīng)鏈鏈的篡改不會(huì)造成任何不利影響,從而降低被發(fā)現(xiàn)的概率。
第一個(gè)惡意更新于 2020 年 3 月被傳播給 SolarWinds 用戶,其中包含名為 Sunburst 的惡意軟件。研究人員只能假設(shè) DarkHalo 利用這種訪問權(quán)限來收集情報(bào),直到他們被發(fā)現(xiàn)的那一天。惡意活動(dòng)的時(shí)間表如下:
卡巴斯基的 GReAT 團(tuán)隊(duì)也調(diào)查了這次供應(yīng)鏈攻擊,并發(fā)布了兩篇關(guān)于它的博文:
1.2020 年 12 月,研究人員分析了惡意植入的基于 DNS 的協(xié)議,并確定它泄露了被 DarkHalo 選擇用于進(jìn)一步利用的受害者的身份。
2.一個(gè)月后,研究人員發(fā)現(xiàn)了 Sunburst 和 Kazuar 之間有趣的相似之處,這是另一個(gè)與 Palo Alto 的 Turla 相關(guān)聯(lián)的惡意軟件家族。
2021 年 3 月,F(xiàn)ireEye 和微軟發(fā)布了有關(guān)活動(dòng)期間使用的第二階段惡意軟件 Sunshuttle(又名 GoldMax)的更多信息。2021 年 5 月下旬,微軟還將冒充美國組織的魚叉式網(wǎng)絡(luò)釣魚活動(dòng)歸因于 Nobelium。但到那時(shí),線索已經(jīng)消失了:DarkHalo 早就停止行動(dòng)了,后續(xù)的攻擊也沒有與他們聯(lián)系在一起。
DNS劫持
今年晚些時(shí)候,也就是 6 月,研究人員的內(nèi)部系統(tǒng)發(fā)現(xiàn)了 一個(gè)DNS 劫持成功的樣本,影響了一個(gè)獨(dú)聯(lián)體成員國的多個(gè)政府區(qū)域。這些事件發(fā)生在 2020 年 12 月和 2021 年 1 月之間,時(shí)間很短,允許攻擊者將流量從政府郵件服務(wù)器重定向到他們控制的設(shè)備。
在這各時(shí)間范圍內(nèi),上述區(qū)域的權(quán)威 DNS 服務(wù)器被切換到攻擊者控制的解析器。這些劫持大部分時(shí)間相對(duì)較短,似乎主要針對(duì)受影響組織的郵件服務(wù)器。雖然研究人員不知道攻擊者是如何做到這一點(diǎn)的,但可以假設(shè)他們以某種方式獲得了受害者使用的注冊(cè)商控制面板的憑據(jù)。
當(dāng)惡意重定向處于活動(dòng)狀態(tài)時(shí),訪問者被定向到模仿原始頁面的網(wǎng)絡(luò)郵件登錄頁面。由于攻擊者控制了他們劫持的各種域名,因此他們能夠從證書加密中獲取所有這些虛假頁面的合法 SSL 證書,這使得未受過安全教育的訪問者很難注意到攻擊。畢竟,他們通常連接到URL并降落在一個(gè)安全的頁面。
攻擊者設(shè)置的惡意網(wǎng)絡(luò)郵件登錄頁面
十有八九,在這些網(wǎng)頁中輸入的任何憑據(jù)都會(huì)被攻擊者獲取,并在隨后的攻擊階段被重復(fù)使用。在某些情況下,他們還會(huì)在頁面上添加一條信息,誘使用戶安裝惡意的“安全更新”。在上面的截圖中,信息是這樣寫的:“為了繼續(xù)使用電子郵件服務(wù),你需要安裝一個(gè)安全更新:下載更新”。
該鏈接指向一個(gè)可執(zhí)行文件,該文件是一個(gè)以前未知的惡意軟件家族的下載程序,研究人員現(xiàn)在將其稱為 Tomiris。
Tomiris
Tomiris 是一個(gè)用 Go 編寫的后門程序,其作用是不斷查詢其 C2 服務(wù)器以獲取可執(zhí)行文件,以便在受害系統(tǒng)上下載和執(zhí)行。在執(zhí)行任何操作之前,它會(huì)休眠至少 9 分鐘,以試圖擊敗基于沙箱的分析系統(tǒng)。它通過創(chuàng)建和運(yùn)行包含以下命令的批處理文件來建立計(jì)劃任務(wù)的持久性:
SCHTASKS /CREATE /SC DAILY /TN StartDVL /TR “[path to self]” /ST 10:00
C2 服務(wù)器地址沒有直接嵌入 Tomiris 內(nèi)部:相反,它連接到信號(hào)服務(wù)器,該服務(wù)器提供后門應(yīng)連接到的 URL 和端口。然后 Tomiris 向該 URL 發(fā)送 GET 請(qǐng)求,直到 C2 服務(wù)器使用以下結(jié)構(gòu)的 JSON 對(duì)象響應(yīng),其結(jié)構(gòu)如下:
{“filename”: “[filename]”, “args”: “[arguments]”, “file”: “[base64-encoded executable]”}
這個(gè)對(duì)象描述了一個(gè)可執(zhí)行文件,它被下載到在受害設(shè)備上并使用提供的參數(shù)運(yùn)行。此功能以及 Tomiris 除了下載更多工具之外沒有其他功能的事實(shí)表明此工具集還有其他部分,但不幸的是,研究人員迄今為止無法恢復(fù)它們。
研究人員還發(fā)現(xiàn)了一個(gè) Tomiris 變體(內(nèi)部命名為“SBZ”,MD5 51AA89452A9E57F646AB64BE6217788E),它充當(dāng)一個(gè)文件竊取程序,并將任何與硬編碼擴(kuò)展名集(。doc、。docx、。pdf、。rar 等)匹配的最新文件上傳到C2。
最后,在這次調(diào)查中發(fā)現(xiàn)的一些線索表明,Tomiris的開發(fā)者可能會(huì)說俄語,但這一點(diǎn)不太可靠。
Tomiris連接
在分析 Tomiris 時(shí),研究人員注意到它與上面討論的 Sunshuttle 惡意軟件有許多相似之處:
1.這兩種惡意軟件都是在Go中開發(fā)的,帶有可選的UPX包。
2.配置文件中使用了相同的分隔符(“ | ”)來分隔元素。
3.在這兩個(gè)家族中,使用相同的加密/混淆方案對(duì)配置文件進(jìn)行編碼并與C2服務(wù)器通信。
4.根據(jù)微軟的報(bào)告,Sunshuttle也依賴于預(yù)定的任務(wù)來保持持久性。
5.兩個(gè)家族都比較依賴隨機(jī)性:
5.1 Sunshuttle 將其引薦來源網(wǎng)址和誘餌網(wǎng)址隨機(jī)化,用于生成良性流量,它還在每個(gè)請(qǐng)求之間休眠 5-10 秒(默認(rèn)情況下)。
5.2 Tomiris 在執(zhí)行過程中的不同時(shí)間將隨機(jī)延遲(0-2 秒或 0-30 秒,具體取決于上下文)添加到它休眠的基本時(shí)間。它還包含一個(gè)目標(biāo)文件夾的列表,以刪除下載的可執(zhí)行文件,從其中程序隨機(jī)選擇。
5.3 Tomiris和Sunshuttle都在每次調(diào)用之前免費(fèi)地用Now()的輸出重新播種RNG。
6.這兩種惡意軟件家族經(jīng)常在執(zhí)行過程中休眠,以避免產(chǎn)生太多的網(wǎng)絡(luò)活動(dòng)被發(fā)現(xiàn)。
7.這兩個(gè)程序的一般工作流程,特別是將功能分配到函數(shù)中的方式,感覺非常相似,以至于這位分析師認(rèn)為它們可能是一起被開發(fā)的。比如當(dāng)準(zhǔn)備步驟完成時(shí),程序的主循環(huán)如何轉(zhuǎn)移到一個(gè)新的 goroutine,而主線程幾乎永遠(yuǎn)處于非活動(dòng)狀態(tài)。
8.在Tomiris(“isRunned”)和Sunshuttle(“EXECED”而不是“executed”)字符串中都發(fā)現(xiàn)了英文拼寫錯(cuò)誤。
單獨(dú)來看,都不足以將Tomiris和 Sunshuttle 聯(lián)系起來。雖然證據(jù)還不足,但把這些證據(jù)放研究人員想提供的最后一個(gè)間接證據(jù)是發(fā)現(xiàn)網(wǎng)絡(luò)中感染了 Tomiris 的其他設(shè)備也感染了 Kazuar 后門。不幸的是,現(xiàn)有的數(shù)據(jù)不能讓我們確定是否其中一個(gè)惡意程序?qū)е铝肆硪粋€(gè)程序的部署,或者它們是否起源于兩個(gè)獨(dú)立的事件。
下圖總結(jié)了研究人員能夠在本文提到的三個(gè)惡意軟件家族之間發(fā)現(xiàn)的薄弱環(huán)節(jié):
最后,許多線索暗示了 Sunburst、Kazuar 和 Tomiris 之間有著非常緊密地聯(lián)系,但感覺仍然缺少最為直接的證據(jù),可以讓研究人員將它們?nèi)繗w因于一個(gè)攻擊者。目前的證據(jù)推測(cè)如下,由于 Sunshuttle 的高調(diào)性質(zhì),其他攻擊者可能故意試圖復(fù)制其設(shè)計(jì)以誤導(dǎo)分析師。研究人員所知的最早的 Tomiris 樣本出現(xiàn)在 2021 年 2 月,也就是 Sunshuttle 向被發(fā)現(xiàn)的一個(gè)月前。雖然此時(shí)其他 APT 可能已經(jīng)意識(shí)到該工具的存在,但研究人員認(rèn)為他們不太可能在它被披露之前嘗試模仿它。一個(gè)更可能(但尚未證實(shí))的假設(shè)是,Sunshuttle 的開發(fā)者早在 2020 年 12 月左右開始開發(fā) Tomiri。
總結(jié)
如果研究人員對(duì)Tomiris和Sunshuttle之間聯(lián)系的猜測(cè)是正確的,那就能讓研究人員更好地了解攻擊者被發(fā)現(xiàn)后是如何重新構(gòu)建新攻擊的。