溢出植入型木馬(后門)的原型實現(xiàn)ppt_第1頁
溢出植入型木馬(后門)的原型實現(xiàn)ppt_第2頁
溢出植入型木馬(后門)的原型實現(xiàn)ppt_第3頁
溢出植入型木馬(后門)的原型實現(xiàn)ppt_第4頁
溢出植入型木馬(后門)的原型實現(xiàn)ppt_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

溢出植入型木馬(后門)的原型實現(xiàn)

作者:FLASHSKY

郵箱:flashsky@

站點:

感謝與申明感謝此文成型中獲得的如下人員的討論與支持XUNDI,大鷹,冰河,ALERT7,BENJURRY,ISNO,REFDOM給予的技術討論和提出了有益的意見感謝所有到會成員給予的指點申明:作者無意實現(xiàn)一個木馬,只是提供一種思路:將緩沖區(qū)溢出攻擊和木馬/后門相結合的木馬實現(xiàn)手段,通過一個簡單的原型來驗證,并展示給大家這種實現(xiàn)方式的一些特點。作者提供關鍵代碼段的技術實現(xiàn)的文檔和演示來驗證其實現(xiàn),但不提供源代碼和二進制程序,任何人都可以利用此文進行自己的技術研究和代碼實現(xiàn),但是自己負擔自己開發(fā)程序進行非法行為的法律責任?;舅悸?/p>

木馬(后門)如何有效的隱蔽?溢出植入型木馬(后門)的思路溢出植入型木馬(后門)的優(yōu)勢

木馬(后門)如何有效的隱蔽?應用/代碼本身的隱蔽

應用進程執(zhí)行的隱蔽

自動啟動相關的隱蔽

通訊的隱蔽

當前木馬/后門發(fā)展的趨勢

驅動和內核級

攔截系統(tǒng)調用服務來實現(xiàn)系統(tǒng)級的隱蔽存在的問題

代碼量多影響一定的性能實現(xiàn)需要高的技巧與技能

溢出植入型木馬(后門)的思路被動工作式的木馬

瘦服務器端的木馬依賴于系統(tǒng)機制進行加載,和執(zhí)行

溢出植入型木馬(后門)的優(yōu)勢為什么會選擇溢出植入?溢出漏洞具備通用性

溢出漏洞具備非常好的隱蔽性溢出本身就可以實現(xiàn)遠程的控制溢出的攻擊程序指令是由數(shù)據(jù)傳輸?shù)?,靈活,不留痕跡在服務內部進行,很容易實現(xiàn)進程,通訊,啟動代碼的隱藏完全被動方式工作,對性能等影響小。制造一個溢出漏洞比較簡單和容易實現(xiàn)。Recv(s,buf,100,0);Recv(s,buf,200,0);BUF(100)OTHERBUF(100)被覆蓋通用溢出漏洞的植入

通用化溢出漏洞要解決的4個問題

實現(xiàn)植入通用化溢出漏洞的思路

植入通用化溢出漏洞的實現(xiàn)

木馬(后門)的在W2K下的實現(xiàn)

通用化溢出漏洞要解決的4個問題溢出點定位

JMPESP代碼提供和定位

溢出覆蓋后對變量的引用訪問違例

溢出覆蓋后執(zhí)行代碼對溢出區(qū)的修改

實現(xiàn)植入通用化溢出漏洞的思路擴展堆棧

入某個特定函數(shù)的替換轉發(fā)函數(shù)

擴展堆棧PUSHEBPMOVEBP,ESPSUBESP,XXX(代碼執(zhí)行區(qū))ADDESP,XXXPUSHEBPYYY>XXXPUSHEBPMOVEBP,ESPSUBESP,YYY(代碼執(zhí)行區(qū))ADDESP,YYYPUSHEBP返回地址其他變量上級函數(shù)變量傳入?yún)?shù)目標BUFxxx返回地址其他變量上級函數(shù)變量傳入?yún)?shù)目標BUFxxx多出的空間Yyy-xxx多出空間的作用自動調整大小,使得溢出點一致多余空間內放置SHELLCODE,不會被后面修改可精心選擇覆蓋內容。避免訪問違例需要的條件對傳入?yún)?shù)引用使用EBP+XXX,對變量引用使用ESP+XXX的方式替換轉發(fā)函數(shù)0X4444Recv函數(shù)地址PUSHFLAGPUSHXXXPUSHBUFPUSHSCALL[0X4444]0X4c88Recv函數(shù)地址PUSHFLAGPUSHXXXPUSHBUFPUSHSCALL[0x4444]RecvAdd代碼:PUSHFLAGPUSHYYYPUSHBUF1PUSHSCALL[0x4c88]COPY(BUF,BUF1,XXX)RET0X4444RecvAdd函數(shù)地址替代轉發(fā)函數(shù)的作用可以制造一個完全通用的溢出漏洞溢出點可控不會引發(fā)訪問違例在溢出控制前BUF內容不會被修改可以解決一些更多的技術問題植入的通用化溢出漏洞的實現(xiàn)

