病毒包和工具包下載:Github
一.前言
《病毒木馬防御與分析》系列以真實的病毒木馬(或惡意程序)為研究對象,通過現有的技術手段對其分析,總結出它的惡意行為,進而制定出相應的應對方法,對其徹底查殺。當然,因為我個人水平的有限,查殺分析的病毒可能不是過於高端復雜,但對你認識病毒工作原理還是會很有幫助的,甚至最后你也可以利用c語言實現一個簡單的病毒程序。
二.建立對手動查殺病毒技術的正確認識
1.病毒分析方法
一般來說,除非是感染型病毒,否則是不需要對病毒進行逆向分析的,只需要對病毒進行行為分析就可以編寫專殺工具。而如果是感染型病毒,由於需要修復被病毒感染的文件,那么就不能僅僅簡單地分析病毒的行為,而必須對病毒進行逆向分析,從而修復被病毒所感染的文件。因此,實際中的分析方法有以下兩種:
-
行為分析。惡意程序為了達到目的,都有自己的一些特殊的行為,這些特殊的行為是正常的應用程序所沒有的。比如把自己復制到系統目錄下,或把自己添加進啟動項,或把自己的某個DLL文件注入到其它進程中去。
-
逆向分析。當惡意程序感染了可執行文件之后,所感染的內容是無法通過行為監控工具發現的。而病毒對可執行文件的感染,有可能是通過PE文件結構中的節與節之間的縫隙來存放病毒代碼,也可能是添加一個新節來存放病毒代碼。無論是哪種方式,都需要通過逆向的手段進行分析。
2.病毒查殺步驟
-
查內存,排查可疑進程,將病毒從內存中干掉
-
查啟動項,刪除病毒啟動項
-
通過啟動項判斷病毒所在位置,並從根本上刪除病毒
-
修復系統
3.必備知識
1) 熟悉windows系統進程
2) 熟悉常見端口與進程對應關系
3) 熟悉windows自帶系統服務
- 系統隨機啟勱服務查看:msconfig/services.msc
- SvcHost.exe宿主進程對應的多項服務
- windows隱藏服務管理工具:SDCT
4) 熟悉注冊表啟動項位置
隨機啟動項目在注冊表中的位置
-
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
-
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
-
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
-
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
三.詳解Windows隨機啟動項目——注冊表
注冊表是Windows中的一個重要的數據庫,用於存儲系統和應用程序的設置信息。早在很多年前的Windows系統中注冊表就已經出現。隨后推出的Windows NT是第一個從系統級別廣泛使用注冊表的操作系統。但是,從Microsoft Windows 95操作系統開始,注冊表才真正成為Windows用戶經常接觸的內容,並在其后的操作系統中繼續沿用至今。
注冊表是一個重要的數據庫,里面存儲的是本系統中的所有配置,如開機啟動項,桌面背景,右鍵菜單,圖標,系統更新,系統中一些按鍵的響應,甚至還有系統管理員的信息。所以修改注冊表是一個病毒可以控制影響我們系統一個很直接的方式。比如在c語言中就提供了可以直接操作Windows注冊表的接口函數。
// 打開注冊表
LONG WINAPI RegCreateKey(
_In_ HKEY hKey,
_In_opt_ LPCTSTR lpSubKey,
_Out_ PHKEY phkResult
);
// 讀寫注冊表
LONG RegSetValueEx(
HKEY hKey,
LPCTSTR lpValueName,
DWORD Reserved,
DWORD dwType,
CONST BYTE *lpData,
DWORD cbData
);
此處在病毒編程實戰中再做詳細闡述
開機自啟動的實現方法就是通過注冊表實現,在注冊表中有固定的開機自啟程序設置位置。
在命令提示符中輸入regedit
打開注冊表看看能不能在下面五個開機自啟項中找到你本機的開機自啟軟件吧!
一個軟件出現在五個啟動項一個中即可
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run;
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Runonce;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
四.詳解Windows隨機啟動項目——系統服務
一個病毒往往會以系統服務的形式存在,也就是說他的圖標不會出現在你的桌面任務欄,不會像在我們初學編程時程序運行時的一個小黑框展現給用戶。
系統服務是指執行指定系統功能的程序、例程或進程,以便支持其他程序,尤其是底層程序。通過網絡提供服務時,服務可以在Active Directory(活動目錄)中發布,從而促進了以服務為中心的管理和使用。
在運行
中輸入msconfig
打開系統配置
在這里我們可以看到有服務
和啟動
,啟動
中即是之前我們所說在注冊表中的開機自啟動項了,不過很多病毒都有在系統配置啟動中隱藏自己的功能,所以我們還是要會在注冊表中查找。
我們選擇隱藏所以Microsoft服務
便可看服務列表大量服務被隱藏,只剩下非Microsoft服務,在這些中就可以查找異常服務進行查殺了。
除了這種查看服務的方式,我們還有一種更加詳細的方法,通過services.msc
查看。
在運行
中輸入services.msc
打開服務。
在這里我們可以看到大量的系統服務,比如有WLAN服務(連不上WIFI可以考慮重新啟動這個服務),Windows更新服務(可以考慮禁用)。通過查看描述,我們就可以發現一些異常的服務了,比如灰鴿子遠控,在其服務描述中很明顯的寫出了是灰鴿子。
在Windows下病毒也可以對自身服務進行隱藏,這類病毒就需要一些第三方工具了,利用SDCT工具可以查看到本機所有服務的信息,包括隱藏與未隱藏,啟動與未啟動。
SDCT工具還有之后的工具都可以在我的Github倉庫中找到
此外,病毒進程可能利用svcHost.exe宿主進程,此時在Windows任務管理器中病毒進程顯示的就是svcHost.exe名稱了,這種情況下我們需要利用一條命令來查看SvcHost.exe下有哪些進程。
命令: tasklist /svc
可以看到svchost.exe會存在多個進程,而每個進程下還有多個依賴於此進程的服務。
五.手動查殺病毒實戰——熊貓燒香病毒
如果像自己實踐記得在虛擬機下!
病毒包可以在Github倉庫找到
0. 病毒分析
病毒名稱: 武漢男生
,又名熊貓燒香病毒
。"Worm.WhBoy.h"
1).中毒症狀
-
拷貝自身到所有驅動器根目錄,命名為Setup.exe,並生成一個autorun.inf使得用戶打開該盤運行病毒,並將這兩個文件屬性設置為隱藏、只讀、系統。
-
無法手工修改“文件夾選項”將隱藏文件顯示出來。
-
在每個感染后的文件夾中可見Desktop_ini的隱藏文件,內容為感染日期 如:2007-4-1
-
電腦上的所有腳本文件中加入一段代碼:
<iframe src=xxx width=”0” height=”0”></iframe>
-
中毒后的機器上常見的反病毒軟件及防火牆無法正常開啟及運行。
-
不能正常使用任務管理器及注冊表。
-
無故的向外發包,連接局域網中其他機器。
-
感染其他應用程序的.exe文件,並改變圖標顏色,但不會感染微軟操作系統自身的文件。
-
刪除GHOST文件(.gho后綴),網吧、學校和單位機房深受其害。
-
禁用常見殺毒工具。
2).病毒特征
-
關閉眾多殺毒軟件和安全工具。
-
循環遍歷磁盤目錄,感染文件,對關鍵系統文件跳過。
-
感染所有EXE、SCR、PIF、COM文件,並更改圖標為燒香熊貓。
-
感染所有.htm/.html/.asp/.php/.jsp/.aspx文件,添加木馬惡意代碼。
-
自動刪除*.gho文件。
3).發作症狀
- 拷貝文件
病毒運行后,會把自己拷貝到C:\WINDOWS\System32\Drivers\spoclsv.exe
- 添加注冊表自啟動
病毒會添加自啟動項HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\svcshare -> C:\WINDOWS\System32\Drivers\spoclsv.exe
- 病毒行為
- 每隔1秒尋找桌面窗口,並關閉窗口標題中含有以下字符的程序
QQKav,QQAV,防火牆,進程,VirusScan,網鏢,殺毒,毒霸,瑞星,江民,黃山IE,超級兔子,優化大師,木馬克星,木馬清道夫,QQ病毒,注冊表編輯器,系統配置實用程序,卡巴斯基反病毒,Symantec AntiVirus,Duba,esteem proces,綠鷹PC,密碼防盜,噬菌體,木馬輔助查找器,System Safety Monitor,Wrapped gift Killer,Winsock Expert,游戲木馬檢測大師,msctls_statusbar32,pjf(ustc),IceSword
並使用的鍵盤映射的方法關閉安全軟件IceSword
並中止系統中以下的進程:
Mcshield.exe VsTskMgr.exe naPrdMgr.exe UpdaterUI.exe TBMon.exe scan32.exe
Ravmond.exe CCenter.exe RavTask.exe Rav.exe Ravmon.exe RavmonD.exe
RavStub.exe KVXP.kxp kvMonXP.kxp KVCenter.kxp KVSrvXP.exe KRegEx.exe UIHost.exe TrojDie.kxp
FrogAgent.exe Logo1_.exe Logo_1.exe Rundl132.exe
- 每隔18秒
點擊病毒作者指定的網頁,並用命令行檢查系統中是否存在共享,存在的話就運行net share命令關閉admin$共享。
- 每隔10秒
下載病毒作者指定的文件,並用命令行檢查系統中是否存在共享共存在的話就運行net share命令關閉admin$共享。
- 每隔6秒
刪除安全軟件在注冊表中的鍵值。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
RavTask KvMonXP kav KAVPersonal50 McAfeeUpdaterUI Network Associates Error Reporting Service ShStartEXE YLive.exe yassistse
並修改以下值不顯示隱藏文件
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL\CheckedValue
修改為 0x00
刪除以下服務
navapsvc wscsvc KPfwSvc SNDSrvc
ccProxy ccEvtMgr ccSetMgr SPBBCSvc
Symantec Core LC NPFMntor MskService FireSvc
- 感染文件
病毒會感染擴展名為exe,pif,com,src的文件,把自己附加到文件的頭部並在擴展名為htm,html, asp,php,jsp,aspx的文件中添加一網址,用戶一旦打開了該文件,IE就會不斷的在后台點擊寫入的網址,達到增加點擊量的目的,但病毒不會感染以下文件夾名中的文件,防止系統崩潰。
WINDOW
Winnt
System Volume Information
Recycled
Windows NT
WindowsUpdate
Windows Media Player
Outlook Express
Internet Explorer
NetMeeting
Common Files
ComPlus Applications
Messenger
InstallShield Installation Information
MSN
Microsoft Frontpage
Movie Maker
MSN Gamin Zone
1. 查內存,排查可疑進程,將病毒從內存中干掉
在虛擬機中運行熊貓燒香病毒,記得要在xp虛擬機啊,物理機現在Windows補丁已經免疫熊貓燒香了。
在虛擬機中我們打開任務管理器,發現剛一打開就會被關閉,這是熊貓燒香的特征之一。
右鍵一個分區,你會發現第一項不是打開,而是Auto
,這是因為熊貓燒香病毒會在分區產生一個autorun.inf
文件使得用戶打開該盤運行病毒,autorun.inf
文件是系統,隱藏文件。
甚至一些病毒會把Auto起名為打開,右鍵分區你會發現兩個
打卡
選項。
我們第一步就要先關閉病毒進程,排查內存時我們需要使用tasklist
命令查看可疑進程,spoclsv.exe
就是熊貓燒香的進程名了(這個可能需要大量的積累,最好是對Windows系統進程有大量了解)。
找到后通過taskkill /f /im PID
命令將其終止
有些病毒無論任務管理器還是taskkill命令都無法將其終止,這類病毒大多是有三個進程相互保護,有一個被終止后其他進程會立即再次啟動這個進程。
2. 查啟動項,刪除病毒啟動項
將病毒從內存中清除之后,接下來我們要刪除其服務和啟動項。
在禁用刪除掉啟動項之前,我們需要先記住這個病毒的路徑,以便第三步去刪除它的主體。
3. 通過啟動項判斷病毒所在位置,並從根本上刪除病毒
下圖就是熊貓燒香病毒本體的位置了,其實但看啟動項中exe路徑就能發現spoclsv服務的可疑了,它位於system32\drivers下,也不是一些常見的系統服務。
到這個路徑下刪除這個exe程序。
4. 修復系統
刪除完exe之后我們重啟系統,會發現現在系統中沒有spoclsv.exe這個進程了。
這時病毒還有可能會復發,因為系統還未完成修復,之前說的分區雙擊默認選項可能會導致病毒程序再次運行。
我們需要將Auto選項刪除,並且清理系統。
autorun.inf
就是關聯我們右鍵菜單的文件了。
我們通過attrib -s -h -a -r autorun.inf
來分別將autorun.inf
和setup.exe
隱藏屬性刪除並且刪除這兩個文件。
刪除之后我們雙擊分區打開會發現無法生效。
注銷系統后,右鍵菜單恢復。