殺毒軟件智能主動防御的軟肋--無驅(qū)恢復系統(tǒng)SSDT表
大部分的殺毒軟件其內(nèi)置的主動防御功能,通常考慮到用戶易用性的問題,都是采用的智能HIPS攔截,也就是說內(nèi)置一些HIPS攔截規(guī)則,智能判斷未知運行的程序安全性。智能HIPS為了解決兼容性的問題,通常攔截規(guī)則都比較寬松,否則會彈出許多攔截提示,而且會造成誤殺正常應用程序的問題,因此智能HIPS往往會對一些特殊的內(nèi)核操作不進行攔截,這也給木馬病毒留下了可供利用的空間。
上面提到的ByShell是通過加載驅(qū)動的方式實現(xiàn)恢復SSDT表的,這種方法目前已被殺毒軟件所查殺,然而有許多木馬開始采用了無驅(qū)方式恢復SSDT表,例如通過修改內(nèi)存、發(fā)送消息等,都可讓殺毒軟件的HIPS主動防御功能失效。
例如有一個名為"路過主動工具"的免殺程序,這個小工具可以讓目前最新的瑞星殺毒軟件2010、江民殺毒軟件KV2010、諾頓、卡巴斯基等主動防御功能全部失效。工具的使用很簡單,點擊"打開"按鈕,瀏覽指定要進行過主動防御免殺的木馬程序,確定后點擊"路過一下主動"按鈕,指定保存路徑即可生成一個過所有殺毒軟件主動防御功能的木馬程序(圖1)。
圖1 路過主動工具#p#
運行經(jīng)過處理的木馬程序,瑞星殺毒軟件2010、江民殺毒軟件KV2010等殺毒軟件的主動防御功能根本沒有任何提示,木馬被正常執(zhí)行加載。如果查看系統(tǒng)SSDT表,將會發(fā)現(xiàn)所有掛鉤的API函數(shù)已經(jīng)被恢復成系統(tǒng)原始狀態(tài)。
如果采用手工HIPS軟件進行保護防御,則可以看到經(jīng)過免殺的木馬程序是通過直接修改物理內(nèi)存的方式,實現(xiàn)恢復SSDT表功能的(圖2)。這也說明了手工專業(yè)的HIPS軟件主動防御功能,遠比殺毒軟件的智能HIPS防御更強。
圖2 修改物理內(nèi)存過主動防御#p#
完全過主動防御的木馬--Poison Ivy
Poison Ivy是一款極為特殊的木馬程序,它采用了特殊的ShellCode生成方式,并且可以突破各種殺毒軟件和一些專業(yè)HIPS軟件的主動防御功能,無聲無息的運行于系統(tǒng)中。Poison Ivy的最新版本為2.3.2(圖3),被發(fā)布于2008年,然而直到2010年,Poison Ivy的過主動防御方式依然未能被各種殺毒軟件所攔截查殺,可見其生命力之強!
圖3 Poison Ivy木馬
Poison Ivy的功能也是極為的強大和全面,而且支持插件擴展其功能,這也使得Poison Ivy木馬被廣泛利用。#p#
生成木馬服務端程序
運行Poison Ivy,點擊菜單"File"→"New Server"命令,打開服務端生成對話框(圖4)。點擊"Create Profile"按鈕將新建一個配置文件,在打開的對話框中輸入一個配置文件名稱。完成后左邊項目欄中的原本灰色的按鈕將被激活,然后按其排列順序完成服務端的其它配置。
圖4 創(chuàng)建配置文件
點擊界面中的"Connection"按鈕,將出現(xiàn)設置連接信息的界面(圖5)。
圖5 反彈連接設置#p#
poison ivy是一個具有反向連接的木馬程序,可在"DNS/PORT"文本框中,輸入正確的客戶端IP地址和監(jiān)聽服務器端的端口。默認設置為"127.0.0.1:3460:0"以連接本機進行測試,可點擊"Add"按鈕添加設置(圖6)。
圖6 設置連接域名與端口
其它項目用于設置Poison Ivy被控端只有指定用戶可進行控制和連接,可以保持默認的空設置。其中,ID項中可輸入建立的用戶名,在"GROUP"中輸入組名,在"Password"輸入連接密碼。另外,可設置通過代理連接被控端。
點擊"Next"按鈕,進入"Install"配置項。在Install配置界面,可以指定文件名、安裝到系統(tǒng)中的什么位置。為了突破主動防御,可選擇ActiveX Key方式啟動,并設置ActiveX插件名稱(圖7)。下方的Copy File使用默認設置即可。其中有一個特殊的選項"Copy to Alternate Data Streams",這是采用NTFS分區(qū)數(shù)據(jù)流隱藏木馬,非常獨特少見的一種木馬隱藏方式。
圖7 選擇ActiveX Key啟動方式可過主動防御#p#
點擊Next下一步,在Advanced高級設置界面中,可以選擇"key logger"啟用記錄鍵盤輸入功能。在Format選項中,可以設置最終生成程序格式,一般生成PE文件格式,也可選擇生成ShellCode方式。這里選擇生成PE格式(圖8)。
圖8 點擊Icon按鈕
點擊Next下一步按鈕,點擊Icon按鈕,可為木馬程序設置一個圖標。
再點擊"Generate"按鈕(圖9),指定木馬保存路徑,即可生成一個EXE格式的木馬程序了。生成的木馬程序體積僅有7KB,非常小巧。
圖9 生成木馬#p#
監(jiān)聽上線遠程控制
當遠程目標主機運行了木馬程序后,就可打開客戶端進行監(jiān)控了。
在Poison Ivy界面中點擊菜單"File"→"New Client"命令,打開生成客戶端界面(圖10)。在生成客戶端界面的"Listen on Port"下拉框中選擇建立服務端時設置的端口號,在"Password"文本框中輸入建立服務端時設置的密碼,或直接導入軟件產(chǎn)生的"KEY"文件,然后點擊"Start"按鈕就可以開始新的監(jiān)聽服務。
圖10 顯示上線主機信息
木馬上線后,在界面中會顯示上線主機信息,包括遠程主機IP地址、CPU、內(nèi)存、系統(tǒng)版本等(圖11)。
圖11 木馬上線#p#
在上線主機列表中,雙擊主機名,可打開控制界面,就可以進行各種遠程控制了(圖12)。Poison Ivy的遠程控制功能很強,包括遠程文件、注冊表、進程、硬件設備、安裝程序、窗口管理,還可查看遠程端口、管理員密碼和網(wǎng)絡密碼,鍵盤記錄、聲音記錄、桌面與視頻捕獲等。
圖12 遠程控制功能
【編輯推薦】