免费人成网站免费看视频,国产免费踩踏调教视频,亚洲中文有码字幕日本,亚洲国产成人久久综合下载

漏洞分析|中新網(wǎng)安安全實驗室“電子新冠病毒”【DesktopLayer樣本】分析報告(上)

 Desktoplayer是一種有害的惡意軟件感染,秘密進入計算機系統(tǒng)。Desktoplayer放入系統(tǒng)后,連接到遠程服務器,并使攻擊者可以訪問受到感染的系統(tǒng)。Desktoplayer降低系統(tǒng)性能,并使系統(tǒng)容易受到其他攻擊。

一、病毒危害

蠕蟲病毒入侵并完全控制一臺計算機之后,就會把這臺機器作為宿主,進而掃描并感染其他計算機。當這些新的被蠕蟲入侵的計算機被控制之后,蠕蟲會以這些計算機為宿主繼續(xù)掃描并感染其他計算機,這種行為會一直延續(xù)下去。蠕蟲使用這種遞歸的方法進行傳播,按照指數(shù)增長的規(guī)律分布自己,進而及時控制越來越多的計算機。嚴重的占用有限的網(wǎng)絡資源,最終引起整個網(wǎng)絡的癱瘓,使用戶不能通過網(wǎng)絡進行正常的工作。

二、病毒分析

在對樣本進行分析之前,先用 PEiD對樣本進行查殼:

Desktopla<x>yer是一種有害的惡意軟件感染348.png 

通過PEiD可以發(fā)現(xiàn),該樣本加了UPX殼,手動脫掉之后的文件為upDesktoplayer.exe.v 后續(xù)的分析均是直接針對脫殼后的文件的。

Phase1:

1-1:獲取 IE 路徑并驗證 IE 可執(zhí)行文件是否存在 (3種方法): 如果三種方法均不能找到 IE 路徑并驗證對應路徑下IE可執(zhí)行文件的存在,則樣本行為就此終止。

(1-1-1)通過注冊表 "HKEY_CLASSES_ROOT\http\shell\open\command" 獲取 IE 路徑并驗證 IE 可執(zhí)行文件是否存在

Desktopla<x>yer是一種有害的惡意軟件感染597.png

 (1-1-2)通過絕對路徑 "C:\Program Files\Internet Explorer\IEXPLORE.EXE" 獲取 IE 路徑并驗證 IE 可執(zhí)行文件是否存在

Desktopla<x>yer是一種有害的惡意軟件感染690.png

 (1-1-3)通過注冊表 "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\

CurrentVersion\App Paths\IEXPLORE.EXE" 獲取 IE 路徑并驗證 IE 可執(zhí)行文件是否存在

Desktopla<x>yer是一種有害的惡意軟件感染816.png

 1-2:依次嘗試在 1:"C:\Program Files\";

               2:"C:\Program Files\Common Files\ ";

               3:"C:\Documents and Settings\Administrator\ ";

               4:"C:\Documents and Settings\Administrator\Application Data\ ";

               5:"C:\WINDOWS\system32\ ";

               6:"C:\WINDOWS\ ";

               7:"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\";

下創(chuàng)建" Microsoft"目錄并寫入臨時文件,用于測試能否在該目錄下成功創(chuàng)建文件,為后續(xù)在該目錄下創(chuàng)建文件 "Desktoplayer.exe" 做準備,如果當前路徑嘗試成功,則停止嘗試。如果上述7個路徑的嘗試均失敗,則樣本行為就此結(jié)束。

 這里演示僅以第一個路徑作為示例:

 (1-2-1)創(chuàng)建文件夾 "C:\Program Files\Microsoft"

Desktopla<x>yer是一種有害的惡意軟件感染1254.png

    新創(chuàng)建的文件夾" Microsoft ":

Desktopla<x>yer是一種有害的惡意軟件感染1279.png

 (1-2-2)通過在該文件夾下創(chuàng)建一個臨時文件以檢驗能否在該文件下創(chuàng)建新文件

Desktopla<x>yer是一種有害的惡意軟件感染1323.png

 (1-2-3)刪除剛剛創(chuàng)建的臨時文件

Desktopla<x>yer是一種有害的惡意軟件感染1346.png

1-3:釋放一個新樣本到之前創(chuàng)建的目錄下,名命為 “Desktoplayer.exe”,并調(diào)用 CreateProcess 來啟動該應用程序。

