請問如何找出病毒的運作原理?



贊助商連結


cpthk
2007-03-18, 02:18 PM
有時候發現自己中毒,去網路上找病毒檔名,可以找到有些人找到的病毒運作原理,舉個例來說:

這2個ntdll32.dll+IEHelper.dll是最近某個蠕蟲的最新變種(2-15-2007)。該木馬病毒運行後,向系統添加一個名為 Internet Connection Manager(管理Internet網絡連接)的自啟動系統服務(用于實現遠程監控),源文件為c:\windows\system32\ internet.exe,並向ie加了IEHELPER.DLL的插件,以上就是這個程序的最終目的。

  到此為止,這都只是個很普通的木馬程序做的事情,剩下的就是它為了保証這兩項能在系統中常駐所花的心思了,而它厲害的地方也在于此。

  程序運行時,在x:\windows\system32\driver文件夾下添加一個名為mspcidrv.sys的系統驅動,向HKLM\ SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\Appinit_Dlls下添加NTDLL32.DLL項(注意,這個大有用處)同時也向HKLM \Software\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects下添加了該項(啟動瀏覽器時自動激活NTDLL32.DLL)向HKLM\SOFTWARE\Microsoft\Windows\ CurrentVersion\Run下添加了兩處啟動項,分別都指向c:\windows\system32.internet.exe,驅動 mspcidrv.sys加載後會改寫三個系統服務描述表項,分別為NtDeleteKey、NtDeleteValueKey、 NtSetValueKey?HOOK,使得針對那兩個最終目的的注冊表項的刪除注冊表項、刪除注冊表鍵值、更改注冊表鍵值這三個操作就失去作用了。這是為了保護Internet Connection Manager系統服務和IEHELPER.DLL插件的注冊表項不會被清除。而HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\Appinit_Dlls下的這個NTDLL32.DLL項,這就是實現內存恢複的關鍵。

\Microsoft\Windows\ CurrentVersion\Run底下很減單,只要看多出來了哪一個,但是如果說是dll被載入,或是.sys driver,因為太多很難被發現。
請問是用什麼方法找到的?

贊助商連結


DIRECTNORM
2007-03-19, 08:48 PM
想要追蹤惡意程式的行為,一般可以有二種作法:
dynamic analysis 跟 snapshot and compare,
dynamic analysis 是利用一些工具追蹤程式的行為,
而 snapshot and compare 則是在執行程式(惡意)前先將系統的狀態紀錄下來,
而執行惡意程式後再將系統的狀態紀錄下來,
接著比較並找出二者之前的差別,
相關的工具可以參考大砲開講 (http://malware-test.com/blog/archives/2007/01/07/156)的介紹。