對Rudeminer,Blacksquid和Lucifer的比較研究
Lucifer是針對Windows挖礦和DDOS的混合型惡意軟件,研究人員在今年6月份發(fā)表了一份報告,詳細(xì)介紹了其攻擊活動,最近又有新的證據(jù)表明這個攻擊是從2018年開始的。
它最初是一個以Windows系統(tǒng)為目標(biāo)的具有自我傳播能力的挖礦軟件,現(xiàn)在已經(jīng)發(fā)展成為一個多平臺、多架構(gòu)的惡意軟件,目標(biāo)是Linux和物聯(lián)網(wǎng)設(shè)備。
從ThreatCloud收集的數(shù)據(jù)顯示,美國、愛爾蘭、荷蘭、土耳其和印度的25多個組織最近受到打擊。攻擊來自多個領(lǐng)域,包括制造業(yè)、法律、保險以及銀行業(yè)。
當(dāng)前物聯(lián)網(wǎng)設(shè)備的主要攻擊媒介是通過利用稱為CVE-2018-10561的漏洞,該漏洞針對未打補(bǔ)丁的Dasan GPON路由器設(shè)備。
該惡意軟件具有多種功能:多種類型的DDOS攻擊,能夠下載和執(zhí)行文件的完整命令和控制操作、遠(yuǎn)程命令執(zhí)行、使用Xmrig挖掘軟件進(jìn)行門羅幣挖掘以及通過各種利用技術(shù)在Windows系統(tǒng)中自我傳播。
攻擊活動介紹
攻擊源自受到被攻擊者破壞的服務(wù)器,圖1顯示感染鏈?zhǔn)嵌嗥脚_的,并且針對Windows,Linux和物聯(lián)網(wǎng)設(shè)備。然后,受感染的Windows計算機(jī)繼續(xù)將惡意軟件傳播到網(wǎng)絡(luò)內(nèi)部和遠(yuǎn)程目標(biāo)。
更新的感染鏈
惡意軟件中顯示了一個有趣的字符串序列:
在最近的Windows,Linux,ARM和MIPS示例中找到的字符串
對這些字符串的進(jìn)一步研究使我們進(jìn)行了兩個活動,一個被趨勢科技發(fā)現(xiàn),他們稱之為BlackSquid,另一個被騰訊發(fā)現(xiàn),稱為Rudeminer / Spreadminer。
還可以通過追蹤金融記錄(在我們的案例中為所使用的XMR錢包)將這兩個活動與Lucifer活動相關(guān)聯(lián)。
通過使用的XMR錢包追蹤到了三個攻擊活動
當(dāng)我們探索使用圖3中第一個錢包的Blacksquid樣本時,我們發(fā)現(xiàn)了兩個幾乎相同的樣本(樣本1和樣本2)。
這兩個樣本的互斥模式都相同:
- BlacksquidXMRstratum+tcp://[Miner pool address]:[port]
第一個樣本使用圖3中的第一個錢包,第二個樣本使用第2個錢包。
第二個錢包還用于其他各種Lucifer樣本(樣本3),從而使我們能夠關(guān)聯(lián)兩個惡意軟件。將Blacksquid攻擊系列與Spreadminer關(guān)聯(lián)起來比較研究確實(shí)比較復(fù)雜,因?yàn)轵v訊(示例1)中提供的示例使用了沒有XMR錢包的自定義XMR挖礦池。
但是,我們能夠找到一個幾乎相同的樣本(樣本2),其中使用的是第1個錢包。
Blacksquid活動中使用的XMR錢包提供了2018年底的樣本,這表明攻擊者開始行動的時間甚至更早。
根據(jù)這些發(fā)現(xiàn),我們創(chuàng)建了以下時間表:
這個活動中變種出現(xiàn)的時間線
在該惡意軟件的Linux變體中可以找到另一個有趣的字符串:
在Linux版本的惡意軟件中使用的字符串
我們認(rèn)為該字符串是對騰訊發(fā)布的名為“Rude”惡意軟件的回應(yīng)。
這些發(fā)現(xiàn)表明,此活動背后的攻擊者已經(jīng)活躍了一年半多,并且該惡意軟件一直在發(fā)展和升級其代碼庫。
從公開的數(shù)據(jù)來看,我們估計Lucifer攻擊給攻擊者帶來了18.643456520496 XMR,大約是1769美元。
由于舊的XMR錢包現(xiàn)已被封鎖,因此無法知道Blacksquid和Spreadminer攻擊家族賺了多少錢。 DDOS功能的增加表明攻擊者正在尋求擴(kuò)大惡意軟件的賺錢方法。
Windows的自我傳播功能是基于過時的和公開可用的漏洞利用以及暴力攻擊。隨著時間的推移,Windows自身功能只發(fā)生了微小的變化,這可能表明攻擊者已經(jīng)成功地使用了這些方法。
新活動的第一批樣本于2020年2月被上傳到VirusTotal網(wǎng)站,之后的幾個月里又上傳了一些樣本,新的樣本仍在檢測中。
迄今為止,第一個也是唯一的ARM示例已于5月10日上傳到VirusTotal。
VirusTotal中的ARM示例列表
目前尚未確定此樣本是否是惡意的,ARM示例僅具有DDOS功能,并且與Linux示例具有不同的行為,這可能是由于物聯(lián)網(wǎng)設(shè)備引起的限制。
C2服務(wù)器具有可公開訪問的HFS服務(wù)器,可讓我們目睹攻擊的演變:
最新的二進(jìn)制樣本已上傳到C2 HFS公共服務(wù)器
正如你所看到的,活動在不斷發(fā)展并發(fā)布新版本。上傳的“office.exe”,“sb360..exe”可執(zhí)行文件是gh0st RAT的變體,這表明攻擊者想要擴(kuò)展受感染計算機(jī)中的惡意軟件功能。
沒有刪除Linux,ARM,MIPS版本的調(diào)試符號,這使我們能夠?qū)⑺衅脚_的新版本的代碼庫關(guān)聯(lián)到2009年以來的中文DDoS程序,該程序稱為“Storm Attack Tool VIP 2009”,人們可以在各種開放源代碼的中文網(wǎng)站上找到這個程序的下載版本。
Storm攻擊工具面板的圖像
所有最新版本的DDoS攻擊都來自該軟件,惡意軟件的其余部分被嚴(yán)重修改為其他功能,例如完整的C&C操作,門羅幣挖礦,Windows系統(tǒng)中的自我傳播以及Linux和物聯(lián)網(wǎng)設(shè)備的端口。
在本文的其余部分,我們將深入研究Linux,ARM和MIPS示例。
Linux x86 / x64
Linux版本與Windows版本的不同之處在于,它不具有自我擴(kuò)展功能。此外,Linux樣本未刪除調(diào)試信息。
成功利用后,惡意軟件使用daemon命令將自身與終端分離,并在后臺作為守護(hù)程序運(yùn)行。
惡意軟件會檢查是否能夠設(shè)置用于綁定到端口,端口號取決于版本,最新版本使用端口20580。如果惡意軟件無法設(shè)置套接字或綁定到套接字,則退出。綁定之后,沒有調(diào)用listen函數(shù)來實(shí)際開始監(jiān)聽該端口。
套接字的目的不是通訊而是強(qiáng)制執(zhí)行以下行為:一次只能運(yùn)行一個進(jìn)程的惡意軟件,因?yàn)椴荒苡卸鄠€套接字使用同一端口。
該惡意軟件為以下信號設(shè)置了三個信號處理程序函數(shù):
- SIGPIPE:對被攻擊的管道執(zhí)行寫入操作;
- SIGTERM:請求終止程序;
- SIGINT:請求程序正常關(guān)閉;
惡意軟件執(zhí)行以下命令:
- /sbin/service crond start;chkconfig –level 35 crond on;
命令的第一部分啟動crond服務(wù),第二部分將crond服務(wù)設(shè)置為在以下運(yùn)行級別上運(yùn)行:
- 多用戶模式,僅控制臺登錄。
- 多用戶模式,具有顯示管理器和控制臺登錄名(X11)。
chkconfig命令失敗,因?yàn)樗?level 35之前缺少另一個連字符。
這兩個命令僅適用于基于CentOS / RHEL的發(fā)行版。
惡意軟件的下一個目標(biāo)是增加文件描述符限制,UNIX的定義功能之一是“一切都是文件”,套接字也是如此。
當(dāng)惡意軟件發(fā)起DDoS攻擊時,它需要打開盡可能多的套接字,以將盡可能多的流量發(fā)送到目標(biāo)。
這可以通過在OS設(shè)置中增加文件描述符限制來實(shí)現(xiàn),為了更改文件描述符限制,惡意軟件首先檢查User ID。當(dāng)程序以root用戶身份運(yùn)行時,其用戶ID為零。如果惡意軟件以用戶ID為0 (root)運(yùn)行,則:
執(zhí)行命令:
- ulimit -HSn 65536;
在文件/etc/sysctl.conf中添加“fs.file-max到6553560”行;
將這些行添加到file /etc/security/limits.conf中:
- soft noproc 65535
- hard noproc 65535
- soft nofile 65535
- hard nofile 65535
如果它沒有以用戶ID零運(yùn)行,它將按以下順序發(fā)出兩個命令:
- ulimit -HSn 4096
- ulimit -HSn 10240
惡意軟件首先以較小的限制然后以更大的限制運(yùn)行這兩個命令,如果增加失敗,則較小的限制就是備用選項(xiàng)。
惡意軟件的持久性只發(fā)生在用戶ID為0時:
- 如果file /etc/rc.local存在,則惡意軟件會在該文件中寫入或附加以下行:
- MALWARE_PATH start
- */1 * * * * MALWARE_PATH
在所有正常的系統(tǒng)服務(wù)啟動之后,將執(zhí)行/etc/rc.local腳本。添加到crontab中的這行代碼會導(dǎo)致Linux每分鐘都在執(zhí)行這個惡意軟件。
惡意軟件配置其持久性后,它將解密以下五個字符串:
- C&C地址:qf2020[.]top;
- Xmr挖礦程序的參數(shù)列表:-o stratum+tcp://pool.supportxmr.com:3333 -u 4AfAd5hsdMWbuNyGbFJVZjcMLeKHvrXnT155DWh8qGkYRPbVGKBT9q1Z5gcFXqmwUuh2Kh6t2sTnHXPysYrGf2m9KqBwz9e -p X;
- Xmr挖礦程序的參數(shù)列表:-o stratum+tcp://gulf.moneroocean.stream:10001 -u 4AfAd5hsdMWbuNyGbFJVZjcMLeKHvrXnT155DWh8qGkYRPbVGKBT9q1Z5gcFXqmwUuh2Kh6t2sTnHXPysYrGf2m9KqBwz9e -p X -a cn/r;
- Xmr挖礦程序的位置:/ tmp / spreadtop;
- Xmr挖礦程序的網(wǎng)址:122[.]112[.]179[.]189:50208/X64;
初始化之后,惡意軟件通過啟動以下五個線程來啟動主要邏輯:
- 挖掘線程:它首先下載挖礦程序并將其保存到/tmp/spread中。這使它能夠確保挖掘程序正在運(yùn)行,并在需要時停止或重新啟動挖掘過程。
- 進(jìn)程阻止線程;
線程嘗試查找和阻止以以下字符串之一開頭的進(jìn)程:
- Linux-;
- 25000;
- Linux2.6;
- Linux2.7;
- LinuxTF;
- 挖礦程序;
- 獲取網(wǎng)絡(luò)使用線程;
- 獲取CPU使用線程;
- 將挖掘,CPU使用情況和網(wǎng)絡(luò)使用情況報告發(fā)送到C&C服務(wù)器;
報告消息示例
在線程設(shè)置好之后,惡意軟件開始一個無限循環(huán),并保持與C&C的恒定連接。
C&C命令模式:
Linux ARM / MIPS
ARM / MIPS版本是Linux的較簡單版本,它們僅包含DDoS功能。
初始化與Linux版本中的初始化幾乎相同,他們使用守護(hù)程序進(jìn)行分離,并使用套接字綁定方法來確保只有一個正在運(yùn)行的進(jìn)程。
該惡意軟件僅為SIGPIPE設(shè)置信號處理程序,如果它以root身份運(yùn)行,則它將文件描述符限制增加到20480,并將其路徑寫入/etc/rc.local文件以實(shí)現(xiàn)持久性。
如果不是以超級用戶身份運(yùn)行,它將文件描述符限制增加到4096。然后,惡意軟件解密C&C地址:tyz2020[.]top。初始化后,惡意軟件通過啟動以下一個線程來啟動主要邏輯:看門狗通信線程;
首先檢查以下設(shè)備是否存在:/dev/watchdog或/dev/misc/watchdog.
如果其中一個存在,則使用ioctl WDIOC_SETTIMEOUT將看門狗超時時間增加到15秒。然后線程開始一個無限循環(huán),每10秒將ioctl WDIOC_KEEPALIVE發(fā)送給Watchdog。
看門狗的作用是確保系統(tǒng)穩(wěn)定。
在系統(tǒng)問題的情況下,用戶空間Watchdog停止寫入Watchdog設(shè)備,而內(nèi)核Watchdog重新啟動設(shè)備。
通過使用此線程,惡意軟件可確保監(jiān)視設(shè)備始終將數(shù)據(jù)寫入監(jiān)視程序設(shè)備。這樣可以防止設(shè)備重啟。
如前所述,在建立線程之后,惡意軟件會啟動無限循環(huán)并保持與C&C的恒定連接。
C&C命令模式:
- 模式4對目標(biāo)發(fā)起DDOS攻擊;
- 模式5停止當(dāng)前的DDOS攻擊或重新啟用以后的攻擊;
總結(jié)
正如我們在本文中所介紹的那樣,該活動正在不斷發(fā)展以跨平臺,并增加了獲取利潤和傳播自身的新方法。即使攻擊者使用已知的攻擊來感染計算機(jī)和自我傳播,也并非總是對所有系統(tǒng)進(jìn)行更新。當(dāng)組織的密碼策略薄弱時,暴力破解可能會有效。
在撰寫本文時,這些是攻擊者在所有體系結(jié)構(gòu)和平臺上使用的功能:
我們相信該攻擊活動將繼續(xù)發(fā)展,包括修改Windows中當(dāng)前的自擴(kuò)展方法和功能,并將其添加到Linux,ARM和MIPS版本中。
本文翻譯自:https://research.checkpoint.com/2020/rudeminer-blacksquid-and-lucifer-walk-into-a-bar/