(1-3-1)獲取當前應用程序路徑名稱

Desktopla<x>yer是一種有害的惡意軟件感染1444.png

(1-3-2)釋放新樣本到新創(chuàng)建的文件夾下,新文件名稱為 “Desktoplayer.exe”

Desktopla<x>yer是一種有害的惡意軟件感染1497.png 

釋放的新樣本文件:

Desktopla<x>yer是一種有害的惡意軟件感染1511.png

(1-3-3)啟動 "C:\Program Files\Microsoft\Desktoplayer.exe", Phase1關鍵行為已經(jīng)結(jié)束

Phase2:

Desktopla<x>yer是一種有害的惡意軟件感染1588.png

2-1 驗證特定文件夾(Phase1創(chuàng)建的文件夾)下是否存在樣本文件:

Desktopla<x>yer是一種有害的惡意軟件感染1636.png 

2-2 獲取 ntdll.dll 的一些導出函數(shù)地址保存到全局變量中,便于后續(xù)代碼的調(diào)用:

Desktopla<x>yer是一種有害的惡意軟件感染1686.png 

Desktopla<x>yer是一種有害的惡意軟件感染1689.png 

2-3:Hook ZwWriteVirtualMemory

(2-3-1) 獲取 ntdll.dll 的模塊基地址

Desktopla<x>yer是一種有害的惡意軟件感染1752.png 

(2-3-2) 獲取 ZwWriteVirtualMemory 的函數(shù)地址

Desktopla<x>yer是一種有害的惡意軟件感染1794.png 

(2-3-3) 更改 ZwWriteVirtualMemory 函數(shù)頭前 0X10 字節(jié)的內(nèi)存屬性為    PAGE_EXECUTE_READWRITE

Desktopla<x>yer是一種有害的惡意軟件感染1875.png 

(2-3-4) 計算 ZwWriteVirtualMemory 函數(shù)頭能夠被修改的字節(jié)數(shù)   

Desktopla<x>yer是一種有害的惡意軟件感染1926.png 

(2-3-5) 申請 0XF 大小的內(nèi)存空間,存放 Hook ZwWriteVirtualMemory 過程中的一些數(shù)據(jù)

Desktopla<x>yer是一種有害的惡意軟件感染1991.png 

(2-3-6) 具體的 Hook 過程中

Desktopla<x>yer是一種有害的惡意軟件感染2017.png  

(2-3-7) 修改之前申請的 0XF 大小的內(nèi)存空間屬性為只讀

Desktopla<x>yer是一種有害的惡意軟件感染2055.png    

(2-3-8) 還原 ntdll.ZwWriteVirtualMemory 的內(nèi)存屬性

Desktopla<x>yer是一種有害的惡意軟件感染2105.png    

(2-3-9) Hook ntdll.ZwWriteVirtualMemory 前后機器碼以及函數(shù)執(zhí)行流程對比

(2-3-9-1) 機器碼對比

被 Hook 之前的 ZwWriteVirtualMemory

Desktopla<x>yer是一種有害的惡意軟件感染2219.png 

被 Hook 之后的 ZwWriteVirtualMemory

Desktopla<x>yer是一種有害的惡意軟件感染2254.png 

(2-3-9-2) 函數(shù)執(zhí)行流程對比

調(diào)用原來的流程

    Desktopla<x>yer是一種有害的惡意軟件感染2293.png

新添加的流程

Desktopla<x>yer是一種有害的惡意軟件感染2304.png 

 

2-4:調(diào)用 CreateProcessA 來啟動 iexplorer.exe 進程, 內(nèi)部完成對 iexplorer.exe 的注入

Desktopla<x>yer是一種有害的惡意軟件感染2376.png    

通過對 VirtualAllocEx 和 WriteProcessMemory 的斷點可以詳細的看到為 iexplorer.exe 申請空間并寫入數(shù)據(jù)的過程5次為 IE 進程申請空間

為 IE 進程第1次申請內(nèi)存空間(Addr = 20010000, Size = 0000D000)

Desktopla<x>yer是一種有害的惡意軟件感染2525.png 

為 IE 進程第2(Addr = 00020000, Size = 00000233)、

              3(Addr = 00030000, Size = 000000DF)、

              4(Addr = 00040000, Size = 000000A5 )、

              5(Addr = 00050000, Size = 00000138 )、

              次申請內(nèi)存空間

