Vulnhub | DC: 7 |【实战】

写在前面

靶场链接:
https://www.vulnhub.com/entry/dc-7,356/

DC系列,有些知识点在DC:1中提到,可以翻阅

DC:1

信息搜集

首先进行存活扫描
在这里插入图片描述
185为攻击目标,61为网关,141为物理机,115为攻击机

端口及服务详情扫描,发现有8022端口
在这里插入图片描述
先查看一下80端口的网页,指纹非常明显,在DC1也是类似的界面,指纹是Drupal cms
在这里插入图片描述
作者给了一段话

翻译:

DC-7引入了一些“新”概念,但我将留给你们去弄清楚它们是什么
虽然这个挑战并不完全是技术性的,但如果你需要诉诸暴力或字典攻击,你可能不会成功。
你要做的是跳出框框思考。
“在”盒子外。:-)

在不知道DC1的信息的前提下,可以用以下方法确定版本和指纹。

查看源代码meta标签中显示是Drupal 8
在这里插入图片描述
直接使用工具也可以(在谷歌商店查询该工具即可)
在这里插入图片描述
按照通常思路来说,此时就应该利用查到的指纹先查看是否有现成的pocexp。查询后是有的,在8版本以上的就是geddon2REST Module RCE
在这里插入图片描述
首先尝试之前在DC1中就使用过的geddon2 poc 。因为msf中直接有该poc(详情见DC1),我们就再次利用一下试试。并不能成功,可能是做了修补或者版本高于利用版本
在这里插入图片描述
接下来继续尝试一下适用于更高版本的poc

尝试 drupal8 rest rce 编号为:cve-2019-6340 drupal8 rest rce

详情可见以下链接

CVE-2019-6340

手动测试poc
在这里插入图片描述
在这里插入图片描述
这里服务器响应为text 没有json模块 行不通

社工

直接使用现成的poc似乎有些困难,难道我们只能去找更多的poc了么?是否还能从其他角度来撕开口子?

这也是作者提到的“跳出盒子思考”

仔细观察页面可以发现,和之前DC1不同的地方在于下面有了一个用户名。在国外带@一般都是指用户名,在twitterins等都是如此,可能需要一点经验,判断出这里是一个用户名。
在这里插入图片描述
将这个用户名放在谷歌上查一下,果然查到了twittergithub等平台信息。

twitter上写着“this is a twitter account for DC-7 challenge”,看来找对地方了
在这里插入图片描述
查看一下twitter并没有什么东西,继续看看github
在这里插入图片描述
打开后,是网站源代码,包括数据库连接等等脚本。简单代码审计一下,查看登录口,上传点等等,有没有明显的漏洞
在这里插入图片描述
这里简单说一下这里的登陆点问题,只能说加了单引号,免去了这个点的漏洞。并不是使用mysqli_real_escape_string()就是绝对安全的。
如果是以下情况仍然可以攻击。
在这里插入图片描述
最后在配置文件中找到一些敏感数据。
在这里插入图片描述
尝试登录吧,ssh和后台都试一试。

ssh直接就进了
在这里插入图片描述

提权

查看当前有些什么,一个backups,打开就是备份文件,一个mbox,是信件,打开后可以发现是root发来的
在这里插入图片描述
查看信件内容
在这里插入图片描述
后面还有很多相似的,从Subject那一行可以看出:

简单来看,这里写了一个计划任务并执行,执行脚本在 /opt/scripts/backups.sh(注意是root权限执行的)

阅读一下那个脚本
在这里插入图片描述
看起来就是删除之前的备份,重新打包备份后再对备份文件使用gpg工具加密。

这里对sql导出时,使用了一个drush命令,经查询得知,这是drupal的专用命令行工具
在这里插入图片描述
查看一下文档
在这里插入图片描述
继续查看,这里可以看到对用户的操作有以下这些
在这里插入图片描述
显然,user-password这个命令非常令人兴奋,它可以重设指定名字的密码,但是直接执行提示需要一个more functional drupal environment

在这里插入图片描述
运行的环境不对,结合前面邮件内容,我们也在相同的目录下进行运行,成功了,帮助选项如下

在这里插入图片描述
但是用户名应该是什么呢,这里就进行一个弱口令碰撞,发现是admin
在这里插入图片描述
更改一个密码后,就可以登录了,登录成功。

接下来,就是后台RCE了,后台RCE一般就是文件上传点,模板文件。查看了一下,没咋看到模板,网页编辑器也比较严格
在这里插入图片描述
这里是网友们的思路,在drupal插件库中,有允许代码执行的插件,链接如下:

https://www.drupal.org/project/php # 插件下载地址
https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz #模块包

在这里插入图片描述
下载后要安装,记得点一下这里
在这里插入图片描述
安装并开启即可
在这里插入图片描述
接下来,就可以在Text format选项中选择php选项,先随便写一个代码执行测试
在这里插入图片描述
测试成功
在这里插入图片描述
上马
在这里插入图片描述
连接木马
在这里插入图片描述
成功,获得www权限
在这里插入图片描述
反弹出来后想办法继续提权,查看之前以root权限执行的脚本,可以看到,www是具有可写权限的
在这里插入图片描述
写上反弹shell,注意在这里并不是执行该脚本,虽然当前www用户具有执行权限,但是以www用户身份执行仅反弹www权限用户身份。前面已经提到这个文件已经写了计划任务,也就是计划任务执行时才是root权限,所以等待一段时间就可以了
在这里插入图片描述
反弹成功,获得flag
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值