日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

对一款游戏木马的不完全分析

發(fā)布時間:2023/12/15 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 对一款游戏木马的不完全分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

樣本鏈接:http://pan.baidu.com/s/1hqo96C0 密碼:t7se

一、基本信息

樣本名:Sample20150923.v

MD5:3EAE9CEB85B48804955EB5FF673C2D0C

SHA1:B0FAA74DD49CACCD365F0A69C0E076C2C1A56980

CRC32:715A63D9

樣本發(fā)現(xiàn)日期:--

樣本類型:“夢幻西游”盜號木馬

樣本文件大小:28672bytes

殼信息:UPX殼

脫殼后文件:"2.exe"大小:83456bytes占用空間:86016bytes

影響的系統(tǒng):WinXP

二、簡介

“Sample20150923.v”是一個針對“夢幻西游”用戶,通過感染dsound.dll來竊取用戶信息的盜號木馬。

三、受感染的系統(tǒng)和環(huán)境說明

WinXP

四、文件系統(tǒng)變化

創(chuàng)建文件:

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\kb******.sve(*為隨機(jī)數(shù)字)

C:\ProgramFiles\CommonFiles\System\kb******.bwb(隱藏)

C:\WINDOWS\system32\dsound.dll.dat.XXXX(重命名原dsound.dll,X為隨機(jī)大寫字符)

C:\WINDOWS\system32\dsound.dll.dat(替換dsound.dll)

C:\WINDOWS\system32\DllCache\dsound.dll

C:\WINDOWS\system32\DllCache\dsound.dll.dat.XXXX

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tempVidio.bat

感染文件:

C:\WINDOWS\system32\dsound.dll

感染前大小:367616bytes占用空間:368640bytes

感染后大小:369664bytes占用空間:372736bytes

刪除文件:

exe文件本身

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tempVidio.bat

五、注冊表變化

2.EXE:1220

HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed=1D0C554F5DD41039...

explorer.exe:1960

HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\DocumentsandSettings\Administrator\桌面\2.EXE="2"

2.EXE:1220

HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed=E2DCA1FF0C9FB4D5...

HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed=3D94431CB212AC03...

HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed=9B7A8E9F8DE6A3E1...

HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed=94EBEFE87914F520...

HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed=47926C2157DA1C86...

HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed=03C94E15493D6B15...

HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed=75104B7CB949F2B4...

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders\Personal="C:\DocumentsandSettings\Administrator\MyDocuments"

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{acb37fdd-2971-11e5-bcaf-806d6172696f}\\BaseClass="Drive"

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{acb37fdb-2971-11e5-bcaf-806d6172696f}\\BaseClass="Drive"

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{acb37fda-2971-11e5-bcaf-806d6172696f}\\BaseClass="Drive"

HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders\CommonDocuments="C:\DocumentsandSettings\AllUsers\Documents"

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders\Desktop="C:\DocumentsandSettings\Administrator\桌面"

HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders\CommonDesktop="C:\DocumentsandSettings\AllUsers\桌面"

HKCU\Software\Microsoft\Windows\CurrentVersion\InternetSettings\ZoneMap\\ProxyBypass=2(次)0x1

HKCU\Software\Microsoft\Windows\CurrentVersion\InternetSettings\ZoneMap\\IntranetName=2(次)0x1

HKCU\Software\Microsoft\Windows\CurrentVersion\InternetSettings\ZoneMap\\UNCAsIntranet=2(次)0x1

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders\Cache="C:\DocumentsandSettings\Administrator\LocalSettings\TemporaryInternetFiles"

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders\Cookies="C:\DocumentsandSettings\Administrator\Cookies"

HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tempVidio.bat="tempVidio"

cmd.exe:2340

HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed=FF142459BE63957D...

六、網(wǎng)絡(luò)癥狀

構(gòu)造了HTTP協(xié)議(post/get)包,一旦“my.exe”(夢幻西游)運(yùn)行,則設(shè)置的鉤子生效,向目標(biāo)地址發(fā)送賬號信息。(圖a)

環(huán)境關(guān)系暫時還沒有分析具體的流量行為,時間允許的條件下應(yīng)該搭好環(huán)境再分析樣本更完善。

圖 (a)

七、詳細(xì)分析/功能介紹

1.脫殼

PEID加載樣本,可發(fā)現(xiàn)樣本加了UPX殼(圖1.1)。OD加載樣本,F(xiàn)8單步運(yùn)行,注意觀察ESP變化,當(dāng)ESP變?yōu)?012ffa4時,下斷點(diǎn)hr0012FFa4。F9運(yùn)行,從程序斷下來的地方開始單步跟蹤,附近找到OEP,樣本OEP為00404794處(圖1.2),在此保存為“2.exe”。

