[轉] 一個U盤病毒簡單分析


(轉自:一個U盤病毒簡單分析 - 瑞星網   原文日期:2014.03.25)

 

U盤這個移動存儲設備由於體積小、容量大、便於攜帶等優點,給人們的存儲數據帶來了很大的便利。但正是由於這種便利,也給病毒有了可乘之機,你是否有過拿着U盤到外面打印照片,回來再使用U盤過程中,發現自己的電腦一下就中毒了的經歷呢?

U盤病毒對於局域網環境的企業來說也是一個很頭疼的事情,由於員工隨意插拔使用U盤,經常導致U盤病毒在企業局域網環境下肆意泛濫,給企業網管員帶來了不小的麻煩。今天我們分析的這個U盤病毒,會將U盤上的數據隱藏,並會在U盤上生成一個惡意的快捷方式,只要我們打開這個快捷方式,就會觸發病毒執行。

病毒樣本介紹

先來看一下該病毒樣本的相關信息:

File:~%PHENOVECNYE.ini

Size:23M

MD5:69425684F5C155AAD52D0A6C8E41E2FA

瑞星V16+:Worm.Win32.Agent.aym

此病毒樣本截圖如圖1所示,瑞星v16+查殺該樣本截圖如圖2所示。

圖1:病毒樣本

圖2:瑞星V16+對病毒樣本查殺截圖

病毒樣本只是一個lnk快捷方式,並不是~%PHENOVECNYE.ini,我們取消系統的隱藏顯示再來看一下。點擊工具菜單-文件夾選項,如圖3所示,取消隱藏受保護的操作系統文件(推薦)勾選,及隱藏文件和文件夾下面選擇顯示所有文件和文件夾。

圖3:取消系統的隱藏文件

取消系統隱藏文件后,再來看一下病毒樣本,文件夾下多了很多文件,如圖4所示。

圖4:取消系統隱藏文件后,顯示出病毒樣本~%PHENOVECNYE.ini

我們先來簡單分析一下lnk文件,右鍵點擊lnk選擇屬性,如圖5所示。

圖5:查看lnk快捷方式文件的屬性

我們看到這個lnk快捷方式的目標類型是應用程序,目標是%hoMEdrive%\WINDOWS\System32\rundll32.exe ~%PHENOVECNYE.ini,lnk。如圖6所示,這個快捷方式原來是調用系統的rundll32.exe來運行~%PHENOVECNYE.ini。大家可能有點奇怪,~%PHENOVECNYE.ini只是一個ini文件,為什么這個快捷方式要通過rundll32.exe來運行它呢?接下來我們再來分析一下~%PHENOVECNYE.ini文件,看它到底是什么文件類型。

圖6:查看lnk快捷方式的屬性,其目標為%hoMEdrive%\WINDOWS\System32\rundll32.exe ~%PHENOVECNYE.ini

我們使用winhex工具打開~%PHENOVECNYE.ini文件,在winhex的字符串顯示區域,我們看到了MZ頭,標准的pe文件頭,如圖7所示。

圖7:winhex顯示~%PHENOVECNYE.ini文件實際上是一個可執行程序

Winhex只是能說明~%PHENOVECNYE.ini文件是一個可執行程序,但具體這個文件是dll或exe,還是驅動?我們使用IDA工具查看一下文件的輸出點,如圖8所示,IDA顯示~%PHENOVECNYE.ini的Exports為DLLEntryPoint,原來這個~%PHENOVECNYE.ini是一個dll文件。我們知道要執行一個dll文件,需要使用系統的rundll32應用程序,有時當然還需要加上dll運行參數,這樣才能將dll跑起來。所以有時候我們不能只通過查看文件的擴展名來識別文件類型,有些病毒文件會偽裝成正常的系統文件名來迷惑大家。怎么來分辨呢?簡單的就是用記事本直接打開文件,查看一下文件頭,就大概知道這個文件到底是什么文件類型。

圖8:IDA查看~%PHENOVECNYE.ini的Exports為DLLEntryPoint

病毒行為分析

在這次病毒行為分析中,我們使用SFF這款工具。當然,在開始運行病毒前,開啟SSF的監控,直接雙擊lnk快捷方式,過一會兒,SSF監控到如下的病毒行為,如圖9所示,rundll32.exe執行C:\ATI\Catalyst.exe。

圖9:rundll32.exe執行C:\ATI\Catalyst.exe