JMPESP提供和定位RECV函數(shù)的替換轉發(fā)函數(shù)實現(xiàn)更深層次的利用DWORDWINAPIrecvadd(SOCKETs,charFAR*buf,int

len,intflags){

intnum; charbuf1[0x1190];

if(len>0x1000) num=recv(s,buf,len,flags); else{ num=recv(s,buf1,0x11a9,flags);//擴大到標準指定的溢出點上

if(num>0){//判斷是否收到包

if(num<=len)//判斷是否溢出,沒有則拷貝內存

memcpy(buf,buf1,num); else{//提供JMPESP的地址

num=-1; _asm{ mov eax,1010101H

mov [esp+11A4H],eax; }}}} returnnum;}更深層次的利用檢測溢出和溢出返回地址

其他需要利用的變量提供環(huán)境保護和線程的安全返回新的替換轉發(fā)函數(shù)的匯編實現(xiàn)木馬(后門)的在W2K下的實現(xiàn)

植入代碼結構

PE文件節(jié)點分析和代碼的附加

附加代碼的自動計算和替換

調用函數(shù)分析和導入表的替換

植入代碼結構

RECVADD替代函數(shù)地址RECVADD函數(shù)RECV函數(shù)地址JMPESP代碼PE文件結構導入函數(shù)節(jié)代碼節(jié)多余代碼節(jié)空間數(shù)據(jù)節(jié)代碼附加過程分析代碼節(jié)接點空間找到需要替換的函數(shù)地址在進程空間查找對應地址的導入地址替換函數(shù)調用地址存在jmp[recv]的形式,替換為jmp[recvadd]不存在jmp[recv]的形式,直接替換每個call[recv]保留真實的recv的地址,計算jmp

esp代碼和recvadd的地址,替換到植入代碼的對應偏移處附加代碼,并進行相應PE頭修改,自我刪除通用遠程溢出的SHELLCODE函數(shù)定位處理SOCKET復用

環(huán)境變量引用和環(huán)境上下文保護溢出線程的安全返回SOCKET復用SOCKET復用的意義

基本思路

(針對阻塞式SOCKET)獲得有效的SOCKET描述符

判斷關聯(lián)的SOCKET描述符的線程

(2次連接)掛起SOCKET相關的線程接管SOCKET通訊實現(xiàn)代碼非阻塞式SOCKET的復用環(huán)境變量引用和環(huán)境上下文保護引用的變量和作用SOCKET描述符號轉發(fā)函數(shù)參數(shù)占用堆棧的大小函數(shù)返回地址環(huán)境上下文和積存器的保護溢出線程的安全返回安全返回的意義需要考慮的問題保存溢出SHELLCODE執(zhí)行前的積存器內容保存需要返回的地址值計算恢復后的ESP/EBP,好放入對應的地址值。在恢復積存器后,還需要使用積存器讀取返回地址值并放入返回前的ESP和讀取函數(shù)在溢出前提供的函數(shù)參數(shù)大小來計算正常的ESP,因此對于積存器的保護需要一點技巧。安全返回的代碼實現(xiàn)演示植入溢出到TEST服務并遠程控制

闡發(fā)饒過WIN的系統(tǒng)文件完整性保護(SFP)溢出植入的通用化測試探討:只修改內存影象避免文件完整性檢查饒過WIN的SFP饒過SFP的意義SFP的基本實現(xiàn)機理饒過的思考饒過SFP的實驗溢

溫馨提示

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

最新文檔

評論

0/150

提交評論