vulnhub裏面的一個靶場,涉及到drupal7 cms遠程代碼執行漏洞(CVE-2018-7600)和髒牛提權。php
靶機下載地址:https://mega.nz/#!aG4AAaDB!CBLRRYQsAhTOyPJqyjC0Blr-weMH9QMdYbPfMj0LGeMcss
第一步打開虛擬機要輸入用戶密碼才能登入,這樣的話也不知道ip地址;python
那麼咱們先要獲取它的ip,因爲在一個內網,可使用nmap進行掃描,我虛擬機設置的是NAT模式,那麼看看NAT模式的網段mysql
是192.168.106.0/24的段,那麼使用nmap進行C段掃描c++
明顯ip爲192.168.106.130,接着全端口掃描一下git
訪問80端口發現一個沒用的靜態頁面,再訪問1898端口,出現web頁面github
訪問robots.txtweb
發現不少txt和php目錄泄露,直接能夠讀取txt文件sql
查看源碼,任意點一個圖片連接shell
又是一個目錄泄露,目錄下的任意文件讀取,可是發現只泄露的這個目錄,這下面又全是css,js,png文件,先放在一邊吧。
在漏掃和目錄掃描以前,我先用谷歌插件wappalyzer知道了這個web是用drupal7 cms寫的
同時還知道了操做系統,web服務器,後臺語言。
在看看剛剛泄露出來的txt文件,發現一個文件裏面也爆出了cms的版本,還更具體
這麼多暗示,怕不是就是利用這個drupal7 cms的漏洞
百度一下drupal7 cms的漏洞,發現是存在一個遠程代碼執行漏洞的,那麼去msf中查一查這個exp,而且利用。
進入msf,而後search搜索CVE-2018-7600
而後一些列的常規操做,先use,再show option,再set,最後run
這裏設置一下ip和端口就能夠了,端口是1898
show targets發現有不少版本,不知道選哪個,先默認吧,直接run
直接反彈了shell,發現是www-data權限,這個權限是至關於訪客權限,getsystem不行。
若是不熟悉meterpreter命令交互,那麼能夠在根目錄下寫入一句話木馬,而後,利用菜刀鏈接。
咱們查看網站根目錄下面的/sites/default/settings.php文件,看其設置的配置信息
咱們看到了敏感信息,數據庫的用戶和密碼
咱們用mysql登陸進去查一下這個數據庫的user表
先從meterpreter進入shell交互命令,也就是目標機系統的操做命令。
可是mysql好像進不去,這個shell是簡易版的
而後參照別人的方式用python獲取標準shell
python -c 'import pty; pty.spawn("/bin/bash")'
成功進來了,查看users的用戶和密碼兩個字段。
第一個用戶就是tiago,密碼拿去在線md5一下,解密不了。
最後試來試去,想到了還有個ssh沒用到,這會不會是ssh的登陸帳號和密碼,再去看看那個setting.php文件,發現裏面就Virgulino一個密碼,那麼想到用戶應該是用的這一個通用密碼。
試了試,發現登陸上去了,可是權限還不是system的。
查看一下內核版本,發現是ubuntu 16年的
在網上去搜索一下,試了不少17年的,可是不行,再看看,發現一個16年內核版本的通殺提權,叫作髒牛提權。
去搜索一下這個漏洞,這個提權方法叫作髒牛提權,那麼他的提權腳本關鍵字是dirty。
再kali裏面搜索,或者直接用github上面的腳本,而後複製到目標機中。
網上搜索得知是這一個cpp的腳本。
在目標機上建立一個40847.cpp腳本,而後將kali裏面的髒牛cpp的腳本複製過來。
而後進行編譯運行:
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o 40847 40847.cpp -lutil
執行成功,root用戶須要用dirtyCowFun密碼登陸服務器。
ssh從新鏈接,用戶爲root,密碼爲dirtyCowFun
成功提權得到flag。