圖1.1

圖1.2

2.采用IDA靜態(tài)分析和OD動態(tài)分析結(jié)合的方式對樣本進(jìn)行分析。

IDA加載脫殼后的樣本,進(jìn)入WinMain函數(shù),在OD里找到WinMain函數(shù)——2.00403703(圖2.1),對應(yīng)IDA里的函數(shù)調(diào)試。

圖2.1

3.sub_402A66()函數(shù)分析

主要行為:為當(dāng)前進(jìn)程提權(quán)。

拼字符串“my.exe”、"SeDebugPrivilege"、"Advapi32.dll"、“OpenProcessToken”、“LookupPrivilegeValueA”、"AdjustTokenPrivileges"等
獲得當(dāng)前進(jìn)程的偽句柄,打開與進(jìn)程相關(guān)聯(lián)的訪問令牌。查看系統(tǒng)權(quán)限值,為程序提權(quán)(圖3.1)
為進(jìn)程創(chuàng)建進(jìn)程快照

圖3.1

4.sub_402B14()函數(shù)分析

n 首先分配了一個大小為260的內(nèi)存空間,接著調(diào)用sub_402B14()函數(shù),向該內(nèi)存空間寫文件"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\kb******.sve"。在函數(shù)sub_402B14()里,程序主要做了以下操作:

獲取temp目錄,

寫文件"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\kb******.sve",文件內(nèi)容來自內(nèi)存[00407070],文件名為“kb”+6位隨機(jī)數(shù)字+“.sve”。(圖4.1.1圖4.1.2圖4.1.3)

圖 4.1.1

圖 4.1.2

圖 4.1.3

向文件"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\kb******.sve"添加字節(jié):隨機(jī)字節(jié)(9段)+固定字節(jié)(3段)(函數(shù)sub_402894中實(shí)現(xiàn))。代碼如下:

 v18=9

  do           // 向"%TEMP%\kb******.sve"填充隨機(jī)數(shù),循環(huán)填充9次

  {

    v14[0] = 0;

    memset(&v14[1], 0, 0x270Cu);

    *(_WORD *)&v14[9997] = 0;

    v14[9999] = 0;

    v4 = rand();

    v22 = 0;

    v25 = 0;

    v5 = 1000 * (v4 % 10 + 1);

    if ( (signed int)v5 > 0 )

    {

      do

      {

        v6 = rand();

        v7 = v25;

        v8 = v22 + v6;

        v25 += 4;

        ++v22;

        *(_DWORD *)&v14[v7] = v8;

      }

      while ( v25 < (signed int)v5 );

    }

    WriteFile(v20, v14, v5, &NumberOfBytesRead, 0);// 填充隨機(jī)數(shù)(個數(shù)隨機(jī))

    --v18;

  }

  while ( v18 );

  v9 = v20;

  WriteFile(v20, lpBuffer, Buffer - 8, &NumberOfBytesRead, 0);

  WriteFile(v9, &Buffer, 4u, &NumberOfBytesRead, 0);

       WriteFile(v9, &v16, 4u, &NumberOfBytesRead, 0);

通過注冊表檢測主機(jī)上是否安裝了“夢幻西游”(my.exe)游戲,如果安裝了,找到安裝目錄:

int __cdecl sub_401E53(char *Str, int a2, int a3, int a4, char *SubStr)

// [arg.1] = buffer

// [arg.2] = 0x80000002 = -2147483646.

// [arg.3] = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\夢幻西游_is1"

// [arg.4] = "InstallLocation"

// [arg.5] = "\my.exe"

復(fù)制文件:

"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\kb******.sve"-—〉 "C:\ProgramFiles\CommonFiles\system\\kb******.bwb"

修改.bwb文件屬性為隱藏文件。
利用“C:\ProgramFiles\CommonFiles\system\\kb******.bwb”感染“dsound.dll”,感染后的文件為“dsound.dll.dat”
重命名文件”dsound.dll”為"dsound.dll.XXXX"
重命名"dsound.dll.dat"為“dsound.dll”(感染之后)

5.sub_40333C()函數(shù)分析

%temp%下創(chuàng)建批處理文件tempVidio.bat,利用該文件刪除下面兩個文件:

C:\DOCUME~1\ADMINI~1\桌面\2.EXE,
該批處理文件tempVidio.bat

tempVidio.bat內(nèi)容為:

@echo  off

:try

del  C:\DOCUME~1\ADMINI~1\桌面\2.EXE

if   exist   C:\DOCUME~1\ADMINI~1\桌面\2.EXE  goto  try

 

 

del  C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tempVidio.bat

