VulnHub DC-1

前言

靶机下载地址:https://www.vulnhub.com/entry/dc-1,292/
靶机:DC1 (VirtualBox)       IP:192.168.10.110
攻击机:Kali (VMware)        IP:192.168.10.107
说明:DC1需要找到5个flag,最终目标是在root的主目录中找到并读取该flag

靶机配置及说明

首先先看靶机与攻击机的配置,二者均是桥接模式(建议靶机和kali都保存快照,以便不时之需)

kali配置:

 靶机配置:

开始

首先查看kali的ip得到192.168.10.107

 

nmap查看靶机ip得到192.168.10.110

 

 继续nmap嗅探靶机其余信息,发现开放22/80

 

 通过浏览器打开这个网站,用Firefox的插件看到CMS是Drupal 7

 继续查看robots.txt,看看有没有用的信息

 

我们并没有得到有用的信息,只是找到了几个没啥用的页面,继续扫描一下目录

扫描依旧也没有什么结果,那我们换个思路,可以搜索一下是否有可利用的漏洞并通过msf进行利用

在这里插入图片描述 输入msfconsole 

 

 

这里我就用Drupalgeddon2漏洞(CVE-2018-7600),Drupal系统没有对表单API接口的Ajax请求输入进行充分的检查,使得攻击者能够向内部表单结构中注入一个恶意的载荷,导致Drupal系统在未进行用户认证的情况下执行这个载荷。

通过利用这个漏洞,一个攻击者能够接管任何Drupal系统用户的整个站点。

这里我们只需要设置靶机的ip就可以执行

查看一下权限,发现是www-data

我们可以看到打开session连接到靶机,接下来我们继续反弹一个交互的shell

flag1

我们可以看到自己当前的权限以及所在路径,那我们ls查看一下其他文件

我们顺利拿到flag1,同时也拿到了提示信息:寻找配置信息百度即可知道默认配置信息位置。

flag2

一般网站目录里都有个数据库配置文件,里面包含着账号和密码。然后我们查看/www/sites.default/settings.php,发现了网站数据库账号密码(这里最好用more查看不至于落掉重要信息)

可以看到flag2也在这个文件中,并得到提示信息:暴力破解和字典爆破不是获取权限的唯一方式(而且你需要获得权限)

我们也顺利地拿到了数据库的一些关键信息(数据库名、登录名、密码),然后我们按q退出,顺着线索继续登录数据库。

flag3

mysql -h 127.0.0.1 -u dbuser -p

 

 发现其中有个user表,在user表中发现admin用户

通过查询 users报中的账号得知admin的密码是一串加密密文,下一步可以在网站目录里面找找有没有加密的脚本文件,通过重置管理员的密码来获取flag

然后在网站的根目录下发现有一个scripts的文件夹,script这个单词本身就是脚本。最终在这个目录里面发现一个名为password-hash.sh的脚本文件,使用加密脚本加密新密码666666,生成加密密文,然后登录系统查看flag3。

执行脚本对密码666666加密

./password-hash.sh 666666

报错,提示缺少文件。检查一下这个脚本文件。

cat password-hash.sh

看到这个我发现是文件引用出现了问题,引用的文件在网站根目录下的include文件夹中,但是我们执行脚本的目录是scripts,所以这个脚本就会把scripts当成根目录,所以我们应该到网站更目录执行这个脚本。

cd /var/www
./scripts/password-hash.sh 666666

得到666666的加密密文$S$Di/KeMGUUjEbhgEZIlGETXANuJDs.vM3a07EL6wKnmCTzUGExuNZ,接下来我们需要重置管理员的密码为666666的加密密文,还得进入数据库直接更新密码。

update drupaldb.users set pass='$S$Di/KeMGUUjEbhgEZIlGETXANuJDs.vM3a07EL6wKnmCTzUGExuNZ' where name='admin';

如上图所示说明更新成功,接下来登陆一下管理员账号,

登陆后点击左上角的Dashboard,然后点击中间的flag3。

然后得到flag3,并提示:用命令来获取密码。

flag4

先看看passwd文件,发现有一个flag4的用户

很明显flag4在/home/flag4目录下

顺利得到flag4,并得到提示:你能用相同的方法在root目录下找到最终flag吗?可能吧,但可能没那么容易。

flag5(最后一个flag)

根据提示能想到suid提权,将目前的www-data用户权限提到root权限,先查询一下具有root权限的其它命令:

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

使用find来执行命令,可以发现find命令本身就是root权限

find flag4.txt -exec "whoami" \;

 

接着利用find提权

find flag4.txt -exec "/bin/sh" \;

 

 查看root目录下的flag文件,得到最后一个flag

 

相关知识点

1、msf的熟练使用以及搜索可利用漏洞(Drupal)
2、留意目标网站的配置文件(more慢慢查看别错过重要信息)
3、数据库管理员提权(更新管理员密码或者添加一个新用户)
4、suid提权的命令(nmap、vim、find、bash、more、less、nano、cp)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟敛寒林o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值