DC-1

一、描述

VM名称:DC-1
下载(镜像): https://download.vulnhub.com/dc/DC-1.zip
描述:DC-1是一个专门构建的易受攻击的实验环境,目的是获得渗透测试的经验。
它的设计对初学者来说是一个挑战,但是它的难易程度取决于您的技能和知识以及学习能力。要成功完成此挑战,您需要具备Linux技能,熟悉Linux命令行以及具有使用基本渗透测试工具(例如可在Kali Linux或Parrot Security OS上找到的工具)的经验。
有多种获得root的方法,但是,其中包含了一些flag,这些flag包含了一些线索。
总共有五个flag,但是最终目标是在root的主目录中找到并读取该flag。您甚至不需要成为root用户即可执行此操作,但是,您将需要root特权。
根据您的技能水平,您可能可以跳过查找这些标志中的大多数标志并直接寻找根。
初学者可能会遇到他们以前从未遇到过的挑战,但是Google搜索应该是获得完成此挑战所需信息所需要的全部。

二、开始训练

使用arp-scan扫描子网

arp-scan 192.168.1.0/24
image-20210311093457854

发现疑似靶机IP

尝试打开

image-20210310145049301

使用nmap详细扫描该IP

image-20210310145445014

没有发现什么有价值的东西

回顾网站,发现是一个Drupal的CMS,使用whatweb查看网站的详细信息

image-20210311101055138

确定是一个Drupal的CMS且版本为7

上网搜索这个CMS的漏洞利用方式

image-20210311102312915

可以使用Metasploit来进行查找这个cms在msf中能进行利用的exp

启动Metasploit

查找drupal的exp

image-20210311103202473

使用这个exp

image-20210311104314214

查看配置

image-20210311104400421

进行反弹shell

image-20210311104932032

目录显示如下

image-20210311105011049

发现flag1.txt

使用cat命令查看

image-20210311105057861

使用python反弹交互式shell

image-20210311105247604

drupal的配置文件是 /sites/default/settings.php ,是数据库连接配置文件。

image-20210311105925462

我们在这里得到了第二个flag,以及数据库的用户名和密码

登陆mysql数据库

用户名及密码

image-20210311110423821

查看数据库

image-20210311110659262

使用数据库

image-20210311110714578

查看表

image-20210311110728932

发现users表

image-20210311110826397

查看表数据

image-20210311111230787

比较乱,我们只选择name和pass两项数据

image-20210311111326675

得到用户名以及加密的密码

在网上找到密码的加密方法

image-20210311122948727

使用该加密文件加密

image-20210311123012850

使用生成的新密码替换旧密码

image-20210311124505680

之后回到网页,尝试登陆

image-20210311124657091

登陆成功成功进入后台

于后台管理的Content界面找到了flag3

image-20210311125145401
image-20210311125206366

提示我们需要提升权限,需要在shadow文件中使用“-exec”

我们先去查看用户列表

image-20210311125559389

发现flag4用户

/etc/passwd包含系统所有账户信息,只有超级用户才有写和访问。该文件每个用户占一行用,分隔成七个字段。如下图所示:

img

转到falg4的home目录,发现有一个flag4.txt文件。但是提示需要root权限

image-20210311125946608

接下来尝试提权

先使用find获取root权限相关的信息

find命令是用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件,并将查找到的子目录和文件全部进行显示。 find(选项)(参数) -exec<执行指令>:假设find指令的回传值为True,就执行该指令 -perm<权限数值>:查找符合指定的权限数值的文件或目录

image-20210311130119375

发现了finalflag,但是也需要权限

联想到flag3中提示,需要使用"-exec"提权

开始提权

image-20210311130903164

提权成功

找到并打开flag4.txt

image-20210311131031513

提示最后一个flag在root文件夹中

进入root文件夹

image-20210311131154740

成功找到最后一个flag

靶机训练结束

最后更新于