20145215《網絡對抗》Exp3 免殺原理與實踐

20145215《網絡對抗》Exp3 免殺原理與實踐

基礎問題回答

  1. 殺軟是如何檢測出惡意代碼的?
    • 基於特徵來檢測:惡意代碼中通常會有一段有較明顯特徵的代碼也就是特徵碼,若是殺毒軟件檢測到有程序包含的特徵碼與其特徵碼庫的代碼相匹配,就會把該程序看成惡意軟件。
    • 基於行爲來檢測:經過對惡意代碼的觀察、研究,有一些行爲是惡意代碼的共同行爲,並且比較特殊。因此當一個程序在運行時,殺毒軟件會監視其行爲,若是發現了這種特殊的行爲,則會把它當成惡意軟件。
  2. 免殺是作什麼?
    • 個人理解就是經過一些技術手段,使安插在宿主主機中的後門軟件不被殺毒軟件所發現。
  3. 免殺的基本方法有哪些?
    • 加殼:就是至關於把你的後門代碼封裝起來,可是如今大部分公開的殼都能被殺毒軟件查出來,因此加這些殼還不如不加;
    • 加花指令:就是加一段垃圾代碼,可是並不影響程序的正常執行,加了花指令後,使一些殺毒軟件沒法正確識別木馬程序,從而達到免殺的效果;
    • 再編譯:若是有源代碼可使用其餘語言從新編寫再編譯,或者利用已有的shellcode構造payload從新編譯生成;
    • 修改行爲:儘可能少作能被殺毒軟件直接檢測到的敏感行爲,可使用反彈式鏈接,或者減小對系統註冊表之類的修改。

實踐內容

目錄

使用msf生成後門程序的檢測

  1. 直接將上週作實驗時用msf生成的後門文件放在virscan.org中進行掃描,掃描結果以下:

    git

  2. 從圖中能夠看出,報毒率仍是挺高的,39款殺軟中就有21款掃描出病毒,基本上也就是說如今主流的殺軟都能殺出來。因此,咱們能夠猜測若是在使用msf時對它多編碼幾回,是否是後門代碼就不那麼容易被掃出來呢?咱們能夠測試一下,假設編碼10次(具體指令實驗指導上都有,在此就不一一贅述):
    github

  3. 將生成的文件放到網站上掃描一下:
    shell

  4. 能夠發現不管編碼多少次都是同樣,因此想要利用編碼次數來達到免殺效果顯然是不行的。數組

使用veil-evasion生成後門程序的檢測

  1. 我一開始用的是本身裝的kali系統,因此要先安裝veil-evasion,結果發現下載速度都要慢哭了,並且裝了一段時間後還報出了錯誤:
    安全

  2. 後面又想到了一個辦法,在github上找到了這個軟件源,想用git clone把它克隆下來而後安裝,結果速度依然慢哭,沒辦法,仍是乖乖用了老師的kali,啓動evail-evasion,設置好回連的IP地址和端口號後,生成後門文件:
    網絡

  3. 放到網站上掃描一下:
    性能

  4. 比以前用msf生成的文件報毒率要更低,放到Win7的主機中掃描一下,被360殺毒查出來了:
    測試

利用shellcode編寫後門程序的檢測

  1. 先使用msf生成一個C語言格式的shellcode:
    網站

  2. 利用shellcode編寫一個C語言後門程序,編譯運行後,在kali上測試其是否可用:

    編碼

  3. 程序運行後被360殺毒很快就查出來了,說明360殺毒仍是挺強的:

  4. 放到網上的掃描結果是有12%的軟件能掃出來,報毒率比用veil-evasion又要低一些:

第一次嘗試:將shellcode逆序

  1. 直接利用shellcode寫的C語言程序仍是不能實現免殺,若是咱們將shellcode先進行逆序操做獲得另一個數組,而後以後再把它逆序回來,這樣是否是能躲過殺軟的追殺呢?從新編寫代碼,編譯運行,依舊能被掃出來:

  2. 放到網上的結果,比以前的免殺率要稍微高一些:

第二次嘗試:將shellcode與字母進行異或

  1. 若是將shellcode與字母進行異或,至關因而改變了其特徵碼,這樣的結果又會如何?測試結果是沒有被360殺毒掃出來:

  2. 網站上免殺率較以前又有了小幅度提高:

第三次嘗試:將shellcode逆序和異或結合

  1. 既然進行異或能夠實現免殺,若是將異或與逆序相結合是否是免殺率會更高呢?理論上應該是這樣,編寫代碼運行後,首先個人win7系統上的360殺毒沒有掃描出來:

  2. 放到網站上,免殺率仍是沒有改變,依舊能被3個殺軟掃出來,或許其中仍是包含必定的敏感行爲:

  3. 爲測試後門程序的免殺性能,我還將這個程序傳到了室友win10的系統上,依舊沒有被掃描出來,證實其應該在大部分的計算機上仍是可用的:

  4. 接着回連測試一下,證實其功能依舊能正常使用:

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

  1. 首先,如何將後門程序植入靶機還須要必定的技術,目前咱們實驗中是直接用nc指令傳到咱們靶機的,可是在實戰中,靶機不可能會這麼容易讓咱們的後門程序植入,固然,咱們也能夠考慮利用釣魚網站來達到這一目的。
  2. 殺毒軟件的病毒庫在不斷地更新,或許咱們今天用的技術過幾天就用不了了,因此最好仍是可以根據漏洞直接本身來寫代碼,而不是用軟件來生成,另外還要對殺毒軟件的殺毒原理進行更深層次的分析,以避免來達到更好的效果。

實驗總結與體會

  • 以前咱們大多數時候可能都過分依賴於殺毒軟件,以爲只要裝了殺軟就基本上不用愁了。誠然,在不少時候殺毒軟件仍是能幫咱們掃出不少病毒,可是經過此次實驗咱們也能夠發現要想製做出免殺的病毒其實也並不難,所以,關鍵仍是要提升本身的安全意識,除了殺軟以外,咱們也能夠利用配置防火牆,監控註冊表、端口等一些行爲來保障咱們計算機的安全。
  • 目前咱們作的免殺後門仍是比較基礎,離真正實際應用仍是有必定的距離,不過如今的實驗也爲咱們以後更深刻的研究打下了良好的基礎,整體來說,此次實驗仍是很是有趣的,在不斷探索中,慢慢實現了本身的目標。
相關文章
相關標籤/搜索