惡意軟件實現(xiàn)“三殺”:Windows、macOS 和 Linux 無一幸免
游戲中,“Triple Kill”通常意為“三殺”,即玩家在較短時間內連續(xù)消滅 3 個敵人的一種游戲表現(xiàn)。
而近來,網(wǎng)絡安全公司 Intezer 發(fā)現(xiàn)的一款后門惡意軟件也實現(xiàn)了“Triple Kill”:同時攻擊 Windows、macOS 和 Linux 三大操作系統(tǒng),且?guī)缀跛袗阂廛浖呙枰娑紵o法檢測到它。
安然無恙地“藏”了半年
Intezer 將這個后門惡意軟件命名為 SysJoker,由 C++ 編寫,于 2021 年 12 月在一家教育機構基于 Linux 的 Web 服務器上主動攻擊時才被首次發(fā)現(xiàn)——根據(jù)在線查毒網(wǎng)站 VirusTotal 發(fā)現(xiàn)的 C2(即 Command and Control,命令及控制)域名注冊和樣本,Intezer 推測早在 2021 年下半年 SysJoker 就已發(fā)起攻擊,只是一直“藏”得很好。
不僅 Linux,Intezer 發(fā)現(xiàn) SysJoker 還有 Mach-O 和 Windows PE 版本,甚至每個版本都針對特定操作系統(tǒng)進行了“量身定制”,在 VirusTotal 上經(jīng) 57 個不同反病毒掃描引擎檢測都沒有發(fā)現(xiàn)它的存在。
對此,Intezer 將 SysJoker 定義為“針對 Windows、macOS 和 Linux 的新多平臺后門”。
隱秘的入侵過程
據(jù)分析,SysJoker 入侵三大系統(tǒng)用的都是一個套路,為方便詳細講解該惡意軟件的入侵過程,Intezer 以 Windows 為例。
首先,為獲取用戶信任,SysJoker 會偽裝成系統(tǒng)更新的一部分。一旦 SysJoker 程序被執(zhí)行,它會隨機休眠 90-120 秒,然后創(chuàng)建 C:\ProgramData\SystemData\ 目錄,隨后將自身復制至該目錄并偽裝成 igfxCUIService.exe,即英特爾圖形通用用戶界面服務。
然后,SysJoker 就會通過離地攻擊(Living off the Land,即LOtL)來收集 MAC 地址、用戶名、物理序列號和 IP 地址等設備信息,并使用不同的臨時文本文件來記錄命令結果。完成使命后,這些文本文件會立即刪除,存儲在 JSON 對象中,編碼并寫入名為 microsoft_windows.dll 的文件中。
SysJoker 在內存中構建的 JSON 對象
為確保惡意行為持續(xù)不斷,SysJoker 還會向注冊表添加鍵值 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run。不僅如此,SysJoker 的“反偵察”意識也很強——上述所有步驟之間,SysJoker 都會隨機休眠一段時間以防被發(fā)現(xiàn)。
在以上工作完成后,SysJoker 便會開始建立 C2 通信,通過解碼從托管在 Google Drive 上的文本文件中檢索到的字符串來生成其 C2。Google Drive 鏈接托管一個名為 domain.txt 的文本文件,該文件包含一個編碼的 C2,SysJoker 將使用 CyberChef 解碼 C2,并將收集到的用戶信息發(fā)送到 C2 的 /api/attach 目錄作為第一次握手。
(更多細節(jié)可參見:https://www.intezer.com/blog/malware-analysis/new-backdoor-sysjoker/)
據(jù) Intezer 研究人員發(fā)現(xiàn),C2 更改了 3 次,這意味著攻擊者處于活動狀態(tài)并正在監(jiān)視受感染的設備。
入侵完成后,SysJoker 可以從 C2 中接收包括 exe、cmd、 remove_reg 和 exit 在內的可執(zhí)行文件(Intezer 補充道,當前版本中沒能實現(xiàn) remove_reg 和 exit。根據(jù)指令名稱,Intezer 推測 remove_reg 和 exit 應該負責的是惡意軟件的自我刪除)。
SysJoker 與 C2 之間的通信流程
最后,通過對 SysJoker 的種種細節(jié)分析,Intezer 發(fā)現(xiàn)該惡意軟件很不尋常:
代碼是從頭開始編寫的,這在其他攻擊中從未見過。最重要的是,通常在實時攻擊中,很少有以前不曾發(fā)現(xiàn)的 Linux 惡意軟件。
攻擊者注冊了至少 4 個不同的域,并為三種不同的操作系統(tǒng)從頭開始編寫惡意軟件。
整個分析過程中,沒有發(fā)現(xiàn)攻擊者發(fā)送的第二階段命令,這表明攻擊是特定的。
由此,Intezer 推斷 SysJoker 的背后應是高級攻擊者,且根據(jù)其功能,未來很可能用于間諜活動、橫向移動或勒索軟件攻擊。
如何檢測并解決?
雖然該惡意軟件的檢測目前還比較艱難,但 Intezer 還是給出了一些有效的檢測方法:用內存掃描器檢測內存中的 SysJoker 有效載荷,或利用檢測內容在 EDR 或 SIEM 中進行搜索。
如果發(fā)現(xiàn)系統(tǒng)已被入侵,可執(zhí)行以下步驟:
1、殺死與 SysJoker 相關的進程,刪除相關的持久化機制,以及所有與 SysJoker 相關的文件;
2、運行內存掃描程序,確保被入侵的設備已安全;
3、調查惡意軟件的初始入口點。
參考鏈接:
https://www.intezer.com/blog/malware-analysis/new-backdoor-sysjoker/
本文來自微信公眾號“CSDN”(ID:CSDNnews),整理:鄭麗媛 ,36氪經(jīng)授權發(fā)布。