麥洛克菲-逆向病毒分析課程二_第1頁
麥洛克菲-逆向病毒分析課程二_第2頁
麥洛克菲-逆向病毒分析課程二_第3頁
麥洛克菲-逆向病毒分析課程二_第4頁
麥洛克菲-逆向病毒分析課程二_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

麥洛克菲內(nèi)核開發(fā)-逆向病毒分析課程

友情提示上課時間請勿:--請將您手機改為“震動”

避免在課室里使用手機--交談其他事宜--隨意進出教室請勿在室內(nèi)吸煙上課時間歡迎:--提問題和積極回答問題--隨時指出授課內(nèi)容的不當之處提綱一病毒技術發(fā)展例程(普通-加密-多態(tài)-變形)實例分析—如何找到有效代碼二復合性多態(tài)病毒sality分析實例分析—設計一個簡易的多態(tài)生成器三漏洞的逆向分析實例分析—CVE2012-0158漏洞

一病毒技術發(fā)展例程(普通-加密-多態(tài)-變形)定義:每次感染時,放入宿主程序的代碼互不相同,不斷變化。同一種病毒的多個樣本變種,病毒代碼不同,幾乎沒有穩(wěn)定代碼。所有采用特征法的檢測工具都不能識別它們。負面影響:與AVER的一場真正技術對抗。積極一面:促進AV技術的發(fā)展。一病毒技術發(fā)展例程(普通-加密-多態(tài)-變形)發(fā)展:普通病毒

加密

多態(tài)

變形本質:病毒作者們對抗策略變化對抗點:1特征掃描(工具)

2分析難度(分析員)病毒變形的過程典型感染示例:

正常文件感染后的文件PE頭部代碼及數(shù)據(jù)被修改PE頭部代碼及數(shù)據(jù)病毒數(shù)據(jù)一病毒技術發(fā)展例程(普通-加密-多態(tài)-變形)演變過程PROGRAMCODEPROGRAMCODEVIRUSCODEPROGRAMCODEPROGRAMCODEVIRUSCODEPROGRAM

病毒變形的過程演變過程PROGRAMCODEPROGRAMCODEPROGRAMCODEPROGRAMCODEVIRUS(Tail)VIRUS(Head)病毒變形的過程演變過程PROGRAMCODEPROGRAMCODEVIRUSPJPROGRAMCODEPROGRAMCODEABDCJ病毒變形的過程病毒變形的過程演變過程

普通感染的進步趨勢…PROGRAMCODEPROGRAMCODEVIRUSCODE+Decompressor病毒變形的過程一、普通加密病毒:EOP被修改PE頭部代碼及數(shù)據(jù)解密子被加密代碼病毒變形的過程加密病毒:vir.cascade,一下是代碼片段XI_000:CLI MOVBP,SP CALLXI_001XI_001:POPBX SUBBX,FIRSTCONST TESTBYTEPTRCS:[BX+Crypt2],EnCrptd JZXI_003 LEASI,[BX+XR_000] MOVSP,OFFSETEOFC-OFFSETXI_003XI_002:XOR[SI],SI XOR[SI],SP INCSI DECSP JNZXI_002XI_003LABELNEARXR_000EQUOFFSETXI_003+FIRSTBASEXR_001EQUXI_003+PSPsize MOVSP,BP JMPSHORTXI_004病毒變形的過程被Cascade感染后的現(xiàn)象:病毒變形的過程加密的基本結構movedi,00403045haddedi,ebpmovecx,0A6Bhmoval,[key]Decrypt:xor[edi],alincediloopDecryptjmpStartDBkey86Start:病毒變形的過程基于對抗的角度衍生出的加密技術:1多層加密。2隨機循環(huán)方向。3非線性解密(w95/fono)(在一定程度上對抗了VM技術,難以識別Decryptor)4RDA(randomdecryptionalgorithm)5…病毒變形的過程加密病毒的弱點:VXER意識到加密virus的一個弱點,解密子易于AVER檢測,為此產(chǎn)生了半多態(tài)技術(oligomorphic)思路很簡單:改變解密子的最簡單方法是,攜帶多個解密子(vir/whale)。此后進入了多態(tài)變形技術時代。病毒變形的過程Oligomorphicmovedi,00403045haddedi,ebpmovecx,0A6Bhmoval,[key]Decrypt:xor[edi],al

nopincedi

xoredi,0loopDecrypttesteax,eaxjmpStartDBkey86Start:junk病毒變形的過程Polymorphic/Mutation–區(qū)別與oligomorphic解密頭部分自動變化movesi,00403045haddesi,ebpmovebx,0A6Bhmovbl,[key]Decrypt:xor[esi],bl

cmpesi,esiincesi

xoredi,0

decebx

jnzDecrypttesteax,eaxjmpStartDBkey86Start:病毒變形的過程W95/HPS多態(tài)引擎支持方案:;Indexingmodes:;[reg];[reg+imm];[reg+reg];[reg+reg+imm];;Operationsusedtodecrypt:;INC;DEC;NOT;ADD;SUB;XOR;病毒變形的過程多態(tài)技術實現(xiàn)的基本流程:1改變指令順序2改變解密指令STOSD ->MOV[EDI],EAX,ADDEDI,4MOVEAX,EDX->PUSHEDX,POPEAXPOPEAX->MOVEAX,[ESP],ADDESP,43隨機數(shù)的生成4指令重建病毒變形的過程感染時注意事項:Infect_file:callVirtualAllocmovpMem,eax;動態(tài)分配一塊空間存放病毒

