病毒分析之Virut病毒感染樣本分析(setup.exe)

病毒分析之Virut病毒感染樣本分析(setup.exe)

樣本概況

文件: C:\Users\Hades-win7\Desktop\setup_mima666\setup.exe
大小: 369664 bytes
文件版本:8.0.50727.42 (RTM.050727-4200)
修改時間: 2014年4月21日, 11:18:00
MD5: E29DAE6188A0B0BB797C42F68D8DFA41
SHA1: 16B5B2BBEFD499AAE7B3B6111ABB2409AC76FAB1
CRC32: 43952BC7

該樣本爲正常程序被病毒感染後的樣本,運行效果如圖:


惡意行爲

2.1創建內存映射,注入進程
2.2修改註冊表,添加防火牆信任列表
2.3掛鉤系統函數,過濾消息感染進程
2.4連接惡意網址,發送數據,接收數據,接受遠程控制(服務器ilo.brenz.pl ant.trenz.pl)
2.5感染移動磁盤,複製病毒並創建autorun.inf文件,寫入啓動信息爲病毒

2.6感染可執行文件

分析記錄

執行完病毒代碼後,調用原程序執行.


創建病毒文件到臨時目錄


通過Hash值來動態獲取函數地址.




使用GetTickCount函數與rdtsc指令獲取代碼執行時間,判斷是否處於調試狀態,驗證通過恢復代碼繼續執行.



申請內存拷貝惡意代碼並執行


加載advapi32.dll獲取函數並提權


創建進程快照,遍歷進程,前四個進程不做操作,之後的進程對第一個可打開的進程HookAPI,創建共享內存,創建遠程線程.剩餘其他進程全部做inlineHook,但不執行遠程線程


開始Hook幾個內核

API(ZwDeviceIoControlFile,ZwOpenFile,ZwCreateProcess,ZwCreateProcessEx,ZwCreateUserProcess,ZwQueryInformationProcess)


掛鉤內核函數



創建內存映射之後,創建遠程線程,執行惡意代碼.



修改註冊表,添加防火牆信任列表



連接惡意網址線程


判斷移動磁盤,複製病毒文件到移動磁盤,並創建autorun.inf文件


創建socket連接,連接服務器受控


可連接網址現在的狀態


發送數據



感染文件會分成幾種類型,讀取要被感染的文件,通過判斷入口附近是否有API調用等確定感染方式
如果有kernel32中的函數調用,更改其代碼: call dword ptr [ api ] 改成 jmp virut
沒有的話直接修改其入口等.

Virut類型病毒其感染方式多種,多態解密運行.是一個很有意思的樣本.感染文件部分詳細分析後能很大的增長自己的功力




過濾數據包,含有以下字符的udp包全部攔截


執行流程

參考文章:    virut詳細分析   https://www.cnblogs.com/Mikhail/p/5615286.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章