在過去的幾年間,Linux系統已成為各路威脅分子眼里越來越明顯的目標。據我們觀察,2023年上半年出現了260000個獨特的Linux樣本,正如本文表明的那樣,攻擊Linux的活動可以持續多年,而不被網絡安全界注意。

我們決定調查一組可疑3950947b0f.u.fdmpkg[.]org

?c6d76b1748b67fbc21ab493281dd1c7a558e3047.u.fdmpkg[.]org

?0727年bedf5c1f85f58337798a63812aa986448473.u.fdmpkg[.]org

?c3a05f0dac05669765800471abc1fdaba15e3360.u.fdmpkg[.]org

在安全研究人員看來,這些域名看起來令人擔憂,因為它們可能表明惡意軟件使用域名生成算法進行C2通信。于是,我們決定仔細研究fdmpkg[.]org域名。

一個惡意的Debian代碼庫

我們發現有問題的域名有一個deb.fdmpkg[.]org子域名。在瀏覽器中輸入該子域名,可顯示以下網頁:

圖1

正如頁面所示,這個子域名聲稱托管“Free Download Manager”(免費下載管理器)這款軟件的Debian代碼庫。我們進一步分析后發現,這個軟件的Debian軟件包可以從https://deb.fdmpkg[.]org/freedownloadmanager.deb URL下載。該軟件包其實含有在安裝時執行的受感染的postinst腳本。該腳本將兩個ELF文件投放到路徑/var/tmp/crond和/var/tmp/bs下。然后,它通過創建一個cron任務(存儲在/etc/cron.d/collect文件中)來建立持久性,該任務每10分鐘啟動/var/tmp/crond文件。

受感染軟件包安裝的免費下載管理器版本于2020年1月24日發布。與此同時,postinst腳本含有俄語和烏克蘭語評論,包括有關惡意軟件改進的信息以及黑客活動分子的聲明,提到了日期20200126(2020年1月26日)和20200127(2020年1月27日)。

圖2

基于DNS的后門

一旦安裝了惡意軟件包,可執行文件/var/tmp/crond在每次啟動時都會通過cron運行。這個可執行文件是一個后門,并不從外部庫導入任何函數。為了訪問Linux API,它在靜態鏈接dietlibc庫的幫助下激活系統調用。

一旦啟動,該后門向域名發出type A DNS請求。作為對該請求的響應,后門接收兩個IP地址,它們編碼輔助C2服務器的地址和端口。我們研究時返回了以下地址:

?172.111.48[.]101

?172.1.0[.]80

上面列表中的第一個IP地址是輔助C2服務器的地址,而第二個地址含有連接端口(編碼在第三和第四個八位字節中)以及連接類型(編碼在第二個八位字節中)。

解析DNS請求的響應后,后門啟動反向shell,使用輔助C2服務器進行通信。通信協議是SSL或TCP,具體取決于連接類型。以SSL為例,crond后門啟動/var/tmp/bs可執行文件,并將所有進一步的通信委托給它。否則,反向shell則由crond后門本身創建。

Bash竊取器

在發現crond后門創建了一個反向shell后,我們決定檢查攻擊者如何使用這個shell。為此,我們在惡意軟件分析沙箱中安裝了受感染的免費下載管理器軟件包。在分析了crond生成的流量后,我們確定攻擊者在沙箱中部署了Bash竊取器。這個竊取器收集各種數據,比如系統信息、瀏覽歷史記錄、保存的密碼、加密貨幣錢包文件,以及知名云服務(AWS、谷歌云、Oracle Cloud Infrastructure和Azure)的憑據。

圖3

從受感染的機器收集信息后,竊取器從C2服務器下載一個上傳工具二進制文件,并將其保存到/var/tmp/atd。然后,它使用這個二進制文件將竊取器的執行結果上傳到攻擊者的基礎設施。

我們沒有觀察到通過反向shell進行的任何其他活動,因此整條感染鏈可以用下圖來描述:

圖4

揭開感染途徑的奧秘

在分析了感染鏈的所有組件后,我們想找出受感染的Debian軟件包如何分發給受害者。我們查看了免費下載管理器的官方網站(freedownloadmanager[.]org)。結果發現,可從該網站下載的軟件包原來托管在files2.freedownloadmanager[.]org域名上,它們并沒有被植入后門。

然后我們決定對fdmpkg[.]org進行一番開源檢查。這番檢查發現了StackOverflow和Reddit等網站上的十幾個帖子,用戶一直在討論受感染的免費下載管理器分發引起的問題,而沒有意識到他們實際上成為了惡意軟件的受害者。這些帖子是在從2020年到2022年的三年時間里發布的。

