java web網(wǎng)站建設(shè)關(guān)鍵詞優(yōu)化分析工具
靶機(jī):DriftingBlues: 1 DriftingBlues: 1 ~ VulnHubhttps://www.vulnhub.com/entry/driftingblues-1,625/
攻擊機(jī):kail linux 2024
1,將兩臺虛擬機(jī)網(wǎng)絡(luò)連接都改為NAT模式,并查看靶機(jī)的MAC地址
2,攻擊機(jī)上做主機(jī)掃描發(fā)現(xiàn)靶機(jī)
靶機(jī)IP地址192.168.23.136,攻擊機(jī)IP地址192.168.23.128
3,對靶機(jī)做更精細(xì)的掃描
22/tcp open? ssh???? OpenSSH 7.2p2
80/tcp open? http??? Apache httpd 2.4.18
4,訪問web網(wǎng)頁,查看頁面源碼發(fā)現(xiàn)一串base64編碼
?L25vdGVmb3JraW5nZmlzaC50eHQ=解碼得到/noteforkingfish.txt
5,訪問192.168.23.136/noteforkingfish.txt
6,訪問該文件,發(fā)現(xiàn)大量 Ook!?編碼,解碼之
Ook!?在線解碼地址:Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]
解碼得到:
my man, i know you are new but you should know how to use host file to reach our secret location. -eric
7,得到一串提示信息。通過對提示的分析,要求通過hosts文件的方式訪問地址,此時(shí)需要一個(gè)域名(這里就需要上面提到的兩個(gè)郵箱,兩個(gè)郵箱都是同一個(gè)域名)driftingblues.box
8,將靶機(jī)ip地址以及對應(yīng)的域名 driftingblues.box 寫入hosts文件內(nèi),重新使用域名訪問網(wǎng)站進(jìn)行信息收集發(fā)現(xiàn)與之前收集到的信息一致
9,使用gobuster工具進(jìn)行爆破,嘗試爆破子域名,得到子域名test.driftingblues.box
gobuster dns -d "driftingblues.box" --wordlist /usr/share/wordlists/dirb/common.txt --no-error -z
dns??????????????????????? 使用DNS枚舉子域名(域名爆破模式)
-d?????????????????????????? 目標(biāo)域(指定目標(biāo)域名)
--wordlist??????????????? 字典列表的路徑
--no-error??????????????? 不顯示錯(cuò)誤
-z??????????????????????????? 不顯示進(jìn)度
9,將子域名也加入到 hosts?表內(nèi),訪問網(wǎng)頁進(jìn)行信息收集,發(fā)現(xiàn)頁面沒有什么有用的回顯信息(注意頁面經(jīng)常出現(xiàn)的eric,后面ssh暴力破解時(shí)候用得到)
10,使用dirb工具掃描網(wǎng)站目錄,發(fā)現(xiàn)robots.txt文件,訪問該文件,獲得?/robots.txt?文件
11,訪問 /ssh_cred.txt?文件得到一個(gè)密碼,用于ssh登錄
獲得提示:1mw4ckyyucky需要最后一位加一個(gè)數(shù)字才真的密碼,這樣的話就有十種可能
12,直接編寫十種可能的密碼,用戶名eric,再利用工具爆破
hydra -l eric -P password.txt 192.168.23.136 ssh
-l?? ?指定用戶名
-P ??指定密碼字典的路徑
ssh 用于暴力破解SSH服務(wù)器
如此得到賬戶/密碼:eric/ 1mw4ckyyucky6
13,使用得到的賬戶密碼進(jìn)行登錄
使用ls命令,查看一下當(dāng)前目錄下有啥文件 發(fā)現(xiàn)了?user.txt找到了第一個(gè)FLAG。
14,接下來的思路就是提權(quán),使用find命令尋找suid程序,嘗試進(jìn)行提權(quán),沒有發(fā)現(xiàn)可利用的漏洞程序
find / -perm -4000 2>/dev/null
使用sudo運(yùn)行命令提示無法運(yùn)行
15,換個(gè)思路找靶機(jī)內(nèi)存在root權(quán)限執(zhí)行的文件或者腳本,在查看/tmp目錄時(shí)發(fā)現(xiàn)目錄下存在備份文件,查看/var目錄,果然有一個(gè)backups文件夾,查看文件夾里的文件內(nèi)容,有一個(gè)備份文件腳本backup.sh,該文件執(zhí)行的命令是root權(quán)限的
在Linux系統(tǒng)中,默認(rèn)的備份文件路徑通常是/var/backups。這個(gè)目錄通常用來存放系統(tǒng)自動備份的文件,比如日志、配置文件等。不過需要注意的是,具體的備份路徑可能會因不同的發(fā)行版和配置而有所不同。
?
16,查看backup.sh文件的內(nèi)容,發(fā)現(xiàn)提示說有一個(gè)backdoor,且用sudo命令執(zhí)行了/tmp/emergency文件。
17,再次查看/tmp目錄,發(fā)現(xiàn)沒有emergency這個(gè)文件,我們可以自行創(chuàng)建
18,創(chuàng)建emergency文件,并向其中寫入命令,給該文件執(zhí)行命令。等待backup.sh執(zhí)行,生成backdoor文件
echo "cp /bin/bash /tmp/backdoor;chmod +s /tmp/backdoor" > /tmp/emergency
chmod +x emergency
因?yàn)閑mergency文件依舊是eric用戶創(chuàng)建的,我們需要一個(gè)root用戶創(chuàng)建還擁有特殊權(quán)限的執(zhí)行文件去執(zhí)行提權(quán)命令。所以我們利用備份文件會以root權(quán)限執(zhí)行/tmp/emergency文件的漏洞去創(chuàng)建一個(gè)backdoor文件(這個(gè)命名單純是根據(jù)提示來創(chuàng)建的,可以隨意創(chuàng)建一個(gè)喜歡的文件名),來執(zhí)行提權(quán)命令,并給該文件賦予特殊權(quán)限。賦予emergency文件執(zhí)行權(quán)限是為了能讓其執(zhí)行寫入命令。
19,發(fā)現(xiàn)成功生成backdoor文件,執(zhí)行該文件,成功提權(quán)至root權(quán)限
./backdoor -p?? 提權(quán)命令
?-p??? 以root權(quán)限執(zhí)行命令
此時(shí)的backdoor文件內(nèi)的內(nèi)容實(shí)際就是/bin/bash文件內(nèi)的內(nèi)容,且該文件為root用戶創(chuàng)建,擁有SUID權(quán)限的文件,因此我們可以進(jìn)行提權(quán)操作。但是由于Linux系統(tǒng)中出于安全考慮,普通用戶無法直接提升為root用戶,所以我們要加 "-p" 參數(shù),可以實(shí)現(xiàn)以root權(quán)限執(zhí)行命令
20,得到flag2/2
總結(jié):
1.多注意網(wǎng)頁源代碼 思路不能只限于掃描后臺
2.學(xué)習(xí)了Gobuster工具的使用(第一次用)
3.了解了一些編碼ok碼?或者base64?等
4.學(xué)會結(jié)合腳本給的提示 利用sudo 提權(quán)
聲明:部分內(nèi)容來自于網(wǎng)絡(luò),如有侵權(quán)聯(lián)系刪除