您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何進行Kris遠控木馬的簡單分析,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
分析一個遠程控制木馬,它的眾多惡意行為之一是操作注冊表,實現(xiàn)開機自啟動,在注冊表中程序為自己命名為Kris。
樣本類型:PE32 executable (GUI) Intel 80386, for MS Windows, UPX compressed
在國內(nèi)某款知名沙箱系統(tǒng)中對惡意程序做自動分析,歸納出的執(zhí)行流程如下:
圖1:程序的執(zhí)行流程
自動分析的結(jié)果,歸納出此惡意程序有如下行為:
1.連接域名jesso.3322.org(59.42.71.178,廣東省廣州市白云區(qū))
2.釋放名為BJ.exe的可執(zhí)行程序
3.創(chuàng)建進程,此進程會創(chuàng)建互斥體,并且連接動態(tài)域名
通過PEiD檢查出該病毒被加殼,可以使用upx脫殼。本文后面分析的是利用upx對原程序脫殼后的PE文件。
圖2:通過PEiD檢測惡意程序的加殼情況
惡意程序會創(chuàng)建HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Kris,鍵值為C:\Users\vbccsb\AppData\Local\Temp\sample.exe,此文件為原程序?qū)⒆陨砜截惖竭@個目錄下,用于來實現(xiàn)開機自啟動。
惡意程序還會檢查注冊表中是否有360safe,來判斷宿主機器中是否安裝了殺毒軟件。
運行惡意程序,并用wireshark抓包,發(fā)現(xiàn)惡意程序會發(fā)起針對jesso.3322.org的DNS查詢:
圖3:惡意代碼的網(wǎng)絡(luò)行為
但是后續(xù)沒有實質(zhì)性的網(wǎng)絡(luò)通信,經(jīng)查,此IP地址仍舊存活但是域名已經(jīng)失效:
圖4:與C2地址的網(wǎng)絡(luò)通信
根據(jù)國內(nèi)知名安全廠商的威脅情報顯示,域名和IP地址都是惡意的。
圖5:域名的威脅情報
圖6:IP地址的威脅情報
程序的Main函數(shù)位于0x0040D990,首先會通過sub_47866C函數(shù)創(chuàng)建BJ.exe文件,隨后調(diào)用sub_40D950函數(shù)延時60秒執(zhí)行此文件。
圖7:創(chuàng)建BJ.exe并延時60s執(zhí)行
程序會通過注冊表查看系統(tǒng)中是否安裝了360安全軟件,如果沒有安裝,那么就調(diào)用sub_40D630函數(shù),此函數(shù)用于實現(xiàn)開機自啟動。
圖8:通過注冊表檢查目標系統(tǒng)中的360防護軟件
通過sub_40D630函數(shù)通過注冊表項“SOFTWARE\Microsoft\Windows\CurrentVersion\Run”實現(xiàn)開機自啟動。
圖9:通過注冊表實現(xiàn)開機自啟動
Main函數(shù)會連接遠程網(wǎng)址jesso.3322.org,通過sub_403300函數(shù)發(fā)起連接。
圖10:連接域名jesso.3322.org
惡意代碼中的函數(shù)sub_40A050通過switch結(jié)構(gòu),實現(xiàn)了不同的惡意行為分支,即根據(jù)得到的指令,執(zhí)行不同的操作。概述如下:
sub_409C00:創(chuàng)建新用戶并添加到管理員組
sub_408070:提升進程權(quán)限
sub_4073E0:竊取系統(tǒng)磁盤信息并發(fā)送給遠程主機
sub_4075A0:竊取桌面信息并發(fā)送給遠程主機
sub_407760:竊取音頻設(shè)備信息并發(fā)送給遠程主機
sub_407920:擊鍵記錄器
sub_409320:關(guān)閉防火墻
sub_407F80:刪除日志文件
3.2.1 創(chuàng)建新用戶并添加到管理員組
sub_409C00函數(shù)實現(xiàn)創(chuàng)建新用戶并添加到管理員組的功能:
圖11:用于添加用戶并添加到管理員組的switch分支
通過調(diào)用函數(shù)NetUserAdd添加用戶賬戶,隨后調(diào)用NetLocalGroupAddMember函數(shù),將新建的用戶添加到管理員組。
圖12:sub_409C00函數(shù)實現(xiàn)添加用戶并添加到管理員組的功能片段
3.2.2 提升權(quán)限
sub_408070實現(xiàn)提升進程權(quán)限的功能:
圖13:用于實現(xiàn)提升權(quán)限的switch分支
通過OpenProcessToken得到進程的令牌句柄,隨后使用LookupPrivilegeValue查詢進程權(quán)限,最后用AdjustTokenPrivileges函數(shù)提升權(quán)限。
圖14:sub_408070函數(shù)用于提升進程權(quán)限的功能片段
3.2.3 獲取驅(qū)動器和磁盤卷信息并發(fā)送給遠端主機
sub_4073E0函數(shù)用于獲取磁盤以及驅(qū)動器的信息并發(fā)送給遠端系統(tǒng)。它最終通過sub_405AC0來實現(xiàn)獲取磁盤信息的功能,通過sub_403300用來實現(xiàn)連接遠程主機并發(fā)送信息的功能。
圖15:用于實現(xiàn)獲取磁盤信息并發(fā)送給遠程主機的switch分支
sub_405AC0函數(shù)通過調(diào)用GetVolumeInformation獲取磁盤卷信息,同時通過SHGetFileInfo函數(shù)獲取文件系統(tǒng)對象的信息。
圖16:sub_405AC0函數(shù)用來獲得磁盤信息
sub_403300函數(shù)通過一系列套接字函數(shù)實現(xiàn)網(wǎng)絡(luò)通信,將竊取的信息發(fā)送給遠程主機
圖17:sub_403300函數(shù)用來與遠程主機通信
3.2.4 獲取桌面信息并發(fā)送給遠端主機
sub_4075A0通過調(diào)用sub_40F780函數(shù)實現(xiàn)截屏功能,發(fā)送給遠端主機的功能仍然是通過sub_403300函數(shù)實現(xiàn)的,與3.2.3中相同。
圖18:用于實現(xiàn)獲取桌面信息并發(fā)送給遠端主機功能的switch分支
sub_40F780函數(shù)通過調(diào)用GetThreadDesktop得到桌面窗口所在線程,然后調(diào)用GetUserObjectInformation獲取特殊的窗口站和桌面對象信息。
圖19:sub_40F780函數(shù)實現(xiàn)獲取桌面信息的功能
3.2.5 竊取音頻設(shè)備信息并發(fā)送給遠端主機
sub_407760函數(shù)通過sub_401760函數(shù)竊取音頻設(shè)備信息并通過sub_403300函數(shù)來實現(xiàn)連接遠程主機并發(fā)送的功能,sub_403300在上面已經(jīng)提到了。
圖20:用于實現(xiàn)竊取音頻設(shè)備信息的switch分支
通過調(diào)用waveInGetNumDevs獲得就緒的波形聲音輸入設(shè)備的數(shù)量:
圖21:sub_401760函數(shù)獲得系統(tǒng)中波形聲音輸入設(shè)備的數(shù)量
3.2.6 擊鍵記錄器
sub_407920函數(shù)會調(diào)用sub_40A580函數(shù)實現(xiàn)擊鍵記錄功能,并且調(diào)用sub_403300函數(shù)向遠程主機發(fā)送信息:
圖22:用于實現(xiàn)擊鍵記錄器的switch分支
sub_40A580函數(shù)調(diào)用GetKeyState, GetAsyncKeyState, GetKeyState三個函數(shù)實現(xiàn)擊鍵記錄的功能。
圖23:sub_40A580函數(shù)實現(xiàn)擊鍵記錄功能
3.2.7 關(guān)閉防火墻
sub_409320函數(shù)通過sub_409240函數(shù)實現(xiàn)關(guān)閉防火墻的操作:
圖24:用于實現(xiàn)關(guān)閉防火墻功能的switch分支
sub_409240函數(shù)構(gòu)造"cmd /c net stop sharedaccess"指令,實現(xiàn)關(guān)閉Internet連接共享和防火墻服務(wù)的功能:
圖25:sub_409240函數(shù)實現(xiàn)關(guān)閉防火墻的功能
3.2.8 刪除日志文件
惡意代碼通過sub_407F80函數(shù)實現(xiàn)刪除日志文件的功能:
圖26:用于實現(xiàn)刪除日志文件功能的switch分支
程序首先通過OpenEventLog函數(shù)打開日志文件,如果成功打開,就調(diào)用ClearEventLog函數(shù)清除日志文件中的內(nèi)容,最后通過CloseEventLog函數(shù)關(guān)閉日志文件。
圖27:sub_407F80函數(shù)實現(xiàn)刪除日志的功能
此樣本是一個簡單的遠控木馬,通過訪問C2服務(wù)器獲取指令,然后根據(jù)Switch分支操作執(zhí)行諸如: 創(chuàng)建新用戶并添加到管理員組、 提升進程權(quán)限、 竊取系統(tǒng)磁盤信息并發(fā)送給遠程主機、 竊取桌面信息并發(fā)送給遠程主機、 竊取音頻設(shè)備信息并發(fā)送給遠程主機、 擊鍵記錄器、 關(guān)閉防火墻、 刪除日志文件等危險的操作。程序本身還會有拷貝自身、延時執(zhí)行、查詢系統(tǒng)中是否安裝安全軟件的操作,并以此來確保自身的安全,同時還會通過修改注冊表實現(xiàn)開機自啟動。
關(guān)于如何進行Kris遠控木馬的簡單分析就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。