信息來源:FreeBuf
背景
2019年10月29日,有Twitter用戶聲稱印度Kudankulam核電廠遭到網(wǎng)絡(luò)攻擊,奇安信威脅情報(bào)中心結(jié)合公開情報(bào)將主要事件時(shí)間線整理如下。
重要時(shí)間線
9月4日以前,第三方機(jī)構(gòu)發(fā)現(xiàn)針對(duì)印度核電廠的網(wǎng)絡(luò)攻擊活動(dòng),并告知Twitter用戶Pukhraj Singh,其是一名印度的威脅情報(bào)分析師,現(xiàn)工作于印度本土的安全公司Bhujang Innovations,于9月4日通報(bào)了英國(guó)NCSC機(jī)構(gòu),并在9月7日對(duì)外提起了此事件。
9月23日,卡巴發(fā)布了一篇關(guān)于Dtrack的惡意代碼報(bào)告,從上述推文來看該RAT和攻擊事件相關(guān)。
10月19日,印度IANS新聞來源表示,其Kudankulam核電廠第二座核電機(jī)組于當(dāng)日停止發(fā)電,其原因?yàn)椤癝G level low”,通過查閱資料,其應(yīng)該是蒸汽發(fā)生器(Steam Generator)故障,而蒸汽發(fā)生器是作為反應(yīng)堆冷卻劑系統(tǒng)壓力邊界的一部分。
10月28日,某Twitter用戶披露了VT上DTrack樣本(md5: 4f8091a5513659b2980cb53578d3f798),并且指出其內(nèi)嵌了疑似與印度核電廠相關(guān)的用戶名KKNPP,隨后引發(fā)熱議。
10月29日,各大新聞媒體公開披露該事件,并且印度安全人員對(duì)歷史情況進(jìn)行一些解釋和說明,并且披露攻擊來源已經(jīng)獲取核電廠內(nèi)部域控級(jí)別的訪問權(quán)限。
隨后,核電廠官員公開否認(rèn)遭受網(wǎng)絡(luò)攻擊,其事件屬于虛假新聞。
相關(guān)樣本分析
DTrack Dropper
Dropper(md5:b7c3039203278bc289fd3756571bd468)程序是一個(gè)MFC編寫的應(yīng)用。編譯時(shí)間為Fri Jul 05 02:02:58 2019,整個(gè)MFC主體是一個(gè)空殼,實(shí)際的代碼是在CRT部分一開始從PE文件指定偏移處讀取shellcode。
并在CRT結(jié)尾進(jìn)行shellcode的解密和執(zhí)行。
解密后的shellcode:
接著可以發(fā)現(xiàn)其又從PE文件讀取內(nèi)容:
最終解密后可以看到是一個(gè)PE:
將PE文件dump后計(jì)算其md5為4f8091a5513659b2980cb53578d3f798,即twitter上提到的樣本。
DTrack RAT
這里以4f8091a5513659b2980cb53578d3f798樣本為例,也是twitter上提到的樣本,可以看到卡巴檢測(cè)為DTrack。其編譯時(shí)間為Mon Jul 29 13:36:26 2019。
其首先通過動(dòng)態(tài)獲取API地址。
這里值得注意的是其使用了一個(gè)特殊的字符串變化函數(shù),如果傳入字符串以CCS_開頭,則去掉前綴返回,否則從第二個(gè)字符開始和首字符異或。
然后開始獲取系統(tǒng)注冊(cè)信息,獲取Mac地址:
然后根據(jù)上述的信息計(jì)算設(shè)備指紋:
然后進(jìn)入主流程,首先收集信息,包括瀏覽器歷史記錄:
獲取IP地址、進(jìn)程列表、網(wǎng)絡(luò)連接等信息:
接著會(huì)對(duì)硬編碼的4個(gè)內(nèi)網(wǎng)地址進(jìn)行探測(cè),嘗試連接80端口:
然后其會(huì)將相關(guān)文件加密Zip壓縮,這里使用了兩個(gè)不同的密鑰“dkwero38oerA^t@#”、“abcd@123”。
最后通過IPC$將文件傳到10.38.1.35這臺(tái)機(jī)器上。
DTrack變種樣本
有國(guó)外安全研究人員在Pastebin上也給出了其他幾個(gè)文件hash,其和上述分析的DTrack RAT略有不同,這里以acd7aafa65d0dc4bdb5f04940107087b為例,其編譯時(shí)間為Tue May 21 12:20:03 2019。
其主體代碼入口如下:
該樣本遺留了大量的日志,并且所有字符串進(jìn)行加密,加密的種子密鑰為“rcmgmg3ny3pa”:
在主線程中其首先計(jì)算設(shè)備ID,代碼實(shí)現(xiàn)和DTrack RAT完全一樣。
初始化了3個(gè)外連URL地址,從URL連接來看,應(yīng)該是使用了被黑的網(wǎng)站。
接著其會(huì)判斷URL結(jié)尾,.php,.jsp,.asp,然后從遠(yuǎn)程下載命令文件并解析執(zhí)行:
其支持多種持久化方式安裝,包括在Startup路徑下生成LNK文件,安裝服務(wù),創(chuàng)建任務(wù)計(jì)劃。
該樣本具備和DTrack RAT完全相同的設(shè)備指紋計(jì)算算法和文件加密壓縮方式。
關(guān)聯(lián)分析
以VT上通過檢索172.22.22.156,可以關(guān)聯(lián)到其他的兩個(gè)樣本:
MD5為b5ab935d750be8b5b7c9cf3b87c772ca的樣本編譯于Fri Mar 01 00:07:25 2019,從功能來看,其是上面分析的閹割版本,實(shí)現(xiàn)功能不完全,但是內(nèi)嵌了相關(guān)內(nèi)網(wǎng)IP地址。
而另一個(gè)MyStub.exe則為前文分析的Dropper程序。
對(duì)變種樣本中的URL進(jìn)行擴(kuò)展,可以發(fā)現(xiàn)兩個(gè)編譯于2月份的樣本。
其中一個(gè)名為Safe Banking Launcher。
而偽裝的是印度的一家IT公司,Safe Banking是其下的一款防護(hù)應(yīng)用。
歸屬分析
有趣的是,在分析DTrack RAT的過程中,其中的字符串變換函數(shù)和卡巴發(fā)布的DTrack報(bào)告中提到的幾乎完全一樣(下圖左為卡巴報(bào)告截圖):
并且其中Zip壓縮所使用的密碼也曾出現(xiàn)在McAfee在2013年披露的Operation Troy報(bào)告中使用,并且代碼塊極為相似。
而Operation Troy已經(jīng)歸屬為L(zhǎng)azarus Group的歷史活動(dòng)。
總結(jié)
卡巴在其9月的Dtrack報(bào)告中披露從2018年夏末發(fā)現(xiàn)的針對(duì)印度銀行的惡意軟件Dtrack。而此次Twitter上曝光的樣本4f8091a5513659b2980cb53578d3f798由于其內(nèi)嵌了KKNPP的內(nèi)網(wǎng)訪問用戶名,認(rèn)為是和核電廠被網(wǎng)絡(luò)攻擊事件高度相關(guān)的,并且和卡巴披露的Dtrack家族歸屬同一攻擊組織。
結(jié)合上述分析和公開情報(bào),我們可以比較確認(rèn)的是:
該攻擊組織至少?gòu)?018年起開始針對(duì)印度的銀行、核電站領(lǐng)域?qū)嵤〢PT攻擊,并且至今仍在進(jìn)行中。我們推測(cè)針對(duì)銀行的活動(dòng)可能從2018年夏至2019年上半年,而針對(duì)核電站的攻擊活動(dòng)可能從2019年7月甚至更早開始。
Twitter上披露的4f8091a5513659b2980cb53578d3f798樣本和b7c3039203278bc289fd3756571bd468樣本應(yīng)該和核電廠攻擊事件高度相關(guān),并主要用于橫向移動(dòng)階段,根據(jù)編譯時(shí)間可能發(fā)生在9月初。
安全研究人員披露的另外的Dtrack變種樣本,我們并不能確認(rèn)其和核電廠被攻擊活動(dòng)的關(guān)聯(lián)性,由于其存在外連行為和控制功能,其可能用于攻擊立足階段。我們推測(cè)攻擊組織開發(fā)了一套完整攻擊框架,并按需編譯和行動(dòng)。
從相關(guān)樣本技術(shù)中,存在比較明顯的和歷史Lazarus組織使用的攻擊樣本的指紋特征,背后的攻擊組織歸屬還有待更多的證據(jù)支持。
我們也發(fā)現(xiàn)有羅馬尼亞黑客于2018年3月就曾披露過印度范圍的SCADA系統(tǒng)存在漏洞。
我們將事件相關(guān)元素關(guān)聯(lián)性整理成下圖:
由于目前暫時(shí)沒有更多證據(jù),奇安信威脅情報(bào)中心紅雨滴團(tuán)隊(duì)將繼續(xù)持續(xù)跟蹤該事件的發(fā)展并為我們所服務(wù)的類似客戶提供檢測(cè)支持,有需要的話可以聯(lián)系奇安信威脅情報(bào)中心。