NF_Exp3_20164306

免殺原理與實踐

1 關鍵內容

 正確使用msf編碼器,msfvenom 生成如 jar 之類的其餘文件,veil-evasion,加殼工具,使用 shellcode 編程python

 經過組合應用各類技術實現惡意代碼免殺shell

 用另外一電腦實測,在殺軟開啓的狀況下,可運行並回連成功編程

2 基礎問題回答

殺軟是如何檢測出惡意代碼的?

構建病毒庫,對比特徵碼函數

啓發式檢測工具

分析其是否有惡意行爲編碼

免殺是作什麼?

針對殺毒軟件使用的檢測技術,假裝惡意代碼使之不被發現加密

免殺的基本方法有哪些?

改變特徵碼spa

  • 加殼
  • 用encode進行編碼
  • 基於payload從新編譯生成可執行文件
  • 用其餘語言進行重寫再編譯(veil-evasion)

改變行爲3d

  • 儘可能使用反彈式鏈接
  • 使用隧道技術
  • 加密通信數據
  • 基於內存操做
  • 減小對系統的修改
  • 加入混淆做用的正常功能代碼

3 基本內容

使用 msf 編碼 6 次,生成 .jar 文件code

 安裝 veil ,得首先解決wine32的問題

  sudo apt-get install wine32

嗯,裝了兩天

  sudo apt-get install veil-evasion

根據 veil 菜單提示逐步操做便可

使用 msf 生成 shellcode,具體參數見 Exp2 加分項

修改成 .c 文件,進行編程,特別的

  • 可編程處理字符串,增減字符以改變其存儲內容,在運行時還原並最終實現功能
  • 頭文件可經過工程設置省略,在這種狀況下,惡意代碼更難被殺軟查出

壓縮殼 UPX

試了一圈,它沒法壓縮 .jar 和 .c 文件,這裏加殼的是 Exp2 中生成的 .exe 文件

加密殼 Hyperion 的使用方法相似,運行相應的可執行文件便可

hyperion.exe -v new_20164306.exe new2_20164306.exe

查看生成的文件

4 結果驗證

上述惡意代碼在 win10 環境下不會被 Windows Defender 檢測爲病毒

僅使用現有工具不可能實現反彈鏈接

這是由於實驗中使用的工具都是些老牌免殺軟件且現行殺軟廣泛使用啓發式檢測

經過實驗發現不一樣殺軟判斷編碼器、加殼等處理方式的敏感程度存在差別,舉例如使用 shellcode 實現後門,加殼前360並不會直接報毒,反而是加了 UPX 殼後直接就被查殺了

使用現有工具反覆嘗試,發現使用 shellcode 編程實現後門是相對隱蔽的

然而,使用shellcode編程時,就算對生成的字符串進行特殊處理,也沒法阻止殺軟查殺

舉使用 .c 文件實現後門爲例,首先是免不了系統函數調用,其次是在編譯運行時會生成一個 Meterpreter.o  這明擺着是告訴人家本身有毒

特別的,在此不討論結合了緩衝區溢出、社會工程學等其餘方式的攻擊,由於上述攻擊成功條件自己太過苛刻,且與免殺關聯不大

可見純手工編寫後門程序也應儘可能使用 python 等腳本語言實現,但這種方法又不具備廣泛性,由於不保證靶機是否具備 python 環境

在此誠心向使用 meterpreter 成功反彈的同窗請教,dalao 們在評論區留言就好

 

記錄mark(混亂版,不建議看)

  

 

若是要使用內嵌彙編,必須在VC或是VS下編譯

 

改變代碼,用codeblocks編譯

 

 

Exe不會被查殺,攻擊者不開控制檯不監聽,exe能夠隨意運行

 

不妨看看標準輸出後的字符串是啥

 

 

mark別人寫的按格式輸出

 

好的這裏問題來了,我能夠編寫exe程序把這個shellcode輸出了,可是生成的後門準備鏈接時

 

 

這首先說明一點問題,Windowsdefender可以基於行爲檢測病毒

這個行爲是否爲運行shellcode?不妨用一段人畜無害的shellcode進行實驗

 

運行成功

 

本站公眾號
   歡迎關注本站公眾號,獲取更多信息