movedi,eaxmovesi,offsetvir_startmovecx,vir_end–vir_startrepmovsb;拷貝病毒

;產(chǎn)生密鑰

callrngmov[pMem+decrypt_key],eax…調(diào)用多態(tài)引擎poly32pushadmoveax,offsetv_encodemovecx,v_encode_end-v_encodexorebx,ebxmovbl,0ffhcallpoly32

popad病毒變形的過程效果驗證:

EOPEOP感染后不再有相同的代碼被修改PE頭部代碼及數(shù)據(jù)被混淆的解密子被加密代碼被修改PE頭部代碼及數(shù)據(jù)被混淆的解密子被加密代碼病毒變形的過程病毒變形的過程MetamorphicMOVEAX,1

PUSHEAX

MOVEBX,2

PUSHEBX

CALLAPIXOREAX,EAX

INCEAX

ADDESP,4

MOV[ESP],EAX

ANDEBX,2

OREBX,2

PUSHEBX

PUSHAPI

RET病毒變形的過程最高境界PROGRAMCODEPROGRAMCODEVIRUSCODE實例分析—如何找到有效代碼1復雜的情況下需要Ollydbg配合IDA來分析2對分析過的函數(shù),即便不清楚具體函數(shù)含義也要大概的名稱注釋。3從字符串入手4從關鍵函數(shù)的API調(diào)用入手5如果病毒代碼結構較清晰,可以從外層的大函數(shù)一層一層往里面分析,盡量快速跳過無意義的細節(jié)函數(shù)。…實例分析—如何找到有效代碼大致看過的函數(shù)都進行命名,暫時說不準具體含義,隨著分析的深入可以在再寫具體的名稱.如何找有效代碼S_thr_5---從這里發(fā)現(xiàn)GetTempPath,遍歷文件的操作.慢隨機感染的的處理.如何找有效代碼為了是感染能夠成功,需要patch掉一些地方Bp0x40B78Ccmpdwordptrss:[ebp+C],0,修改ebp+c為0如何找有效代碼為了是感染能夠成功,需要patch掉一些地方Bp0x40d12Acmpss:[ebp+c],2針對感染如何找有效代跟蹤點?

如何從上千行F5代碼中找到有用的跟蹤點?1更多的是需要從感染后的文件靜態(tài)特性找結果。2這樣能知道在mapfile后我們應該在哪里下斷點。二復合性多態(tài)病毒sality分析

win32.virus.sality--目前全球威脅趨勢排名前10變形感染類蠕蟲病毒)1內(nèi)置多態(tài)引擎2文件型感染3p2p僵尸網(wǎng)絡二復合性多態(tài)病毒sality分析sality感染的模型obfuscationdecryptorhostjunkcodejunkdatabandPEeopOrieop二復合性多態(tài)病毒sality分析sality執(zhí)行流程路徑二復合性多態(tài)病毒sality分析

感染前后,整體程序流程的差異二復合性多態(tài)病毒sality分析二復合性多態(tài)病毒sality分析起始地址的位置,一般我們判斷向上的jmp跳轉情況,病毒開始是一個隱藏的跨段跳轉結束位置,如果混淆的比較復雜情況,結束位置需要仔細找一下

??唇饷艿姆较颍合蛏匣蚴窍蛳拢@一點主要是為了寫解密函數(shù)時需要關注的,否則可以忽略每次解密的步數(shù):這個非常重要的一個點,一般可以在一個寄存器里面Rx,通常是ECX,但也可能是其他的寄存器或是內(nèi)存的某個地址處的數(shù)據(jù)。極端一些的情況下還有針對這個步數(shù)的混淆。代碼里面充滿了無效的指令,但這些需要我們自己判斷。需要注意的指令是MovRx,Ry|MovRx,[mem]MovRm,Rx1

二復合性多態(tài)病毒sality分析對病毒來說一般涉及太復雜的加解密方案(受編寫,感染,調(diào)試環(huán)境影響),識別典型加解密結構是非常重要的。二復合性多態(tài)病毒sality分析1把真正的代碼入口加密保存在自身的body中,使得修復變得困難。2改寫程序新入口。3通過大量junkcode干擾分析。4控制流程,采用分段式,先是EOP的修改,而后是API的hook。5病毒有感染部分+捆綁的PE組成,自行展開捆綁PE并運行.二復合性多態(tài)病毒sality分析快速的分析:觀察末尾節(jié)數(shù)據(jù)情況,是否是感染數(shù)據(jù),F(xiàn)2斷點觀察首節(jié),F(xiàn)2斷點跳向了入口觀察log,重新設置斷點實例分析—設計一個簡易的多態(tài)生成器我們需要:1隨機數(shù)生成器gen_num2控制隨機數(shù)區(qū)間rand3隨機一條指令create_gen4產(chǎn)生變化的指令ins_comm5產(chǎn)生一個call指令ins_call6產(chǎn)生一個jmp指令ins_jm

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論