針對卡巴斯基2010的免殺研究

卡巴斯基2010 在針對數字簽名和系統文件防護變的非常嚴格,註冊表更不說,經過這麼多年的升級基本上沒有可以利用的價值, 卡巴斯基2010 之前版本可以通過修改感染系統文件進行啓動,繞過監控,只需要給PE 文件添加一個數字簽名,由於卡吧監控並不嚴格只是判斷是否加了簽名,而沒有判斷簽名是否正確,所以給很多馬留了生存空間。

 

 

但是, 卡巴2010 後的版本就沒有這麼幸運了,對系統目錄文件的驗證變的十分嚴格,即使想用程序給系統目錄的文件改個名字,也會被提示風險軟件,而主要的幾種啓動方式例如 服務啓動,Winlogon 啓動, ActiveX, 感染系統文件, DLL 劫持 , 替換 SVCHOST 等等,已經無計可實了。

 

下面簡單分析這幾種啓動方式死法

 

1. 服務啓動方面,註冊服務的最終都要寫註冊表,以前可以直接寫,後來導入註冊表,再後來通過 RegRestoreKey 恢復,最最後HIV 文件分析,現在怎麼寫也寫不進去了,死了。

 

 

2. Winlogon這個啓動方式非常好在 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon/Notify 項下面創建一個子鍵加上要啓動的項名稱在 DllName 中加上自己的 DLL DLL 導出幾個函數系統啓動時會由 Winlogon 加載啓動穩定是沒得說,不過修改註冊表這一步以經沒辦法實現了,實在可惜。

 

 

3. ActiveX目前還有可以利用的價值,不過要好好想想哈

 

 

4. DLL劫持一直被稱爲神奇的馬甲,但由於 卡巴2010 開始對系統文件目錄的嚴格查殺,劫持也變的非常不容易了IE 還可以利用,在 IE 的目錄裏把原 DLL  改名自己的 DLL  放進去然後發函數轉發到原 DLL ,由於 IE 目錄是 Program Files 目錄而非 %Windows% 所以進行劫持還是可取的,而且穿透防火牆的效果好,你沒見所有的防火牆直接就能放行嗎 ? 但缺點也很明顯,只有用戶啓動 IE 的時候你的 DLL 纔會被加載。 本文作者 冷風

 

 

5. SVCHOST服務啓動,首先要區分 SVCHOST 啓動與普通服務啓動。 SVCHOST 是唯一可以與 IE 顰美的方式,由於 DNS 服務的域名解析是由 SVCHOST 進程啓動的所以他必須連接網絡。而讓 SVCHOST 加載自己的 DLL  是一個非常好方式,比如前些時間流行的替換 BITS 服務就是,還可以過主動防禦。 SVCHOST 自己創建一個分組的話是最穩定的,得會多出一個 SVCHOST 進程出來。哎 , 缺點必須動註冊表。

 

對啓動方式 大概說一下 方便後面啓動的理解,看一下上面主流的啓動方式基本上以經被封殺的無路可以走了,而其它還有一些加載方法屬於某些人自己的神兵利器。如果別人不爆,想搞到也要大費力氣 。還是就上面幾種方式說說思路吧

 

首先就對修改註冊表啓動這一塊想過 2010 以經是不太可能的了,這些啓動方式中除去跟註冊表有關係的就是 DLL 劫持與 PE 感染了, PE 感染可以讓系統文件加載我們自己的 DLL  DLL 劫持實現不同但效果基本一樣,但這兩種方法兩關要過,其一是系統的 WFP 文件保護功能,其二就是 卡巴 2010對系統文件夾的保護了,對於系統的 WPW 功能你可以通過調用 sfc_os_dl 中的的第 5 個函數來關閉以前有人說要讓 winlogon 來執行,才能關閉其實不用,你可以直接調用,當然這個功能以被卡吧看住了只要你一調用他就殺你,解決方法是你把這個功能實現寫到 DLL 裏面,然後導出一個函數,你的程序加載這個 DLL  再調用,這樣 卡巴 雖然很牛但也不能知道你的函數是什麼導出格式,有幾個參數,所以他模擬也模擬不出,就行了。

 

