作為網頁掛馬的散布者,其目的是將木馬下載到用戶本地,并進一步執(zhí)行,當木馬獲得執(zhí)行之后,就意味著會有更多的木馬被下載,進一步被執(zhí)行,進入一個惡性的循環(huán),從而使用戶的電腦遭到攻擊和控制。為達到目的首先要將木馬下載到本地。根據上圖的流程,常見的方式有以下幾種:
1.將木馬偽裝為頁面元素。木馬則會被瀏覽器自動下載到本地。
2.利用腳本運行的漏洞下載木馬
3.利用腳本運行的漏洞釋放隱含在網頁腳本中的木馬
4.將木馬偽裝為缺失的組件,或和缺失的組件捆綁在一起(例如:flash播放插件)。這樣既達到了下載的目的,下載的組件又會被瀏覽器自動執(zhí)行。 四川公司服務內容:四川做網站www.dd0886.com四川網絡公司
5.通過腳本運行調用某些com組件,利用其漏洞下載木馬。
6.在渲染頁面內容的過程中利用格式溢出釋放木馬(例如:ani格式溢出漏洞)
7.在渲染頁面內容的過程中利用格式溢出下載木馬(例如:flash9.0.115的播放漏洞)
在完成下載之后,執(zhí)行木馬的方式有以下幾種:
1.利用頁面元素渲染過程中的格式溢出執(zhí)行shellcode進一步執(zhí)行下載的木馬
2.利用腳本運行的漏洞執(zhí)行木馬
3.偽裝成缺失組件的安裝包被瀏覽器自動執(zhí)行
4.通過腳本調用com組件利用其漏洞執(zhí)行木馬。公司服務內容:網站推廣www.dd0886.com網站維護
5.利用頁面元素渲染過程中的格式溢出直接執(zhí)行木馬。
6.利用com組件與外部其他程序通訊,通過其他程序啟動木馬(例如:realplayer10.5存在的播放列表溢出漏洞)
在與網馬斗爭的過程中,為了躲避殺毒軟件的檢測,一些網馬還具有了以下行為:
1.修改系統(tǒng)時間,使殺毒軟件失效
2.摘除殺毒軟件的HOOK掛鉤,使殺毒軟件檢測失效
3.修改殺毒軟件病毒庫,使之檢測不到惡意代碼。
4.通過溢出漏洞不直接執(zhí)行惡意代碼,而是執(zhí)行一段調用腳本,以躲避殺毒軟件對父進程的檢測。
網頁掛馬的檢測
傳統(tǒng)的檢測防御方式:
1.特征匹配。將網頁掛馬的腳本按腳本病毒處理進行檢測。但是網頁腳本變形方、加密方式比起傳統(tǒng)的PE格式病毒更為多樣,檢測起來也更加困難。
2.主動防御。當瀏覽器要做出某些動作時,做出提示,例如:下載了某插件的安裝包,會提示是否運行,比如瀏覽器創(chuàng)建一個暴風影音播放器時,提示是否允許運行。在多數情況下用戶都會點擊是,網頁木馬會因此得到執(zhí)行。
3.檢查父進程是否為瀏覽器。這種方法可以很容易的被躲過且會對很多插件造成誤報。
安天防線的行為分析方式:
1.檢測偽裝文件格式。通過對文件格式精確的識別,判斷頁面元素是否為偽裝的惡意代碼。
2.檢查頁面元素來源是否為長期散布網頁掛馬的站點。
3.檢測特定函數調用堆棧實現。
(a)區(qū)分用戶下載文件,瀏覽器自動下載文件。
(b)檢測已知緩沖區(qū)漏洞。
(c)檢測進程創(chuàng)建調用堆棧、調用參數是否和瀏覽器常規(guī)一致,以檢測未知漏洞造成的文件執(zhí)行。
4.對文件執(zhí)行進行監(jiān)控,檢測文件執(zhí)行參數等特征。
5.對部分目錄寫文件操作進行監(jiān)控。
6.檢測系統(tǒng)時鐘修改。
7.檢測對系統(tǒng)DLL內存鏡像修改(導入、導出表、函數體內容)。
8.檢查PE文件和CAB包裹的數字簽名。
9.特定文件格式檢測,檢測已知的格式溢出。
通過對以上幾項的加權處理,可以實現有效對已知和未知網頁掛馬的檢測。