目录
下载链接
靶场下载链接:https://download.vulnhub.com/ica/ica1.zip
环境搭建
攻击机IP:192.168.4.130
靶机IP:192.168.4.183
信息收集
端口扫描
nmap -sS -sV -T5 192.168.4.183
发现有三个开发端口,我们对80端口的服务进行访问
目录扫描
发现有一个登录页面,我们扫一下其他目录,看看是否有可利用的信息
dirsearch -u http://192.168.4.183
漏洞利用
qdMP 9.2漏洞利用
发现这些目录并没有什么有用的东西,回到登录页面,我发现了一个qdPM的一个登录框架,我们试着搜索一下是否有这个qdPM的漏洞
searchsploit qdMP 9.2
发现有两个可利用文件,我们看第二个文件
这里告诉我们在/core/config/databases.yml文件中可能有我们需要的密码,那么我们就给他下载下来
wget http://192.168.4.183/core/config/databases.yml
mysql泄露登录用户密码
这个文件告诉我们mysql的用户和密码,那么我们登录mysql,看看是否有有用的数据
mysql用户:qdpmadmin 密码:UcVQCMQk2STVeS6J
mysql -u qdpmadmin -h 192.168.4.183 -p
发现password被base64加密了,我们一个一个进行解密,并保存到passwd.txt下,并把用户保存在user.txt下,我当时用这个密码和用户进行ssh爆破,发现啥也爆不出来,只好去看看wp了,发现用户名全部要小写,晕😵
ssh爆破
那么我们就用得到的密码和用户对ssh服务进行爆破。
hydra -L user.txt -P passwd.txt ssh://192.168.4.183
发现爆破出来了两个用户和密码,我们对其进行登录
提权
接下来就是提权了,我们继续进行信息收集,先查看拥有root权限的文件,我们现在就先利用dexter用户
find / -user root -perm -4000 -print 2>/dev/null
发现了一个没见过的文件,我们对其查看一下,因为这是一个程序我们要查看就要用strings进行查看。
发现了一个cat /root/system.info,但是好像并没有其他东西,我们将他拖入到ida里进行分析。
IDA分析
查看主函数main伪代码
这里我们得出cat会以root权限进行查看,那么我们试着伪造cat,当运行/opt/get_access这个文件的时候,我们伪造的cat文件就会拥有root权限从而达到一个提权的作用。
伪造cat提权
我们在/tmp目录下构造一个cat文件
echo /bin/bash > /tmp/cat
chmod 777 cat
echo $PATH
export PATH=/tmp:$PATH
/opt/get_access
提权成功!
qdMP漏洞分析
我们查看源文件,进行分析
通过代码我们可以看到引入了三个文件,我们先对check.php文件进行查看
我们看到这个if语句,他这里会判断是否有databases.yml文件,如果没有将不会重新定向到index.php下,在我们的环境里databases.yml这个文件可以正常地进行访问,从而导致了数据库用户和密码泄露。