一、介绍
运行环境:Virtualbox
攻击机:kali(10.0.2.15)
靶机:niveK(10.0.2.41)
目标:获取靶机root权限和flag
靶机下载地址:https://download.vulnhub.com/hms/niveK.ova
二、信息收集
使用nmap主机发现,靶机ip为10.0.2.41
使用nmap进行端口扫描,发现靶机开放端口:21、80
21端口:根据nmap的扫描结果发现21打开安装的是vsftpd 3.0.3
,使用searchsploit搜索该版本的vsftpd的历史漏洞,发现只有DOS漏洞,无法利用
发现ftp开启了匿名登录,但里面是空的
22端口:根据nmap的扫描结果发现21打开安装的是OpenSSH 7.2p2
,使用searchsploit搜索该版本的OpenSSH的历史漏洞,发现只有用户名枚举漏洞。
使用用户名枚举漏洞的exp进行扫描,发现靶机没有该漏洞,可能被修复了
开放的两个端口都没有攻击路径,怀疑是不是还有端口开放了没有扫出来
使用nmap扫描全端口,发现还开放了7080端口,该端口为http服务
nmap -A -p 1-65535 10.0.2.41
7080端口:打开网站发现是一个登录页面,查看源码没有发现有用的隐藏信息
使用dirsearch攻击进行目录爆破
将爆破出来的目录一个一个打开查看,未发现可利用的页面
三、漏洞利用
既然其他地方没有可攻击的点,回到登录页面,怀疑这个登录界面存在sql注入,在邮箱后面加一个反斜杠,发现存在mysql报错,应该是存在sql注入
尝试使用万能密码登录:email@email.com' or 1=1 --+
登录成功
把网站上各个功能点都点击查看一遍,没有发现什么可利用的功能点
后面又用dirbuster工具爆了一遍目录,发现存在/setting.php
文件可以上传文件,需要先登录才能打开
上传webshell,上传完成后,我们可以在这上面看到我们上传的图片,右键新建标签打开图像可以访问上传的webshell:http://10.0.2.41:7080/uploadImage/Logo/php-reverse-shell.php
反弹shell成功,获取交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
四、提权
查看靶机系统内核版本为:Ubuntu 4.4.0-21-generic
使用searchsploit查找该版本存在的历史漏洞,我们选择45010.c进行提权
searchsploit Ubuntu 4.4.0-21
searchsploit -m linux/local/45010.c
因为之前测试过靶机存在gcc环境,我们直接将45010.c文件通过网站的文件上传漏洞上传上去,找到上传的文件绝对路径。
我们上传的webshell这里报出来过上传文件夹的绝对路径
当然之前扫描目录,扫出来的/header.php
文件也爆出来过绝对路径
找到上传的45010.c文件,使用gcc编译执行,获取root权限
gcc 45010.c -o 45010
./45010
获取flag
/home/nivek
目录下有一个
/root
目录下有一个
参考链接:nivek靶场-vulnhub_vlunhub nivek-CSDN博客