malware analysis - basic and concept

Post on 18-Jul-2015

45 Views

Category:

Data & Analytics

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

惡意程式分析—基礎知識

1

大綱

系統處理程序之用途說明

登錄檔說明之功用說明

惡意程式判斷—基本檢查

惡意程式判斷—工具使用

識別移除惡意程式注意事項

Kaspersky Labs 6ht Annual Partner Conference ·Turkey, June 2-6 2004Kaspersky Labs 6th Annual Partner Conference · Turkey, 2-6 June 2004

系統處理程序之用途說明

目的

了解電腦系統中,各類處理程序的名稱、位置及對應之服務

3

「Windows工作管理員」,管理執行程序,了解每個執行序使用資源狀況

按下“Ctrl+Alt+Delete”鍵,跳出「Windows工作管理員」視窗

檢視選擇欄位 (檢視每個執行序,資源使用狀況)(CPU使用率、記憶體使用量、使用者名稱)

Windows系統中處理程序分類

1.系統服務程序 svchost.exe、spoolsv.exe、csrss.exe、lsass.exe、

smss.exe、winlogon.exe、services.exe(系統服務程序不可亂砍,系統可能會毀壞)

2. 一般程序 explorer.exe、rundll32.exe、ctfmon.exe、

conime.exe

3. 應用軟體處理程序 iexplore.exe 其他: Office word, excel, Adobe…

1.系統服務程序(svchost.exe)

合法svchost.exe檔,路徑在C:\WINDOWS\System32\

負責啟動微軟Windows系統服務,包括Logical Disk Manager、RPC、Automatic Updates、DHCP Client等。系統服務多半是由載入動態連結程式庫(DLL)啟動,而svchost.exe負責載入相對應DLL檔來啟動服務。

說明:Windows XP下svchost.exe不會超過5個執行序,大致有netsvcs、LocalService、NetworkService、HTTPFilter及imgsvc等5類,若超過的話,很有可能是惡意程式所偽裝

1.系統服務程序(svchost.exe)

1.系統服務程序( spoolsv.exe )

路徑位置為“C:WINDOWS\System32\”

本程序是系統服務中“Print Spooler”服務所對應的執行檔,其主要工作是將檔案載入記憶體中,以待稍後列印,就是專門負責管理緩衝區中,佇列之本地及網路列印作業,使用者若任意加以停用,可能會造成原本的列印作業無法正常運作

1.系統服務程序( spoolsv.exe )

spoolsv.exe常被惡意程式所灌滿,導致無法列印

1.系統服務程序( spoolsv.exe )

1.系統服務程序 (csrss.exe)

路徑放置 C:WINDOWS\System32\

屬於Win32子系統程序,主要作用在於啟動或刪除執行緒及16位元之DOS虛擬環境

1.系統服務程序 (lsass.exe)

路徑放置 C:WINDOWS\System32\

此服務程序負責,IP安全管理、帳號驗證、安全儲存等服務,都是透過lsass.exe執行檔來啟動,例如: IPSEC Service、 Net Logon、 NT LM Security Support Provider、 Protected Storage與Security Accounts Manager等。

1.系統服務程序 (smss.exe )

路徑放置 C:WINDOWS\System32\

連線對話管理子系統,專門負責啟動用戶之連線對話。

System Restore Service

由 svchost.exe所啟動

1.系統服務程序 (winlogon.exe)

路徑放置 C:WINDOWS\System32\

負責用戶登錄狀態之更換,例如系統歡迎畫面、登入、登出及工作站鎖定等狀態顯示的切換。它會將使用者的認證操作要求,傳送給負責身分認證之DLL檔,然後再接收DLL檔的指示,進行狀態切換。

1.系統服務程序 (services.exe)

路徑放置 C:WINDOWS\System32\

專門啟動Event Log及Plug and Play,這2個系統服務的執行檔

2.一般服務程序 (explorer.exe)

路徑放置 C:\WINDOWS\

資源管理器,它是使用者與系統核心之間的介面-shell,使用者必須透過它,才能以桌面及工作列上的圖示,存取並管理電腦中的各項資源

2.一般服務程序

rundll32.exe

路徑放置 C:\WINDOWS\System32\

負責執行DLL內建函式的執行檔

ctfmon.exe

路徑放置 C:\WINDOWS\System32\

啟動微軟入法之執行檔

conime.exe

路徑放置C:\WINDOWS\System32

輸入法設定檔控制台

3.應用軟體處理程序

應用軟體的執行檔,多屬於一般程序,但是仍有一些應用程式,例如防毒軟體,會同時啟動屬於系統服務程序及一般程序的執行檔。

常見的應用軟體程序:

iexplore.exe: IE瀏覽器的執行程序。

注意1 : 開機之後若沒有執行IE,但是卻在Windows工作管理員視窗中發現該程序檔,必定為惡意程式。C:\Program Files\Internet Explorer

注意2: iexplorer.exe,為惡意程式

Kaspersky Labs 6ht Annual Partner Conference ·Turkey, June 2-6 2004Kaspersky Labs 6th Annual Partner Conference · Turkey, 2-6 June 2004

登錄檔說明之功用說明

19

開啟登錄檔編輯視窗

惡意程式常修改分類

一、Auto-start Registry Locations

Autostart Registry Locations: 當使用者登入系統時,在這個機碼(key)下的的程式或Script會被自動執行起來

二、Folder Autostart Locations

三、File AutoStart Locations

HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\

HKLM\Software\Microsoft\Windows\CurrentVersion\Run\

HKCU\Software\Microsoft\Windows\CurrentVersion\Run\

HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\

HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce\

HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup\

HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx\

HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices\

HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\

HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\load\

HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\run

HKLM\Software\Policies\Microsoft\Windows\System\Scripts\

HKCU\Software\Policies\Microsoft\Windows\System\Scripts

1. : 當使用者登入系統,在這個機碼(key)下的的程式或Script會被自動執行

2. 當IE啟動時,一定會被載入工具列

HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\

3.每次啟動CMD.exe時,在這個機碼下的命令會被執行

HKLM\Software\Microsoft\Command Processor \AutoRun\

HKCU\Software\Microsoft\Command Processor\AutoRun\

4. 當執行特定種類檔案時,惡意程式會一併被執行

預設值為:“%1” %*

惡意程式將會改成malware :“%1” %*

HKLM\Software\Classes\exefile\shell\open\command\

HKEY_CLASSES_ROOT\vbsfile\shell\open\command\(Visual Basic Script檔(.vbs))

HKEY_CLASSES_ROOT\vbefile\shell\open\command(編碼過的Visual Basic Script檔(.vbe))

5. 在這機碼下的CLSID會對應到HKLM\Software\Classes\CLSID\{GUID}\InProcServer

每當IE啟動時,它們會被IE載入:

HKLM\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\

HKCU\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\

6.可以自訂不同的使用者介面:

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell\

7.包含被允許的Shell Extensions表列:

HKLM\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved\

8. 當使用者登入系統時,在這個機碼裡的DLLs會被Windows-based應用程式載入

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs

9. 當Windows NT會執行標準的GINA DLL (MSGina.d)。當GinaDLL機碼存在時,在這機碼下面的DLL會被Winlogon在載入。

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\GinaDLL\

10.更改原來的SHell(explorer.exe)且在這機碼下的執行檔會被Userinit.exe啟動

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell

HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell

11. 在這機碼下的程式會在System Mode被啟動

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\System

12. 可以定義系統所使用的工作管理員

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\TaskMan

13. 當使用者登入系統時,在這機碼下的程式會被Winlogon執行。預設是Userinit.exe

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\UserInit

14.這機碼下的DLLs會接收和處理由Winlogon產生的事件(event)

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\

15. 當系統啟動時,在這個機碼裡的程式會被執行

HKLM\System\CurrentControlSet\Control\Session Manager\BootExecute

16.在這機碼下的服務,大部份會以LocalSystem的權限啟動

HKLM\System\CurrentControlSet\Services\

17.微軟使用這個機碼來設定已經安裝的視窗元件(Windows component)

HKLM\Software\Microsoft\Active Setup\Installed Components\

18.記錄現行使用者(Current User)的啟動目錄(「開始」功能表=>程式集=>啟動,亦即,%USERPROFILE%\「開始」功能表\程式集\啟動)

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Startup

HKLM\Software\Microsoft\Windows\CurrentVersion\explorer\User Shell Folders\Common Startup

19. 這機碼下的子機碼記載每個程式的路徑和完整的執行路徑名稱

HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\

20. 這是用來檢查應用程式的問題,但惡意程式會利用它,以達到執行的目的

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\

21.在這機碼下COM Objects會記錄執行的命令。預設值是shell32.dll:

HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks\

二、Folder Autostart Locations

%USERPROFILE%\「開始」功能表\程式集\啟動

%ALLUSERSPROFILE%\「開始」功能表\程式集\啟動

%SystemRoot\Tasks (排程工作的目錄)

三、File AutoStart Locations

在%SystemRoot%目錄內。某些人會使用的一個技巧,就是在C:\目錄底下產生一個同樣取名為explorer.exe。 當Windows在開機時,並未指定explorer.exe應該在哪個目錄底下,所以,開機時會從根目錄開始尋找該檔案來執行

%SystemDrive%\autoexec.bat

%SystemDrive%\config.sys

wininit.ini: 是Windows在開機時用來預先載入某些應用程式的方法。舉例說明:[boot]shell=explorer.exe virusfile.exe

winstart.bat

win.ini: 是載入系統設定,例如驅動程式、桌布畫面等等。舉例說明:[Windows]load=virusfile.exerun=virusfile.exe

Kaspersky Labs 6ht Annual Partner Conference ·Turkey, June 2-6 2004Kaspersky Labs 6th Annual Partner Conference · Turkey, 2-6 June 2004

惡意程式判斷—基本檢查

36

第一招:檢查合法及惡意程序

執行程序之正確拼法、大小寫、路徑位置檢查

第二招:檢查惡意程式最常更改的機碼位置

(資料來源: F-Secure 2007)

HKLM\Software\Microsoft\Windows\CurrentVersio

n\Run,佔了總數的 39.8%

Kaspersky Labs 6ht Annual Partner Conference ·Turkey, June 2-6 2004Kaspersky Labs 6th Annual Partner Conference · Turkey, 2-6 June 2004

識別及移除惡意程式注意事項

39

注意事項

1. 防毒軟體有更新過新的病毒碼就先使用新的病毒碼再掃過一遍

2. 關閉系統還原功能

步驟:

開始

控制台

系統

系統還原

關閉所有磁碟上的系統還原

注意事項 (Cont.)

3. 在「安全模式」可以刪除病毒及綁架程式,但無法刪除在Boot Mode(出現Logo時)就載入啟動的惡意程式

4.儘量不要馬上刪容易引起當機的系統程式,如:

winlogon.exe,

svchost.exe

explorer.exe,

lsass.exe,

services.exe。

若是萬一被注入DLL Injection請使用Live CD光碟開機後再去刪DLL檔案

注意事項 (Cont.)

惡意程式清除成功是指「開機後沒再出現」,也就是Disable惡意程式的行為使其不能運作,而不是一定要刪除中毒的所有檔案。

top related