前言
小伙伴們有沒有對病毒感覺很神秘啊,本篇文章就來揭秘特征碼免殺技術。
一、基礎必備知識
1.1、特征碼
特征碼又稱電腦病毒特征碼,它主要由反病毒公司制作,一般都是被反病毒軟件公司確定為只有該病毒才可能會有的一串二進制字符串,而這字符串通常是文件里對 應程式碼或匯編指令的地址。殺毒軟件會將這一串二進制字符串用某種方法與目標文件或處理程序作對比,從而判定該文件或進程是否感染病毒。
1.2、免殺的原理
1.2.1>修改入口點.或直接入口點加1
1.2.2>加殼加花偽裝
1.2.3>修改特征碼
1.3、MYCCL簡介
常用的定位木馬病毒特征碼的工具有三款,一款是CCL,一款是MultiCCL,另一款就是MYCCL。CCL程序出現后,使得特征碼修改已經成為了對付殺毒軟件的常用手法,但是殺毒軟件開始使用多重復合特征碼來對付特征碼修改就是說只有你同時改掉程序所有的守護特征碼此程序才不被殺。CCL這樣的定位工具無法直接定位出特征碼,要定位復合特征碼必須手工划分,而MYCCL是CCL的改進版,可以進行多重特征碼的定位,針對金山等殺軟的反向定位等功能,並實現自動化代碼定位和顯示。
MyCCL定位原理
假設一段木馬程序代碼是這樣(0代表NULL,X代表程序代碼,a、b、c等代表特征碼):
001h:XXXXXaXXXbXXXXXXXXXX
002h:XXXXXXXXcXXXXXxXXXXX
003h:XXXXXXXXXaXXXXXXXXXX
004h:XXXXXXXXXbXXXXXXXXXX
005h:XXXXXXXXXXXXcXXXXXXX
當文件同時包含a.b.c三種特征碼的時候,殺軟就報毒啦。這就是所謂的復合特征碼。當然殺軟在定義復合特征碼的時候可能有好幾種組合,好幾套特征碼。當是復合特征碼的時候,在用CCL來定位結果是很困難的。而MyCCL在CCL的基礎上又進步了。這里我們手動用MyCCL來生成5個文件。
========File1=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:00000000000000000000
003h:00000000000000000000
004h:00000000000000000000
005h:00000000000000000000
========File2=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:XXXXXXXXcXXXXXxXXXXX
003h:00000000000000000000
004h:00000000000000000000
005h:00000000000000000000
========File3=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:XXXXXXXXcXXXXXxXXXXX
003h:XXXXXXXXXaXXXXXXXXXX
004h:00000000000000000000
005h:00000000000000000000
========File4=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:XXXXXXXXcXXXXXxXXXXX
003h:XXXXXXXXXaXXXXXXXXXX
004h:XXXXXXXXXbXXXXXXXXXX
005h:00000000000000000000
========File5=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:XXXXXXXXcXXXXXxXXXXX
003h:XXXXXXXXXaXXXXXXXXXX
004h:XXXXXXXXXbXXXXXXXXXX
005h:XXXXXXXXXXXXcXXXXXXX
=========================
從File2開始就有了abc特征碼的組合,File2到File5就被殺了。被殺以后再用MyCCL,進行二次定位,這樣我們就知道了特征碼c的位置了。然后再把002h那行置0,再生成一次。
第二次生成5個文件:
========File1=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:00000000000000000000
003h:00000000000000000000
004h:00000000000000000000
005h:00000000000000000000
========File2=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:00000000000000000000
003h:00000000000000000000
004h:00000000000000000000
005h:00000000000000000000
========File3=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:00000000000000000000
003h:XXXXXXXXXaXXXXXXXXXX
004h:00000000000000000000
005h:00000000000000000000
========File4=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:00000000000000000000
003h:XXXXXXXXXaXXXXXXXXXX
004h:XXXXXXXXXbXXXXXXXXXX
005h:00000000000000000000
========File5=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:00000000000000000000
003h:XXXXXXXXXaXXXXXXXXXX
004h:XXXXXXXXXbXXXXXXXXXX
005h:XXXXXXXXXXXXcXXXXXXX
=========================
因為002h被我們置0了,這里只有File5有abc特征碼了,所以File5被殺,這時另一處c也暴露出來了,這樣我們就把所有c特征碼都定位出來了。MYCCL解決了CCL定位復合特征碼的困難。
二、操作演示
2.1、木馬配置
首先我們來配置一個木馬
<ignore_js_op>
然后用360掃描一下
<ignore_js_op>
2.2、免殺步驟解析
運行MYCCL.exe,單擊“文件”載入剛才生成的木馬文件。目錄可不用修改。
<ignore_js_op>
成功載入后,可看見“PE文件 節表信息”,病毒特征碼一般在CODE代碼范文內
<ignore_js_op>
再把“起始位置”下的CODE 代碼 復制到MyCCL的“開始位置”中。
<ignore_js_op>
設置好分塊數量,點擊生成。
生成后可以看見桌面出現OUTPUT目錄
用殺毒軟件進行查殺,殺完后點擊二次處理,再用殺軟查殺,直到未發現病毒為止。
<ignore_js_op>
處理掉。
可以發現找到特征碼區間
<ignore_js_op>
當然這個區間有點大。點擊“特征區間” 右鍵點擊 特征碼處,選擇 “復合定位此處特征”,填寫“分塊數量”再次重復前面的步驟 ,直至定位到特征碼分段長度小於或等於2為止。
三、如何修改特征碼
找到了特征碼,但是如何修改呢。簡單來說有幾種:大小寫轉換,空白區域跳轉,等值替換,填充。
本文由i春秋學院提供,原文地址:http://bbs.ichunqiu.com/thread-6802-1-1.html?from=kf