前言:
vulnhub里面的一個靶場,涉及到drupal7 cms遠程代碼執行漏洞(CVE-2018-7600)和臟牛提權。
靶機下載地址:https://mega.nz/#!aG4AAaDB!CBLRRYQsAhTOyPJqyjC0Blr-weMH9QMdYbPfMj0LGeM
0x01信息收集
第一步打開虛擬機要輸入用戶密碼才能登入,這樣的話也不知道ip地址;
那么我們先要獲取它的ip,由於在一個內網,可以使用nmap進行掃描,我虛擬機設置的是NAT模式,那么看看NAT模式的網段
是192.168.106.0/24的段,那么使用nmap進行C段掃描
明顯ip為192.168.106.130,接着全端口掃描一下
訪問80端口發現一個沒用的靜態頁面,再訪問1898端口,出現web頁面
訪問robots.txt
發現很多txt和php目錄泄露,直接可以讀取txt文件
查看源碼,任意點一個圖片鏈接
又是一個目錄泄露,目錄下的任意文件讀取,但是發現只泄露的這個目錄,這下面又全是css,js,png文件,先放在一邊吧。
在漏掃和目錄掃描之前,我先用谷歌插件wappalyzer知道了這個web是用drupal7 cms寫的
同時還知道了操作系統,web服務器,后台語言。
在看看剛剛泄露出來的txt文件,發現一個文件里面也爆出了cms的版本,還更具體
這么多暗示,怕不是就是利用這個drupal7 cms的漏洞
百度一下drupal7 cms的漏洞,發現是存在一個遠程代碼執行漏洞的,那么去msf中查一查這個exp,並且利用。
0x02 drupal7 cms遠程代碼執行漏洞(CVE-2018-7600)利用
進入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的。
0x03臟牛提權
查看一下內核版本,發現是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。