點允許后,SSF又監控到是否允許Catalyst.exe創建一個傀儡進程Catalyst.exe,如圖10所示。

圖10:是否允許創建傀儡進程Catalyst.exe

從圖10來看,兩個Catalyst.exe的pid是不同的,實際就是Catalyst.exe同時創建了一個傀儡進程,而這個傀儡進程就是它自己。這里繼續點允許,SSF監控到C:\ATI\Catalyst.exe要運行C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\seynhbuoetjzoetnzoepfqgvpfqkeyne.com,如圖11所示。

圖11:是否允許Catalyst.exe運行C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\seynhbuoetjzoetnzoepfqgvpfqkeyne.com

小結一下:~%PHENOVECNYE.ini跑起來后,首先在C盤下創建ATI文件夾,同時寫入病毒文件Catalyst.exe,Catalyst.exe同時會創建一個它本身的傀儡進程,同時還會在系統臨時目錄下釋放一個隨機文件名的com病毒程序,之后交由Catalyst.exe來運行com病毒程序,如圖12所示。

圖12:SSF攔截到的Catalyst.exe運行臨時目錄下的com病毒程序行為

允許seynhbuoetjzoetnzoepfqgvpfqkeyne.com運行后,SSF也監控到seynhbuoetjzoetnzoepfqgvpfqkeyne.com同時也要創建一個自身的傀儡進程seynhbuoetjzoetnzoepfqgvpfqkeyne.com,如圖13所示。

圖13:seynhbuoetjzoetnzoepfqgvpfqkeyne.com創建自己為傀儡進程

在允許創建傀儡進程seynhbuoetjzoetnzoepfqgvpfqkeyne.com后,SSF監控到seynhbuoetjzoetnzoepfqgvpfqkeyne.com要運行系統程序wupdmgr.exe,如圖14所示。

圖14:seynhbuoetjzoetnzoepfqgvpfqkeyne.com要運行系統wupdmgr.exe

wupdmgr.exe是windows update manger的縮寫,是自動升級的程序。我們接下來看一下,病毒程序seynhbuoetjzoetnzoepfqgvpfqkeyne.com要調用系統wupdmgr.exe程序干什么壞事。繼續允許它運行wupdmgr.exe,SSF監控到seynhbuoetjzoetnzoepfqgvpfqkeyne.com要修改wupdmgr.exe內存數據,如圖15所示。

圖15:修改wupdmgr.exe內存數據、注入

在我們允許之后,SSF又監控到同樣的病毒行為提示,如圖16所示。

圖16:兩次是否允許修改wupdmgr.exe內存數據

在允許修改wupdmgr.exe內存數據后,SSF監控到wupdmgr.exe在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run下,寫入名稱為47801的啟動項,如圖17所示。

圖17:wupdmgr.exe創建啟動項47801

到這里我們先來印證一下SSF監控到這些病毒行為,如圖18所示,病毒樣本的確是在C盤根目錄下創建ATI文件夾並寫入病毒文件Catalyst.exe。

圖18:病毒樣本運行后寫入的病毒文件Catalyst.exe

圖19所示的是病毒樣本~%PHENOVECNYE.ini在系統臨時目錄下寫入的病毒文件seynhbuoetjzoetnzoepfqgvpfqkeyne.com。

圖19:系統臨時目錄下的病毒樣本seynhbuoetjzoetnzoepfqgvpfqkeyne.com

再使用xuetr工具查看一下系統當前進程及啟動項,如圖20所示,在進程列表里我們看到wupdmgr.exe,其父pid為1480,也就是seynhbuoetjzoetnzoepfqgvpfqkeyne.com,seynhbuoetjzoetnzoepfqgvpfqkeyne.com修改wupdmgr.exe內存數據並將其啟動起來,為病毒下一步干壞事做好准備。

圖20:xuetr進程列表顯示wupdmgr.exe已經運行起來

再來看啟動項,wupdmgr.exe寫入啟動項名稱為47801,其執行路徑為:C:\Documents and Settings\Administrator\Local Settings\Temp\ccwaaiehv.bat,如圖21所示。

圖21:wupdmgr.exe寫入的啟動項

右鍵點擊啟動項點定位到啟動文件,如圖22所示,我們來看一下這個bat到底是什么文件。

圖22:定位啟動文件

圖23所示的啟動項文件是一個被設置為隱藏的ccwaaiehv.bat。

