免殺

免殺

免殺技術全稱為反防毒技術Anti Anti- Virus簡稱“免殺”,它指的是一種能使病毒木馬免於被防毒軟體查殺的技術。由於免殺技術的涉獵面非常廣,其中包含反彙編逆向工程系統漏洞等黑客技術,所以難度很高,一般人不會或沒能力接觸這技術的深層內容。其內容基本上都是修改病毒、木馬的內容改變特徵碼,從而躲避了防毒軟體的查殺。

基本介紹

  • 中文名:免殺
  • 外文名:免殺
  • 就是:反病毒
  • 逐字翻譯:為“反-反病毒”
發展史,能做什麼,涉及什麼,技術分類,手工分類,特徵碼,定位原理,修改工具,修改方法,檔案免殺方法:,加冷門殼,加殼改殼,加花指令,改程式入口點,免殺修改技巧,

發展史

理論上講,免殺一定是出現在防毒軟體之後的。而通過防毒軟體的發展史不難知道,第一款防毒軟體kill 1.0是Wish公司1987年推出的,也就是說免殺技術至少是在1989年以後才發展起來的。關於世界免殺技術的歷史信息已無從考證,但從國內來講,免殺技術的起步可以說是非常晚了。
1989:第一款防毒軟體Mcafee誕生,標誌著反病毒與反查殺時代的到來。
1997年:國內出現了第一個可以自動變異的千面人病毒(Polymorphic/Mutation Virus)。自動變異就是病毒針對防毒軟體的免殺方法之一,但是與免殺手法的定義有出入。
2002年7月31:國內第一個真正意義上的變種病毒“中國黑客II”出現,它除了具有新的特徵之外,還實現了“中國黑客”第一代所未實現的功能,可見這個變種也是病毒編寫者自己製造的。
2004:在黑客圈子內部,免殺技術是由IT工程師之家團隊在這一年首先公開提出,由於當時還沒有CLL等專用免殺工具,所以一般都使用WinHEX逐位元組更改。
2005年1:大名鼎鼎的免殺工具CCL的軟體作者tankaiha在雜誌上發表了一篇文章,藉此推廣了CCL,從此國內黑客界才有了自己第一個專門用於免殺的工具。
2005年2月-7:通過各方面有意或無意的宣傳,黑客愛好者們開始逐漸重視免殺,在類似於華夏論壇等黑客站點的木馬專欄下,開始有越來越多的人討論免殺技術,這為以後木馬免殺的火爆埋下根基。
2005年08:第一個可查的關於免殺的動畫由小野(icexiaoye)完成,為大量黑客愛好者提供了一個有效的參考,成功地對免殺技術進行了第一次科普。
2005年09:免殺技術開始真正的火起來。
由上面的信息可見,國內在1997年出現了第一個可以自動變異的千面人病毒,雖然自動變異也可以看為是針對防毒軟體的一種免殺方法,但是由於與免殺手法的定義有出入,所以如果將國內免殺技術起源定位1997年會顯得比較牽強。
一直等到2002年7月31日,國內第一個真正意義上的變種病毒“中國黑客II”才遲遲出現,因此我們暫且可以將國內免殺技術的起源定位在2002年7月。

能做什麼

您有沒有過心愛的工具被防毒軟體KILL的經歷;您有沒有過辛辛苦苦整理出來的工具集被防毒軟體搞成面目全非而“義憤填膺”的時候;您有沒有過好不容易拿到許可權,上傳的木馬卻被殺的痛心時刻?免殺,它能做的就是避免這些事情的發生!使防毒軟體成為擺設!當然,除此之外免殺技術帶給我們更多的,將是思想的飛躍與技術的成長。

涉及什麼

但是要想真正明白免殺能做什麼,就要先明白免殺會涉及到什麼。對於初學者來說,免殺只會涉及到一點基本的PE檔案知識與一些免殺工具的使用,而對於高手來說,免殺甚至會涉及到Ring0(核心層)的程式編譯技巧。所以免殺這門課程涵蓋面還是相當寬泛的。

技術分類

1、開源免殺:指在有病毒、木馬原始碼的前提下,通過修改原始碼進行免殺。
2、手工免殺:指在僅有病毒、木馬的執行檔(.exe)(PE檔案)的情況下進行免殺。

手工分類

1.檔案免殺和查殺:在不運行程式的前提下使用防毒軟體進行對該程式的掃描,所得結果。
2.記憶體的免殺和查殺:判斷的方法1>運行後,用防毒軟體的記憶體查殺功能。
2>用OD載入,用防毒軟體的記憶體查殺功能。

特徵碼

1.含意:能識別一個程式是一個病毒的一段不大於64位元組的特徵串。
2.為了減少誤報率,一般防毒軟體會提取多段特徵串,這時,我們往往改一處就可達到免殺效果,當然有些防毒軟體要同時改幾處才能免殺。

定位原理

1.特徵碼的查找方法:檔案中的特徵碼被我們填入的數據(比如0)替換了,那防毒軟體就不會報警,以此確定特徵碼的位置。
2.特徵碼定位器的工作原理:原檔案中部分位元組替換為0,然後生成新檔案,再根據防毒軟體來檢測這些檔案的結果判斷特徵碼的位置

修改工具

1.CCL(特徵碼定位器,由於殺軟的升級,現已過時)
2.MYCCL(特徵碼定位器,由程式設計師Tanknight在CCL的基礎上改進)
3.OllyDbg (特徵碼的修改,可用於動態反彙編。注意:用它修改特徵碼時,要用OC轉換成記憶體地址)
4.C32ASM(特徵碼的修改,也可用於靜態反彙編
5.OC(用於計算從檔案偏移地址記憶體地址的小工具)
6.UltaEdit-32(十六進制編輯器,用於特徵碼的手工準確定位或修改)

修改方法

特徵碼修改包括檔案特徵碼修改和記憶體特徵碼修改,因為這二種特徵碼的修改方法
是通用的。所以就對流行的特徵碼修改方法作個總節。
方法一:直接修改特徵碼的十六進制法
1.修改方法:把特徵碼所對應的十六進制改成數字差1或差不多的十六進制.
2.適用範圍:一定要精確定位特徵碼所對應的十六進制,修改後一定要測試一下檔案能
否正常使用.
方法二:修改字元串大小寫法
1.修改方法:把特徵碼所對應的內容是字元串的,只要把大小字互換一下就可以了.
2.適用範圍:特徵碼所對應的內容必需是字元串,否則不能成功.
方法三:等價替換法
1.修改方法:把特徵碼所對應的彙編指令命令中替換成功能類擬的指令.
2.適用範圍:特徵碼中必需有可以替換的彙編指令.比如JE,JNE 換成JMP等.
如果對彙編不懂的偏移可以去查看8080彙編手冊.
方法四:指令順序調換法
1.修改方法:把具有特徵碼的代碼順序互換一下.
2.適用範圍:具有一定的局限性,代碼互換後必須不能影響程式的正常執行
方法五:通用跳轉法
1.修改方法:把特徵碼移到零區域(指代碼的空隙處)執行後,使用jmp指令無條件調回原代碼處繼續執行下一條指令
2.適用範圍:通用的改法,建議大家要掌握這種改法.
方法六:一鍵加殼法
1.修改方法:直接把檔案拖入UPX加殼軟體內,據說這種方法是麥子在兄弟網路發布的
2.適用範圍:能夠有效的免殺exe檔案,建議大家要掌握這種改法。
 

檔案免殺方法:

加冷門殼

舉例來說,如果說程式是一張烙餅,那殼就是包裝袋,可以讓你發現不了包裝袋裡的東西是什麼。比較常見的殼一般容易被防毒軟體識別,所以加殼有時候會使用到生僻殼,就是不常用的殼。去買口香糖你會發現至少有兩層包裝,所以殼也可以加多重殼,讓防毒軟體看不懂。如果你看到一個袋子上面寫著乾燥劑、有毒之類的字你也許就不會對他感興趣了吧,這就是偽裝殼,把一種殼偽裝成其他殼,干擾防毒軟體正常的檢測。

加殼改殼

加殼改殼是病毒免殺常用的手段之一,加殼改殼原理是將一個木馬檔案加上upx殼或者其它殼後用lordpe將檔案入口點加1,然後將區段字元全部去掉,然後用od打開免殺的木馬在入口上下100字元內修改一些代碼讓防毒軟體查不出來是什麼殼就不知道怎么脫就可以實現免殺的目的,但這種技術只有熟悉彙編語言的人才會,這種免殺方法高效可以一口氣過眾多殺軟也是免殺愛好者應該學會的一種技術。

加花指令

加花是病毒免殺常用的手段,加花的原理就是通過添加加花指令(一些垃圾指令,類型加1減1之類的無用語句)讓防毒軟體檢測不到特徵碼,干擾防毒軟體正常的檢測。加花以後,一些防毒軟體就檢測不出來了,但是有些比較強的防毒軟體,病毒還是會被殺的。這可以算是“免殺”技術中最初級的階段。

改程式入口點

修改程式入口點

免殺修改技巧

修改記憶體特徵碼:
1.直接修改特徵碼的十六進制法
2.修改字元串大小寫法
3.等價替換法
4.指令順序調換法
5.通用跳轉法·
小結:免殺在某種程度上可以說是防毒軟體的對立面,這種技術隨著防毒軟體的升級而升級,
從最初的表面查殺到的木馬行為防禦瑞星),檔案實時防毒(金山)等等,
免殺技術都將這些繞過,我們可以看到,殺軟每增加一個新功能,免殺新技術就應運而生
用一句古語說,免殺技術是與防毒軟體相生相剋的。
學習免殺,你將領略到彙編與反彙編的快樂天堂!
4.最新的無特徵免殺法
何為無特徵免殺法?就是脫離傳統的定位方法,直接盲免,就對於整體區段進行異或加密,是整體代碼發生變換,從而逃脫防毒軟體的查殺,是當今最流行的方法。

相關詞條

熱門詞條

聯絡我們