本文記錄攻破Hack The Box - OpenAdmin的關(guān)鍵步驟,參考了眾多大神的WP
端口掃描
首先使用nmap掃描端口
nmap -A -T4 -Pn 10.10.10.171

發(fā)現(xiàn)目標(biāo)系統(tǒng)使用Ubuntu并且對(duì)外開放了SSH 22和Apache 2.4.29 80端口
web 掃描
使用nikto掃描目標(biāo)網(wǎng)站
nikto -host 10.10.10.171 -port 80

這里沒有看到什么可以利用的信息。然后通過瀏覽器訪問目標(biāo)80端口發(fā)現(xiàn)只有一個(gè)apache2的默認(rèn)頁面,此時(shí)考慮使用
gobuster或者Kali自帶的dirbuster配合目錄字典查找網(wǎng)站目錄,字典使用/usr/share/wordlists/dirbuster
- gobuster示例
gobuster -w /usr/share/wordlist/directory-list-2.3-medium.txt -u http://10.10.10.171
-
dirbuster示例
dirbuster.png
通過掃描目錄發(fā)現(xiàn)了幾個(gè)可以訪問的web路徑,如/music/通過瀏覽器訪問該頁面,似乎并沒有發(fā)現(xiàn)什么可以利用的弱點(diǎn)。直到訪問到/ona/,發(fā)現(xiàn)這實(shí)際上是一個(gè)開源的管理頁面( OpenNetAdmin version 18.1.1 )

web 漏洞利用
搜索 ONA 18.1.1的漏洞發(fā)現(xiàn)他存在一個(gè)遠(yuǎn)程代碼執(zhí)行漏洞,將該腳本復(fù)制到本地的.sh文件然后執(zhí)行
sh ona1811.sh http://10.10.10.171/ona/

漏洞可以成功利用,拿到了目標(biāo)服務(wù)器的shell,但是該賬號(hào)不是root,權(quán)限比較小,所以下一步嘗試獲取更大權(quán)限的賬號(hào)。通過瀏覽目錄上的文件,我們發(fā)現(xiàn)
/home下面有兩個(gè)其他用戶的文件,查看/etc/passwd證實(shí)linux確實(shí)存在這兩個(gè)賬號(hào),但是/etc/shadow權(quán)限不足無法讀取,沒辦法做口令hash的爆破
最終在
local/config目錄下找到一個(gè)數(shù)據(jù)庫的配置文件,并且包含明文的數(shù)據(jù)庫賬號(hào)和密碼
經(jīng)嘗試,這個(gè)密碼
n1nj4W4rri0R!正是前面我們?cè)?code>/home下看到的jimmy的賬號(hào)密碼,因此可以通過ssh直接登錄jimmy的賬號(hào)
ssh jimmy@10.10.10.171
賬號(hào)獲取
使用jimmy的賬號(hào)登錄以后,執(zhí)行find / -type f -user jimmy查詢jimmy有權(quán)限訪問的文件,從查詢結(jié)果中看到一些疑似是apache的web目錄

查看
main.php的內(nèi)容發(fā)現(xiàn),這個(gè)php會(huì)打印出joanna的rsa秘鑰文件,這個(gè)秘鑰有可能可以用來ssh到j(luò)oanna的賬號(hào)
嘗試用
curl訪問這個(gè)頁面,結(jié)果返回404錯(cuò)誤
但是我們確認(rèn)這個(gè)文件是存在的,后來查看監(jiān)聽端口發(fā)現(xiàn)這個(gè)服務(wù)器除了80端口以外還有一個(gè)不常用的52846端口,嘗試訪問這個(gè)端口,最終返回了一個(gè)RSA秘鑰
這里還看到別的大神用了一個(gè)神奇的腳本linpeas,可以一鍵收集linux的所有信息

這里推測(cè)這個(gè)RSA私鑰就是ssh的key,將私鑰部分保存到j(luò)oanna_rsa,然后執(zhí)行
ssh -i joanna_rsa joanna@10.10.10.171,結(jié)果發(fā)現(xiàn)這個(gè)私鑰居然還設(shè)置了密碼。。。
這里要注意,執(zhí)行使用這個(gè)秘鑰的時(shí)候會(huì)提示你文件權(quán)限太大,需要將權(quán)限改為400,
chmod 400 joanna_rsa
接下來需要用john來破解這個(gè)秘鑰文件的密碼,但首先要先將文件轉(zhuǎn)換為john可以處理的格式,在kali執(zhí)行/usr/share/john/ssh2john.py joanna_rsa > joanna_rsa.hash,然后使用john配合rockyou.txt爆破密碼

所以密碼是
bloodninjas,然后使用該秘鑰文件ssh joanna的賬號(hào)
成功拿下
user.txt。但是這個(gè)賬號(hào)還是沒有root權(quán)限,這時(shí)我們可以使用sudo -l查看這個(gè)賬號(hào)可以無需密碼就可以執(zhí)行的特權(quán)操作
權(quán)限提升
這里看到在一個(gè)特定路徑/opt/priv下面可以執(zhí)行nano,這個(gè)nano有時(shí)可以繞過權(quán)限管理讀取文件甚至執(zhí)行命令
sudo /bin/nano /opt/priv

然后依次按
contrl+r,contrl+x然后輸入reset; sh 1>&0 2>&0可以進(jìn)入命令模式