圖23:定位到的病毒文件ccwaaiehv.bat

使用記事本打開這個ccwaaiehv.bat文件,看一下批處理的內容是什么,發現ccwaaiehv.bat其實也是一個pe文件,如圖24所示。

圖24:ccwaaiehv.bat文件頭為MZ標准的pe格式文件

我們提取ccwaaiehv.bat和Catalyst.exe這兩文件,使用瑞星V16+查殺一下這兩個樣本,如圖25所示,瑞星V16+對這兩個文件報毒。

圖25:V16+查殺這兩個病毒樣本

實際上,在wupdmgr.exe被修改內存數據,並寫入啟動項47801后,這個病毒整個已經跑起來了。接下來我們就要進一步觸發一下這個病毒,看一下這個病毒后續的行為。怎么觸發呢?從這個病毒lnk快捷方式的名稱為我的移動(4G)及圖4來看,我們猜測這個病毒樣本可能針對的是移動存儲設備U盤來做文章,既然猜測是這樣,我們就給染毒環境插入一個正常U盤,如圖26所示,是一個實機正常插入的可移動磁盤。

圖26:正常的U盤

我們把這個U盤切換到染毒環境的虛擬機,在切換到染毒環境之前我們將processmonitor這個工具的捕捉功能開啟,讓processmonitor捕捉一下U盤在切換到染毒環境后的一些病毒行為。如圖27所示,完好的U盤在切換到染毒環境下,U盤上的數據都看不到了,只剩下一個HB1_CCPA_X6(8GB)的快捷方式。

圖27:U盤上的數據只剩下一個2kb的快捷方式

我們來看一下processmonitor工具都捕捉到了哪些病毒行為,病毒是如何將U盤數據隱藏的。由於Processmonitor捕捉到內容較多,如圖28所示,我們直接查找wupdmgr.exe,Processmonitor顯示進程wupdmgr.exe的pid為2000,這樣我們就可以設置過濾規則,直接查看進程wupdmgr.exe的行為。

圖28:Processmonitor顯示的wupdmgr.exe的pid為2000

接下來設置規則分別為pid為2000、操作為寫入、操作為設置注冊表值這三項,如何設置過濾規則就不詳細講解了,看過我們之前的文章,相信大家應該掌握了。如圖29所示,我們添加三條過濾規則。

圖29:設置過濾規則

設置好規則后,我們看到在插入U盤(盤符為E:),wupdmgr.exe向U盤寫入文件desktop.ini及Thumbs.db,如圖30所示。

圖30:wupdmgr.exe向U盤寫入文件desktop.ini及Thumbs.db

同時還修改系統注冊表項HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced的ShowSuperHidden和Hidden的值,如圖31所示,圖32、33所示的是修改的具體鍵值數據。

圖31:wupdmgr.exe修改注冊表值

圖32:修改ShowSuperHidden值為0,勾選隱藏受保護的操作系統文件(推薦)

圖33:修改Hidden值為2,勾選不顯示隱藏的文件和文件夾

這樣修改后,我們就無法查看系統隱藏的文件,其目的就是隱藏U盤上的數據,使我們無法查看到,因為病毒將U盤的文件都設置了隱藏屬性,同時wupdmgr.exe向U盤寫入病毒文件~%YZUAWLLH.ini,如圖34所示。

圖34:wupdmgr.exe寫入病毒文件~%YZUAWLLH.ini

寫入的病毒文件和我們之前運行的~%PHENOVECNYE.ini文件名不同,但其實都是同一個病毒程序。Processmonitor工具同時還捕捉到了wupdmgr.exe向U盤寫入lnk快捷方式,如圖35所示。

圖35:wupdmgr.exe寫入的以U盤名及大小為文件名的lnk快捷方式

右鍵查看U盤上lnk快捷方式的屬性,發現同樣也是通過系統的rundll32來運行的~%YZUAWLLH.ini,手法和我們的本例講解的病毒樣本一致,如圖36所示。

圖36:U盤上lnk快捷方式屬性

病毒處理

以上是病毒樣本的行為分析,接下來我們講一下如何手動處理這個病毒。使用xuetr工具來處理,如圖37所示,使用xuetr先結束進程wupdmgr.exe,之后再刪除病毒樣本寫入的啟動項及文件,如圖38所示。

圖37:結束wupdmgr.exe進程

圖38:刪除病毒寫入的啟動項47801及對應文件

