準備:
攻擊機:虛擬機器kali、本機win10。
靶機:DriftingBlues: 5,下載地址:https://download.vulnhub.com/driftingblues/driftingblues5_vh.ova,下載後直接vbox開啟即可。
知識點:wpscan掃描、敏感資訊發現、john爆破、kdbx檔案、keepass2john、定時任務。
資訊收集:
1.nmap掃描
使用nmap掃描下靶機地址,命令:nmap -sn 192.168.5.0/24,發現靶機地址:192.168.5.149。
使用nmap掃描下埠對應的服務:nmap -T4 -sV -p- -A 192.168.5.149,顯示開放了22埠、80埠,開啟了ssh服務、http服務。
2.目錄掃描
使用gobuster進行目錄掃描,命令:gobuster dir -x php,jpg,txt,html -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -u http://192.168.5.149,發現框架是wordpress框架,或者wappalyzer工具中檢視也可。
3.wpscan掃描
使用wpscan掃描下賬戶資訊,命令:wpscan --url "http://192.168.5.149/" --enumerate u,發現gadd、gill、collins、satanic、abuzerkomurcu賬戶。
訪問web頁面時顯示的的一些介紹資訊,嘗試將該頁面生成字典進行密碼破解,命令:cewl -w passwd http://192.168.5.149,生成密碼字典passwd,然後利用wpscan對剛才發現的幾個賬戶進行密碼爆破,成功發現一組賬戶和密碼資訊:gill / interchangeable。
二:shell獲取
1.敏感資訊發現
使用獲得賬戶和密碼資訊:gill / interchangeable登入web系統,找了下版本的資訊漏洞、功能漏洞均未發現,後來在media功能中發現多出來一張圖片資訊。
複製該檔案的下載地址,下載到本地進行分析,命令:wget http://192.168.5.149/wp-content/uploads/2021/02/dblogo.png。檢視下該檔案的屬性資訊:exiftool dblogo.png,發現ssh登入的密碼資訊:59583hello。
2.獲取shell
利用獲得賬戶資訊:gadd、gill、collins、satanic、abuzerkomurcu和密碼資訊:59583hello進行ssh登入,命令:hydra ssh://192.168.5.149 -L name -p 59583hello,成功獲得一組賬戶和密碼資訊:gill/59583hello。
使用獲得的賬戶和密碼資訊:gill/59583hello進行ssh登入,成功獲得shell許可權並在當前目錄下讀取user.txt檔案,成功獲得flag值。
三提權:
1.keyfile.kdbx檔案利用
在獲得shell中檢視目錄資訊時,發現存在一個keyfile.kdbx檔案,查詢下kdbx字尾的檔案介紹,發現該檔案是:透過KeePass密碼管理器安全建立的資料檔案稱為KDBX檔案,這些檔案包含密碼的加密資料庫,其中如果使用者設定一個主密碼,並透過主密碼訪問他們,他們只能檢視。先將該檔案下載到本地,命令:scp -rp gill@192.168.5.149:/home/gill/keyfile.kdbx /tmp。
將keyfile.kdbx檔案複製到本地,使用下載的keepass工具嘗試開啟該檔案,但是顯示需要密碼資訊。
利用keepass2john工具獲取其hash值方便我們進行爆破,命令:keepass2john keyfile.kdbx > hash,爆破的命令:john --wordlist=/usr/share/wordlists/rockyou.txt hash,成功獲得密碼資訊:porsiempre。
利用獲得密碼資訊使用keepass讀取keyfile.kdbx檔案,但是裡面密碼是*號顯示並且只顯示了標題,使用者名稱顯示為空。
2.定時任務發現
使用命令:find / -perm -4000 -type f 2>/dev/null查詢下具有特殊許可權的檔案,但是沒發現什麼可以利用的點。
直接上指令碼:linpeas.sh,在本機開啟web服務,然後使用wget下載該檔案至/tmp目錄並執行該檔案,發現一個比較特殊的檔案:/keyfolder,但是檢視該檔案內資訊,顯示是一個空的目錄。
原想著檢視下定時任務,但是發現定時任務不允許當前使用者檢視,那這裡想著就是隱藏了一些資訊,那就上傳pspy64。
賦予pspy64執行許可權,然後執行該檔案,發現會定時執行/root/key.sh檔案,根據名字猜測是和密碼有關。
3.提權
後來想著是不是這個指令碼將密碼寫入到了剛才keepass發現的幾個標題中去了,然後就嘗試在/keyfolder目錄下建立剛才的幾個標題,但是沒什麼變化,後來就一個一個單獨建立,在建立fracturedocean檔案時,多出來一個rootcreds.txt檔案,讀取該檔案獲得root密碼資訊:imjustdrifting31。
使用獲得密碼資訊切換到root賬戶,然後在/root目錄下發現root.txt檔案,讀取該檔案成功獲得flag值。