然後就是與 卡巴 的正面交鋒了,這Y 的很猛的,首先他會使勁檢測你的程序 看是不是跟 windows 裏的系統文件有染,一但發就直接喀嚓了,所以一定要小心就算是使用 GetWindowsDirectory 之類的也要小心啦, 卡巴 同志這時候正瞪着眼睛看着你呢,比如你想使用把MoveFileEx 把裏面的文件改個名,然後把自己的文件 CopyFile  或者  MoveFile 進去,那就完蛋了, 卡巴 會直接報一個Install Windows 風險,爲什麼會報 Install Windows 風險呢?就是因爲你動系統目錄的文件了,不過他也不能太苛刻畢竟很多的正常的軟件也要訪問,如何解決這個鳥?通過批處理 BAT 行不?我試了不行。 本文作者 冷風

 

我通過另一個辦法簡單模擬了一下可以實現,其實很簡單啦,本文作者 冷風,方法就是你把要訪問系統目錄的功能分開來寫,比如你要替換Usp10.dll 然後通過啓動 Http SSL 服務來啓動你的馬,那你在關閉系統的文件保護之後,必須把原來的 Usp10.dll 改名,然後才能把自己的 DLL  拷貝進來,這時你要注意,給 Usp10.dll 改名和拷貝自己的文件不能在一個 PE 中完成,你可以把 改名這個操作放到  RenameUSP.EXE 中把拷貝 DLL 放到 WriteDll.EXE 中然後 想法調用這兩個 EXE 這樣每個 EXE 單獨操作, 卡巴 針對每個EXE 執行的時候不會報警,但合到一塊操作就會報警,還有不嫌麻煩的話把這些操作封裝到 DLL 再調用。 本文作者 冷風

 

 

在測試 卡巴 的中途我把半成品拿到瑞星的2010 測試了一下,發現主動防禦可以直接過去啦,看來瑞星還要努力啊,不過我喜歡瑞星,只要自己手工配置一下,杜絕 95% 的馬能跑起來還是完全沒有問題的 ^_^ 如果你要過瑞星的話要注意明文字符串,比如你在搞一個劫持 LPK.DLL 進行啓動的馬,那你最好不要在代碼出出現  TCHAR szHijiackDll[]=_T("LPK.DLL") 這樣的代碼,因爲瑞星好像會掃這個東西然後直接給你報一個 Win32.FakeLPK 還是簡單加密一下啦,就算用 _tcscat 連接也好哈。 本文作者 冷風

 

 

還有一點,我還沒能確定, 卡巴 在關方有一個列表,這個列表中的軟件呢,就算沒有數字簽名,也會被認爲是安全的軟件,他會把運行的文件對這個列表對比,有的話就直接放行了,這是一個人性化的操作,是否有可以利用的價值還需要研究吶,你想如果不連接網絡的話, 卡巴 怎麼處理他會不會放鬆檢查的嚴格成度來保證軟件的兼容性?在測試時我給EXE 隨便加了一個簽名,然後斷網運行,發現原來報警,斷網卻沒有報警。這個沒有嚴格測試有朋友感興趣就自己測試一下吧。 本文作者 冷風

 

 

嗯,驅動很熱門啊,用驅動搞死它行不? 行啊!!不過,但是,可是 ...... 就算是神槍手要殺人也得有出槍的機會,但是 卡巴 大叔不會給你這個機會,所以這個想法還是放棄的好。驅動嘛還是用來做安全盾牌吧,進了驅動就是天堂,但是殺毒軟件在進天堂的緊要關口都設了埋伏,所以我們還是從R3 下地獄好了, R3 下雖然很崎嶇但畢竟路很多。 本文作者 冷風

 

 

360也在搞安全認證,不過現在只接受公司的軟件認證,看來這是很好的一塊市場啊,如果 360 成了權威的安全認證的話,以後的軟件都得加上 360 認證的證書。這樣也不錯,畢竟現在想要給你的軟件買個安全證書也不是容易的事情。哎我還有很我廢話要說不過我家領導要下班了,就寫到這裏,文章是隨興而寫亂七八糟,前張後合,有什麼錯誤的地方請多包涵,如果你有興趣的話可以與我聯繫,我的 ID 冷風 QQ121121606 歡迎指正錯誤一塊學習進步。

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