6.“C:\ProgramFiles\CommonFiles\System\kb******.bwb”分析

a)脫殼

這是一個UPX加殼的dll文件,首先contrl+s,查找下面的命令:

xchg ah,al

rol eax,10

xchg ah,al

add eax,esi

找到在106617F6處,在其上面兩處下斷點(diǎn),這里實(shí)在重定位表的RVA,重定位完后106617EC處跳轉(zhuǎn)(圖6.1),在10661810處下斷,F(xiàn)8單步觀察大跳的jump,不久找到OEP(10004F3E)。在此用OD脫殼,保存為dumpedkbX.bwb.dll。(圖6.3)

圖6.1

圖6.2

圖6.3

b)ImportREC修復(fù)IAT數(shù)據(jù)

運(yùn)行ImpoertREConstructor,選中Ollydbg的loaddll.exe的進(jìn)程,然后點(diǎn)“選取DLL”,選擇“kb******.bwb”。
填寫程序真正OEP,“IATAutoSearch”讓其自動檢測。
“GetImport”分析IAT結(jié)構(gòu)得到基本信息。
修復(fù)所有dll,顯示“valid:YES”。
選擇“Addnewsection”為完全dump出的文件加一個section。
“FixDump”,選擇剛剛OD脫殼的文件“dumpedkbX.bwb.dll”,程序?qū)⒆詣觿?chuàng)建“dumpedkbX.bwb_.dll”

c)分析“dumpedkbX.bwb_.dll”

IDA加載該dll文件,ctrl+E查找程序入口函數(shù),發(fā)現(xiàn)入口函數(shù)有三個(圖6.4):

圖6.4

其中DllEntryPoint里面首先判斷該dll由什么程序加載,將調(diào)用程序先后與“ctfmon.exe”、“my.exe”、“QQLogin.exe”、“DNF.exe”進(jìn)行對比,當(dāng)調(diào)用程序?yàn)椤癿y.exe”時創(chuàng)建一個線程,即在檢測到調(diào)用該dll的程序?yàn)椤皦艋梦饔巍睍r創(chuàng)建了這個線程,在線程里面實(shí)現(xiàn)盜取了用戶的登陸密碼。(圖6.5)(具體細(xì)節(jié)還沒有弄得特別清楚,暫且不寫入文檔,搞清楚了再更新)

其中LoadDll里面設(shè)置了WH_GETMESSAGE類型的全局鉤子,與所有線程關(guān)聯(lián),在目標(biāo)出程序之前獲得控制權(quán),監(jiān)視從GetMessageorPeekMessage函數(shù)返回的消息,以此監(jiān)視鼠標(biāo)和鍵盤輸入,以及其他發(fā)送到消息隊列中的消息。(圖6.6)

在CancelDll里面UnhookWindowsHookEx。(圖6.7)

圖6.5

圖6.6

圖6.7

7.分析感染后的dsound.dll

加載了“C:\ProgramFiles\CommonFiles\System\kb******.bwb”(圖7.1、圖7.2)

圖7.1

圖7.2

八、總結(jié)

a)先用自動化工具跑一遍程序,觀察調(diào)用了哪些敏感的API,這些地方在后面分析的時候要多加注意。

b)當(dāng)有釋放文件的時候,一定要想文件從哪里釋放來的,釋放這個文件的目的是什么,對釋放和受到感染的文件也要仔細(xì)分析。

c)初次修復(fù)數(shù)據(jù),感覺還挺好玩的~~

d)待改進(jìn)的:

對注冊表掌握不到位,至于知道程序在訪問或修改注冊表,但并不清楚修改的注冊表對應(yīng)的意義。
當(dāng)樣本通過釋放的dll感染dsound.dll的時候,是在原文件的基礎(chǔ)上做了修改,添加了數(shù)據(jù),但由于堆棧和PE內(nèi)存結(jié)構(gòu)掌握不夠熟練,為什么修改某個內(nèi)存的數(shù)據(jù),為什么把惡意代碼添加到某個內(nèi)存,這一部分還沒有理解透徹。
分析樣本釋放的dll的時候沒考慮到dll可能有多個入口參數(shù),因此一開始沒找到鉤子。
對鉤子這部分不熟悉,理解不到位。
對樣本構(gòu)造發(fā)送數(shù)據(jù)包部分沒有分析很清楚,在沒有安裝環(huán)境的機(jī)器上跑樣本還無法進(jìn)行正確的動態(tài)分析和流量分析,時間允許的情況下應(yīng)該在搭好環(huán)境之后分析樣本才分析更完善。

-Vi 大師見笑,歡迎指正.

總結(jié)

以上是生活随笔為你收集整理的对一款游戏木马的不完全分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。