安裝“萬能解碼器”還原真實“解碼”
一、前言
最近新出一部很火的電視劇,每天晚上更新兩集,看完之后總覺得不過癮,就去網上找后面的視頻,還真被筆者找到。毫不猶豫點擊播放,發現提示需要安裝某某解碼器。對于這類提示一點都不新鮮,嘗試下載并運行解碼器后,往往并沒有達到預期效果,還會再次提醒下載,并沒有網站上描述的那么管用。筆者很好奇既然沒用,那運行的軟件具體功能是什么。筆者便下載了一個“解碼器”,果真不出所料,沒有任何解碼的功能,但是一個流氓推廣軟件。表面上看不出問題,只在后臺搞鬼,筆者便花了點心思詳細看了下該軟件的實現,發現該軟件作者在免殺和隱藏上下足了功夫。雖然功能老套但是思路不錯,下面就請跟隨筆者一起來看看這個所謂的“萬能解碼器”,還原真實“解碼”。
二、技術特點
下載之后,沒有圖標,運行沒有任何界面,并且多次運行效果相同。最后通過詳細分析,總結該程序有如下特點:
1. 程序對重要字符串進行了加密處理,且有多個加密算法。
2. 釋放的功能模塊文件在本地經過RC算法加密,非正常的PE文件。
3. 無主進程運行,核心模塊為內核驅動,找不到可疑進程。
4. 敏感操作放置在shellcode中,并進行加密,防止被第一時間殺掉。
5. 使用了內核技術,內核HOOK,設備HOOK。
6. 雙驅動相互保護隱藏,并且通用32位和64位系統平臺。
從對抗手法來看,該程序開發者無論在靜態還是動態對抗上面都花了大量功夫,以達到免殺和隱藏行為的效果。
三、程序具體分析
下圖是該程序的簽名信息,從表面上看沒有任何問題。
1. 加載器功能
該程序實際上是一個加載器,第一次運行后,后期都不再依靠該加載器運行。加載器通用于32位 和64位多個操作系統平臺,根據不同系統平臺釋放不同文件。數據解密之后釋放到系統目錄下(PassProtect.sys和2.dat)。
解密shellcode并運行代碼。
Shellcode中加載“PassProtect.sys”驅動文件,驅動加載狀態為自動啟動(開機自動加載)。
2. “PassProtect.sys”功能
首先清理“ntfs”和“fastfat”內核的所有設備,阻止自身被外部訪問,執行完操作后會對其還原。
對“2.dat”文件解密,使用RC算法,解密和加密是同一個函數,解密后回寫到文件。
通過內核函數ZwSetSystemInfomation加載“2.dat”驅動。
驅動加載之后再次通過RC加密回寫數據“2.dat”,并還原“ntfs”和“fastfat”的設備棧,隱藏第二個驅動代碼。
3. “2.dat”功能
通過設置線程創建回調,并主動觸發回調來找到“ExCallBackBlockRoutineProc”函數地址。
掛鉤“ExCallBackBlockRoutineProc”函數,通過過濾系統模塊和自身模塊,把其余所有模塊的回調函數修改入口直接返回,達到反進程創建監視的作用。
設置模塊加載回調和進程創建回調。
通過檢查加載的模塊是否是”kernel32.dll”判斷創建進程,并且修改瀏覽器進程的命令行參數。
檢查父進程為“explorer.exe”(用戶打開運行),并且添加事件修改命令行參數。
修改進程命令行參數,改變瀏覽器主頁。
創建系統線程,掛鉤NTfs的create回調。
在Create回調中,保護第一個驅動文件“PassProtect.sys”不被任何程序訪問。
四、總結
從上面分析看出,程序開發者通過各種技術手段,費勁心思,最終達到鎖主頁的目的。隨著目前各大殺軟對流氓推廣軟件的封殺,常規的推廣手法已不在適用,升級后的對抗已經不在簡單的修改注冊表。更為猥瑣和流氓的推廣方式紛紛出現,各顯神通,一不留神便被乘虛而入。當用戶放行這個程序,流氓推廣已經勢不可擋,直搗黃龍。假如作者狠一點,后果將是不可不堪設想。所以筆者在這里提醒各位讀者,對這類所謂解碼器最好從正規網站下載。由于程序經過免殺處理,能夠查殺的殺毒軟件并不多(見下圖VT掃描結果)。如果系統中曾經運行過該類解碼器或播放器,可以安裝下列可查殺的殺毒軟件進行查殺。最后祝愿各位免受“流氓”困擾,金龍索玉柱,百毒不沾身。










