在Unix Stack Exchange上的這樣一個帖子(https://unix.stackexchange.com/questions/590510/kubuntu-20-04-shutdown-reboot-hangs-at-waiting-for-process-crond)中,發帖者抱怨“Waiting for process: crond”消息阻止了計算機的關閉:

圖5

處理同一個問題的用戶對這個帖子作出了回復,他們認為這個問題是由免費下載管理器軟件引起的。他們建議刪除三個文件:/etc/cron.d/collect、/var/tmp/crond和/var/tmp/bs。然而,沒有人提到這三個文件是惡意文件。

圖6

在2020年創建的另一個帖子中,一位Reddit用戶詢問是否可以在不運行postinst腳本的情況下安裝免費下載管理器,這個用戶不知道該腳本其實含有惡意軟件。

圖7

此外,發帖人粘貼了腳本內容;另一位Reddit用戶在評論中指出,這可能是惡意腳本。然而,這些用戶沒有識別出分發受感染軟件包的網站,也沒有發現這個腳本執行的功能。

我們還在Reddit上發現了一個帖子,提到該軟件的官方網站早在2015年就在傳播惡意軟件了。然而后來發現,這個帖子中描述的惡意軟件與我們發現的活動無關。

圖8

社交網絡上的所有這些帖子讓我們認為惡意的Debian軟件包可能是通過freedownloadmanager[.]org網站、經由供應鏈攻擊分發的。因此,我們決定尋找證明或反駁這種說法的進一步的事實。

意外的重定向

在檢查YouTube上有關免費下載管理器上的視頻時,我們發現了幾個演示如何在Linux機器上安裝該軟件的教程。我們觀察到了出現在所有這些視頻中的以下操作:

?視頻制作者在瀏覽器中打開免費下載管理器的合法網站(freedownloadmanager[.]org);

?之后他們點擊了該軟件Linux版本的“下載”按鈕;

?他們被重定向到惡意的https://deb.fdmpkg[.]org/freedownloadmanager.deb URL,其中托管了受感染版本的免費下載管理器。

圖9

我們還注意到,并非在所有情況下都重定向到惡意的deb.fdmpkg[.]org域名。在同一時間段發布的另一個視頻中,一名用戶點擊了該軟件網站上的“下載”按鈕,最終從合法網站下載了免費下載管理器。

因此,惡意軟件開發人員編寫的惡意重定向可能以某種程度的概率出現,或者基于潛在受害者的數字指紋出現。

我們進一步檢查了合法的免費下載管理器網站,想知道軟件開發人員是否意識到他們的網站可能受到威脅。在該軟件博客于2021年發表的一條評論中,一位用戶抱怨,他觀察到可以訪問5d6167ef729c91662badef0950f795bf362cbb99.u.fdmpkg[.]org域名。用戶blogadmin對這個評論的回復稱,免費下載管理器與這個域名無關,建議只使用該軟件的官方版本:

圖10

然而,沒有人進而去發現這個用戶最后如何安裝了這個可疑版本的免費下載管理器。因此,軟件的官方網站繼續分發惡意Debian軟件包,直到至少2022年。

后門的起源

在確定了受感染的免費下載管理器軟件包如何分發之后,我們決定檢查在我們的研究過程中發現的植入程序是否與其他惡意軟件樣本有代碼重疊。事實證明,crond后門是一個名為Bew的后門的修改版本。自2013年以來,面向Linux的卡巴斯基安全解決方案一直可以檢測出其變體。

圖11

2013年版Bew的代碼(左邊,MD5: 96d8d47a579717223786498113fbb913)和crond后門的代碼(右邊,MD5: 6ced2df96e1ef6b35f25ea0f208e5440)

Bew后門已經被分析了多次,第一次分析結果發表在2014年。此外,2017年,CERN發布了有關使用Bew的BusyWinman活動的信息。據CERN聲稱,Bew感染是通過路過式下載進行的。

至于竊取器,它的早期版本由Yoroi在2019年予以描述。它是在利用Exim郵件服務器中的漏洞后被使用的。

圖12

2019年描述的Bash竊取器(左邊,MD5: 8C7EFB0493B6FB805B2C2F0593DE0AB1)和2022年的FDM活動中使用的竊取器(右邊,MD5: AD7F99D44931489B2C38DF7A5A166C4D)

為什么沒有更早發現惡意軟件包?

這次活動中觀察到的惡意軟件自2013年以來就已經為人所知。此外,從社交網絡上的多個帖子可以看出,這些植入程序具有很強的蒙蔽性。據我們觀察,這次活動的受害者遍布世界各地,包括巴西、中國、沙特阿拉伯和俄羅斯,鑒于這些事實,惡意的免費下載管理器軟件包在三年多的時間里未被發現似乎不可思議。

我們認為這歸咎于以下幾個因素:

?與Windows相反,Linux惡意軟件極少被觀察到;

?感染惡意Debian軟件包有一定的概率:一些用戶收到了受感染的軟件包,另一些用戶最終下載了合法軟件包;

?討論免費下載管理器問題的社交網絡用戶沒有懷疑問題是由惡意軟件引起的。

雖然這起活動目前處于不活躍狀態,但免費下載管理器的這個案例表明,憑肉眼很難檢測Linux系統上正在進行的網絡攻擊。因此,Linux系統(桌面和服務器)必須配備可靠高效的安全解決方案。

攻陷指標

?文件校驗和 

b77f63f14d0b2bde3f4f62f4323aad87194da11d71c117a487e18ff3f2cd468d(惡意Debian軟件包)

2214c7a0256f07ce7b7aab8f61ef9cbaff10a456c8b9f2a97d8f713abd660349(crond后門)

93358bfb6ee0caced889e94cd82f6f417965087203ca9a5fce8dc7f6e1b8a3ea(bs后門)

d73be6e13732d365412d71791e5eb1096c7bb13d6f7fd533d8c04392ca0b69b5(atd上傳工具)

?文件路徑

/etc/cron.d/collect

/var/tmp/crond

/var/tmp/bs

/var/tmp/atd

?網絡指標

fdmpkg[.]org

172.111.48[.]101