殺毒與免殺技術詳解之三:特徵碼免殺實戰

1、前言

    在前篇《殺毒與免殺技術詳解之二:特徵碼定位-工具及原理 》中,筆者主要介紹了MyCCL這個特徵碼定位工具的使用方式,並對它的原理進行了一步步的分析解釋,最後講了學習這一工具的意義和作用。今天,在這實戰篇中,我們將應用前面學到的知識,以幾個市面上的特徵碼殺毒引擎爲例,進行實戰的免殺。同時也非常歡迎諸位朋友指點,互相學習、進步!

2、實戰環境

    實驗主機: Vmware 11虛擬機
    操作系統: XP sp3
    實驗用具: MyCCL 2.1、C32Asm、一份病毒樣本(encode.exe)、百度殺毒、360殺毒搶鮮版
    (tips: 實在是不建議在物理機進行實驗,運行惡意程序風險很大)

    筆者已經準備好了病毒樣本進行實驗,在文章最後會連同視頻一起分享出來。當然,大家也可以拿自己的程序進行實戰,操作的方法是大同小異的!
    準備好工具之後,我們先將虛擬機中的網斷開。筆者這裏是NAT上網,直接禁用本地連接即可。
本地連接圖
    這一步是爲了禁用360的雲查殺功能,我們要免殺的引擎是本地的,不能混在一起免殺。
    第二步,我們打開360殺毒主界面:
360主界面1
    在這裏將實時防護關閉,以免一會自動把我們實驗的樣本殺了,然後點擊設置:
360設置
    在這裏將最後兩條的√去掉,防止在免殺過程中,自動上傳分析文件,導致引擎發生改變。
    最後一步設置,將引擎設置爲只開啓系統修復引擎即可:
設置系統修復引擎

3、開始實戰

    用殺軟查殺一下病毒樣本看看:
實戰1_查毒0
    確定沒問題。現在萬事俱備了,讓我們開始免殺實戰吧!先打開MyCCL,按上篇講過的方法,”文件”選好病毒樣本、”目錄”選好分塊文件存放目錄、設置分塊數量(我這爲20),設置好如下圖:
實戰1_設置

    點擊<生成>,彈出雙選框選’Yes’,生成完畢。然後打開分塊文件目錄:
實戰1_分塊文件

    確定分塊文件生成OK了,然後用配置好的360殺毒,對所有分塊文件進行查殺:
實戰1_報毒1

    將報毒的文件手動刪除,然後點暫不處理,別點立即處理。因爲只有刪除掉,MyCCL才能定位特徵碼。
    接下來就可以點擊”二次處理”按鈕了,二次處理過後,再查殺一下:
實戰1_無毒

    無毒的話就不用繼續查殺,如果有毒,就有重複”查殺刪除->二次處理->查殺刪除……”的循環。現在點擊特徵區間看看:
實戰1_特徵區間1

    這裏的格式是: 前一段是十六進制的文件偏移,後一段是十進制的特徵碼長度。我們第一次定位的特徵碼有4041字節!這麼大的範圍,肯定是不能直接進行修改免殺,所以我們要進行”複合定位”!
    在特徵區間這一行,右鍵->複合定位此處特徵。然後就和一開始的情況差不多了,只是範圍縮小了:
實戰1_複合定位

    我們再重複剛纔的步驟: “生成->查殺刪除->二次處理->查殺刪除->二次處理……”,就能得到更小範圍的特徵碼。一般四次以內的重複操作,就能得到2字節範圍的特徵碼,我們就能進行特徵碼的修改。

    一番重複定位之後,我們最終得到了特徵碼的區間,通過再次點擊”二次處理”,可以生成一個定位圖:

特徵碼 物理地址/物理長度 如下:
[特徵] 0004A982_00000002

特徵碼分佈示意圖:
[--------------------------------------------------]
[--------------------------------------------------]
[--------------------------------------------------]
[--------------------------------------------------]
[--------------------------------M-----------------]

    這時候,我們就可以查看一下特徵碼具體長什麼樣。筆者使用的是C32Asm這一款工具,在百度一查就有安全的下載地址。通過這款工具,我們可以很輕鬆地查看、修改文件內容,它有”靜態反彙編”的功能,所以修改起特徵碼很方便。
    筆者以後會寫一篇文章,專門討論特徵碼的修改,所以不會修改也不必擔憂,現在學習的重點是定位!
    我們打開C32Asm,將病毒樣本(不是分塊文件)拖入其中:
實戰1_C32啓動
    我們點擊”十六進制模式”,這個模式比較靈活,所以筆者推薦使用。一打開,看見一堆十六進制碼,別慌,讓我們先跳到特徵碼的位置!右鍵點擊->跳到:
實戰1_跳轉1

    將剛纔定位出的特徵碼的位置,填寫下去,點擊”確定”:
實戰1_特徵碼HEX

    看到這一段,熟悉病毒特徵的朋友應該能看出來,這就是病毒本體的一部分,這幾個函數就是病毒會用到的函數。有興趣的朋友可以自行研究,在文章結尾,會連同視頻一起打包,我們先回到正題上。
    目光放到特徵碼上,”E9 7A”被定位爲特徵碼,其實熟悉的朋友應該已經知道怎麼改了,因爲”E9”就是典型的jmp跳轉的機器碼,這裏筆者還是帶大家熟悉下。我們右鍵->對應彙編模式編輯,看看它對應的彙編代碼:
實戰1_特徵碼Asm

    可以很清楚地看到,這句代碼的意思就是要跳轉到某地址上。在這裏筆者先講一個方法——等價替代法,顧名思義就是用具有相同功能的代碼替換它。jmp的話,按經驗一般可以改成call,也就是將”E9”改爲”E8”。在這裏我們右鍵->彙編:
實戰1_彙編填充

    在這裏要將JMP改爲CALL,點擊”彙編”,然後就完成了:
實戰1_AsmDone

    我們點擊”文件”->”保存”,然後退出,再用360殺毒掃描看看:
實戰1_最終查毒

    我們已經成功免殺啦!現在360本地引擎已經沒辦法查出毒來了。怎麼樣?不算困難吧!我們可以通過同樣的原理,完成對BD引擎、小紅傘引擎的查殺,這就留給大家作爲練習吧。
    下一篇會講特徵碼修改的技巧,有興趣的朋友記得關注哦!
    如果有朋友沒有理解,或是操作出了問題,沒關係,本文附了操作視頻,操作可以跟着筆者一起做。如果還是不行,歡迎回複本文,也可以聯繫筆者,互相交流

4、附錄

實戰操作視頻及工具下載地址:
http://pan.baidu.com/s/1o6os8mI
推薦下大灰狼遠控,可以用來作爲免殺進一步練習,下載地址:
http://yunpan.cn/cdNzPxwzWh7gk 訪問密碼 5fa3

順便推薦下書籍,推薦書目:

  1. 《黑客免殺攻防》
  2. 《黑客免殺入門 》
  3. 《精通黑客免殺》
  4. 《殺不死的祕密: 反彙編揭露黑客免殺變種技術》

其中,筆者重點推薦第一本《黑客免殺攻防》,寫得不錯,而且相對其它幾本比較新,很多新技術都有講到。

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