blob.png  

6次 向IE 進程寫入數(shù)據(jù)

IE 進程第1次寫入數(shù)據(jù)(Addr = 20010000, Size = 0000D000)

blob.png 

IE 進程第2(Addr = 00020000, Size = 00000233)、

              3(Addr = 00030000, Size = 000000DF)、

              4(Addr = 00040000, Size = 000000A5)、

              5(Addr = 00050000, Size = 00000138)

              次寫入數(shù)據(jù)

blob.png 

IE 進程第6次寫入數(shù)據(jù)(Addr = 00401A25, Size = 0000000C)

    00401A25 為 IE 的 OEP,這里實際上是更改 IE 的OEP

    在該 API調(diào)用執(zhí)行之前,修改 DesktopL.0040DFA7內(nèi)存處的首字節(jié)為 0XCC(同時記下原來的字節(jié)數(shù)據(jù):0XBF,用于恢復), 即可用 OD 段下新啟動的IE進程

 

blob.png   

Phase3:

3-1 注入前后 iexplorer.exe 機器碼和流程對比:

  正常的 IE 入口點代碼

 blob.png

被修改過后的 IE 入口點代碼(修改了前 0X0C 字節(jié))

blob.png  

由此可見,原程序的的路程跳轉(zhuǎn)到了 40000 處

3-2 注入后的 iexplorer.exe 創(chuàng)建工作線程之前的行為分析:

(3-2-1) 處理內(nèi)存 PE 的導入表

blob.png    

(3-2-2) 處理內(nèi)存 PE 的節(jié)信息

blob.png 

(3-2-3) 利用 "KyUffThOkYwRRtgPP" 創(chuàng)建互斥體,依據(jù)返回值判斷當前是否該樣本的其他實例在運行

blob.png  

(3-2-4) 初始化 SOCKET

blob.png

(3-2-5) 對 2001A010 處的數(shù)據(jù)進行解密

blob.png    

(3-2-6) 獲取本機信息并生成字符串  

 blob.png

(3-2-7) 獲取當前系統(tǒng)時間, 在 iexplorer.exe 目錄下創(chuàng)建 dmlconf.dat 文件并將系統(tǒng)時間寫入

blob.png 

3-3 創(chuàng)建6個工作線程:

創(chuàng)建第1個線程(ThreadFunction:20017ACA)

blob.png  

  創(chuàng)建第2個線程(ThreadFunction:20017626)

blob.png 

  創(chuàng)建第3個線程(ThreadFunction:2001781F)

blob.png 

  創(chuàng)建第4個線程(ThreadFunction:2001790C)

blob.png  

  創(chuàng)建第5個線程(ThreadFunction:20016EA8)

blob.png  

  創(chuàng)建第6個線程(ThreadFunction:20016EC2)

blob.png 

 

3-4 工作線程行為分析:

 (3-4-1):Thread1(ThreadFunction:20017ACA)

 功能描述:

每隔 1 秒就打開注冊表項:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

并讀取 Userinit 的鍵值,然后檢查路徑 c:\program files\microsoft\desktoplayer.exe 是否在鍵值中,如果不在的話就將路徑 c:\program files\microsoft\desktoplayer.exe 追加到該鍵值中,以達到開機啟動的目的。

blob.png 

 獲取注冊表項的 "Userinit" 鍵值

blob.png 

 檢查樣本文件路徑是否在注冊表鍵值中

blob.png  

樣本文件路徑不在注冊表鍵值中時,將樣本文件路徑添加到注冊表中

blob.png  

休息 1S 之后,再次檢查注冊表

blob.png 

(3-4-2):Thread2(ThreadFunction:20017626)

功能描述:

間歇性的測試同 google.com 的 80 端口、bing.com 的 80 端口、yahoo.com 的 80 端口的連通性,只要有一個連通,就不再測試后面的網(wǎng)址并在全局變量 2001A23B 處保存兩次能夠連通的時間差(秒單位)

獲取網(wǎng)址和端口號

blob.png 

blob.png 

blob.png  

(3-4-3):Thread3(ThreadFunction:2001781F)

嵊泗县| 蒲江县| 界首市| 宁津县| 淄博市| 丽江市| 肥东县| 太保市| 小金县| 斗六市| 闽清县| 清丰县| 西乡县| 舟曲县|