之后還要刪除在C盤根目錄下創建的ATI文件夾,如圖39所示。

圖39:刪除病毒寫入的ATI文件夾

接下來恢復病毒樣本修改的注冊表項,如圖40所示,使用xuetr注冊表定位到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced,將ShowSuperHidden的值修改為正常1,如圖41所示。

圖40:恢復病毒修改的ShowSuperHidden的注冊表值

圖41:修改ShowSuperHidden正常鍵值為1

如圖42及圖43所示,使用xuetr工具恢復病毒修改的HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden注冊表值。

圖42:恢復病毒修改的Hidden的注冊表值

圖43:修改Hidden正常的鍵值為1

注冊表項修改為正常值后,我們就可以看到U盤上隱藏的病毒文件及一個U盤圖標似的文件,如圖44所示。

圖44:U盤上寫入的病毒文件及被隱藏的U盤數據

我們打開那個類似U盤圖標的文件夾,如圖45所示,所有的U盤數據都在這里。

圖45:類似U盤圖標下的所有U盤數據

接下來將U盤上病毒寫入的病毒文件刪除,右鍵選中U盤上病毒寫入的文件點刪除即可,如圖46所示。

圖46:刪除U盤上病毒文件

刪除之后就剩下了那個類似U盤圖標的文件夾,如圖47所示,這里可是有我們U盤上的數據,不能刪除。如何恢復正常的U盤呢?重新插拔一下U盤即可,如圖48所示。至此,我們手動完成了處理這個病毒。

圖47:剩余的類似U盤圖標的文件夾

圖48:重新插拔U盤后,U盤恢復正常

瑞星V16+對病毒預防的方法

來講解一下如何使用瑞星V16+來防范這類病毒。通過前面對病毒行為的分析,病毒修改了系統wupdmgr.exe內存數據並創建一個自身的傀儡進程wupdmgr.exe。那么我們就使用瑞星V16+的系統加固自定義規則,添加一條文件訪問規則,監控任何程序訪問或修改c:\windows\system32\wupdmgr.exe時都給予提示,如圖49所示。

圖49:瑞星v16+添加文件訪問規則,監控c:\windows\system32\wupdmgr.exe

還需要將系統加固的默認優化選項默認放過包含廠商數字簽名的程序文件及默認放過瑞星雲安全鑒定安全的程序文件勾選取消,如圖50所示。

圖50:取消系統加固默認優化選項

再跑一下這個病毒樣本,跑樣本前關閉瑞星文件監控,過一會瑞星V16+系統加固攔截到有可疑程序試圖打開c:\windows\system32\wupdmgr.exe,如圖51所示。

圖51:系統加固攔截到可疑程序打開c:\windows\system32\wupdmgr.exe

從圖51來看,重新運行了病毒樣本,該病毒樣本在系統臨時目錄下,創建32位隨機命名的com病毒文件。來看一下是否在C盤創建了ATI文件夾並寫入了病毒文件Catalyst.exe,如圖52所示,果然在C:\ATI寫入了病毒文件Catalyst.exe,說明病毒已經跑起來了。

圖52:再次運行病毒樣本,在C:\ATI寫入病毒文件Catalyst.exe

圖52-1所示的是病毒文件Catalyst.exe在系統臨時目錄下創建32位隨機命名的com文件。

圖52-1:寫入系統臨時文件夾的32位隨機com病毒文件

圖52和圖52-1都充分說明病毒已經跑起來了,在瑞星V16+系統加固攔截到病毒樣本試圖打開c:\windows\system32\wupdmgr.exe,注意系統加固默認是阻止,在我們不選擇處理方式后,系統加固自動攔截該行為。使用xuetr工具查看當前系統進程里,沒有wupdmgr.exe,如圖53所示。

圖53:當前進程列表沒有wupdmgr.exe

繼續查看啟動項,發現HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run也沒有被寫入可疑啟動項,如圖54所示。

圖54:xuetr顯示無可疑啟動項

插入U盤到染毒環境再測試一下,看看U盤的數據是否還會被隱藏並變成一個快捷方式。如圖55所示,插入U盤后一切正常,說明設置的規則能成功攔截該樣本。

圖55:插入U盤到染毒環境,U盤一切正常

剩下的就好辦了,手動刪除掉病毒創建的兩個無用的病毒樣本即可,如圖56所示。

圖56:回收站里被刪除的兩個無用的病毒樣本

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM