免殺的原理大全
發(fā)表時間:2023-05-25 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]42807933 暗組一、工具 mycll:特征碼定位 PEID:查殼工具 PEditor: 入口點修改工具 加花 c32asm ollybg oc:文件地址到內(nèi)存地址 的換...
42807933 暗組
一、工具
mycll:特征碼定位
PEID:查殼工具
PEditor: 入口點修改工具 加花
c32asm
ollybg
oc:文件地址到內(nèi)存地址 的換算
resscope:資源編輯
zeroadd:加區(qū)段的
木馬采衣:加花
maskpe,vmprotect:加密
upx,aspack北斗殼:壓縮
免疫007:免疫器
二、效果分析
1、加密:vmprotectv1.21和 MASKPE2.0(對瑞星有特效), 比較容易過瑞星表面, 不能過卡巴
壓縮:北斗, UPX:主要是減少體積
加花:對卡巴有特效, 通用性比較好
2、北斗+VMpro,但是北斗+maskpe 出錯!無殼木馬可以先加花
3、無殼木馬直接用maskPE22.0可過瑞星表面但是過不了卡巴。
4、無殼木馬加一道花指令后再用VMPRO1.21加密可直接過卡巴但是可能無法過瑞星表面
5、經(jīng)過免殺處理, 過幾種殺毒軟件, 加壓縮殼后仍免殺過他們, 但是北斗除外, 棉紗處理國卡巴的木馬北斗后可能被卡巴殺
6、測試操作
1)手工加花+掘北壓縮, 鴿子
先脫殼, 在用OD在零區(qū)域添加指令(根據(jù)字節(jié)編寫):先找原入口點, 零區(qū)域, 記錄其地址(新入口點), 指令push eax pop eax add esp 1 inc esp push 004A1E48 retn 保存。 用PE修改入口點。 能過卡巴, 過不了瑞星。 用掘北(對瑞星表面有特效)
2)工具加花(花蝴蝶三號)+VMPRO+UPX 。 捆綁器
三、手工加花方法
1、直接:OD, 記錄入口點;找零區(qū)域, 復(fù)制地址(新入口);寫指令:push 0 nop add esp 2 inc esp inc esp push exp pop esp push 原入口點 retn 改入口點(新)(lordpe);可以把這段代碼保存為二進制以后方便用。
2、去頭:復(fù)制頭, 并去掉, 填加到空白區(qū)域(新地址);再填加花指令。
3、加區(qū):zeroadd加區(qū)段, 大小一般100左右;OD打開文件, 用ALT+M打開內(nèi)存景象, 復(fù)制區(qū)段入口地址和原程序入口, 到區(qū)段加花, 程序入口地址不變;lordpe修改入口為區(qū)段的入口。
4、殼中:UPX壓縮;OD打開, 記錄殼的入口(即原入口);記錄零區(qū)域地址(新入口)加花(有的殼不能寫入, 或保存后不能運行);LORDPE改入口。
5、殼中加區(qū):UPX;zeroadd加區(qū);OD, 記錄殼后入口, ALT+M記錄區(qū)段入口, 在區(qū)段里加花; 改地址。
四、編寫花指令
1、相關(guān)匯編(王國軍匯編64講, 匯編指令查詢器)
2、花指令變形修改(用花蝴蝶三號給程序加花, OD打開)
1)替換法:把mov eax 程序.地址 jmp eax改為 push 地址 retn
2)添加法:在花指令的上面把nop換成 push eax pop eax
3)移位法:在花指令里把 push eax move xxxxx xxxx pop eax換成pop eax move xxxxx xxxx push eax
4)去除法:在花指令里把 push eax move xxxxx xxxx pop eax換成nop move xxxxx xxxx nop
5)以上4種方法可綜合利用
3、編寫技巧:
入口地址最好是: push 地址 retn的形式或 jb 入口地址 jnb 入口地址或 mov eax 入口地址 jmp eax , 而不是 jmp 入口地址, 因為容易被卡巴查殺。
五、myccl地位原理與使用介紹
1、基本原則:開始位置為代碼段的其實地址, 風(fēng)亂長度為物理長度, 定位一般選復(fù)合定位, 正向之程序從上到下恢復(fù), 定位內(nèi)存特征碼的時候用到后綴。 對體積比較大(1000 5000K)的程序分塊個數(shù)可少點, 第一次一般10快, 定位大致位置后可分非50 100塊(建議不超過200);體積比較小的程序分塊可大點, 定位的時間就少。
2、定位黑防鴿子的瑞星文件特征碼:用myccl檢測出來以后要用C32打開文件把檢測出來的數(shù)據(jù)段填0后用瑞星檢測。
3、定位鴿子的瑞星內(nèi)存特征碼:要在上步以后用。
1)TK.loader和myccl放在同一目錄, tk.loader用來加載木馬到內(nèi)存。 myccl參數(shù)與上同, 另外加上后綴。
2)點生成, 在目錄路徑上右鍵用TK.loader帶開目錄, 全部載入內(nèi)存, 用瑞星殺。
3)記錄被殺文件名, 手工刪除。 重復(fù)上步。
4)定位好以后, 用C32ASM打開已免殺的程序, 把定位好的內(nèi)存特征碼全部填0, 用OD載入, 用瑞星查, 測試定位是否正確。
4、技巧總結(jié):muccl定位文件特征碼效率不錯, 但是定位內(nèi)存特征碼相對比較慢, 而有時候?qū)ll文件內(nèi)存定位不理想, 這時候可以用OD手工定位。
六、免殺工具的組合運用
1、工具回顧:加壓縮殼一減少體積為住, 部分可過瑞星表面;加密與其他方法組合使用效果較好, 一般可過瑞星表面;加花免殺卡巴效果好多, 對不常見的黑軟這中方法的馬殺通用性比較好。
2、工具組合要領(lǐng):可以對無殼程序直接加密也可在無殼木馬加花后再加密;一般在其他免殺工作做好以后加壓縮殼;加花可以對無殼, 加密后的和加殼的軟件做。
3、實例
1)、超級加花器V1.0(最后一個選項)+VMPRITECT V1.21
2)、maskPE2.0 + upx + 加區(qū)加花:mask選import;花指令為 push ebx pop ebx push ebx pop ebx inc ecx dec ecx jb 原入口 jnb 原入口 , lordpe改入口
3)、maskPE2.0加密(鴿子):找零區(qū)域(00482274即新入口), 寫入jmp 原入口 ;用lordpe改入口;加密(import).
4、工具組合經(jīng)驗:找特效工具組合, 如maskpe 對瑞星表面, 加花對卡巴, 加掘北也對瑞星比較好 (加花后不能用maskpe)。 黑防鴿子棉紗花指令后再用MASKPE, 將不能正確運行, 但是可直接向上找5字節(jié)零區(qū)域直接寫jimp入口地址, 然后改入口, 再用mask加密, 就可運行 并免殺。
七、PE頭反調(diào)試
PE頭的修改步驟:用C32ASM打開目標, 計算PE header的大小(“?”)記錄PE頭開始地址, 把計算出大小的區(qū)塊向上復(fù)制, 則PE頭增大, 將其HEX大小寫入(”?“), 修改PE頭的開始地址。
八、免殺新技術(shù)(改殼免殺法)
1、改殼特征碼:研究的人少, 特征碼單一, 不脫殼做免殺方便簡單, 對于放DLL文件類型的木馬一定要先脫殼, 到處DLL文件分別做免殺。
2、步驟:用myccl定位加殼軟件, 用偏移量轉(zhuǎn)換器OC查看特征碼地址的內(nèi)存地址, 用跳轉(zhuǎn)法修改。
3、技巧:用UPX壓縮過的木馬程序, 有兩處跳轉(zhuǎn)都是卡巴的特征碼, 只要修改任一出都可達到免殺, 第一處是離入口點的一處JMP跳轉(zhuǎn), 第二出是最末尾的一處JMP, 所一可以直接找到用UPX壓縮過的任何木馬, 可以不用定位。 木馬復(fù)雜的特征碼修改經(jīng)過UPX壓縮后就變的簡單化。
寫花指令的時候找一些比較小的零區(qū)域, 用一句話花指令等方法, 效果不錯, 這些區(qū)域一般寫入花指令用 maskpe加密以后程序就回出錯, 但是用一句話花指令或去頭免殺法, 然后在用 maskpe 加密, 程序不會出錯(黑防鴿子的實驗結(jié)論)。
4、UPX殼的幾種免殺方法。 卡巴查到鴿子的一個固定地址是一個固定跳轉(zhuǎn)時, 就認為是木馬。 若跳轉(zhuǎn)下面有空為則可用:替換, 移位(把”特征代碼下移), 變換修改, 修改頭法(把頭轉(zhuǎn)移到空白區(qū)域再跳到第二句, 修改入口), 加殼加花。
5、北斗殼的幾種免殺。 北斗兼容性好, 壓縮率高, 但是有些本來免殺的軟件, 被北斗壓縮后可能被卡巴查殺。 寫花指令(免卡巴), 用VMPROTECT加密可過瑞星表面。 polycryptpe也能免殺瑞星表面, 007加密可阻止瑞星內(nèi)存掃描。
6、很多查毒軟件只查殼的頭幾句代碼, 可將起NOP掉測試, 并利用空白區(qū)域做免殺;殺毒軟件不太注意殼的特征碼, 所以殼的病毒特征碼是單一的, 可以很方便的定位和修改。
九、黑防鴿子全免殺:思路是先免殺木馬本身(改特征碼, 加花), 然后用工具加密或加壓(一般是壓縮), 最后對殼進行免殺(改殼特征碼, 加花)。
1、木馬本身免殺:修改瑞星內(nèi)存特征碼, 手工加花免殺卡巴江民
2、對瑞星表面查殺有特效的壓縮殼:撅北壓縮
上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識,學(xué)習(xí)了安全知識,幾乎可以讓你免費電腦中毒的煩擾。