VulnHub通关日记-DC_1-Walkthrough

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: DC系列的靶机是一个专门构建的易受攻击的实验室,总共有九个!目的是获得渗透测试领域的经验

VulnHub通关日记-DC_1-Walkthrough


靶机简介

DC系列的靶机是一个专门构建的易受攻击的实验室,总共有九个!目的是获得渗透测试领域的经验。它的设计初学者是一个挑战,但是它的难易程度取决于您的技能和知识以及学习能力。要成功完成此挑战,您需要具备Linux技能,熟悉Linux命令行以及具有基本渗透测试工具的经验,例如可以在Kali Linux或Parrot Security OS上找到的工具。有多种获得根的方法,但是,我包括了一些标志,这些标志包含了初学者的线索。总共有五个Flag,但是最终目标是在root的主目录中找到并读取该标志。您甚至不需要成为root用户即可执行此操作,但是,您将需要root特权。根据您的技能水平,您可能可以跳过查找大多数这些标志并直接获得root资格。


学习到的知识

Drupal 7 CMS的RCE(Metasploit)

Drupal 7Mysql写入SQL添加后台管理员账号

find命令SUID权限提升


信息搜集

拿到靶机后先对它端口进行扫描:

nmap -A -p- -T4 192.168.1.142

 

 

扫描出来结果发现它开放了22ssh)、80http)、111nfs共享)。

其中httpweb使用的CMSDrupal 7。我们先从web下手吧:

http://192.168.1.142

 

 

web页面上没有啥东西,尝试了一下弱口令无果,还是先对它进行扫描目录文件吧:

dirb http://192.168.1.142

 

 

扫描出来后发现有robots.txt文件,打开后是这样的:

 

 

我在翻了一些文件没有得到可利用的信息,只是知道它的版本好像是7.x版本。随后我搜索了一下有关于这个 CMS 的漏洞,看看能不能捡个漏:

searchsploit Drupal

 

 

从上图可知,它漏洞还是蛮多的,刚好有一个RCE可以用Metasploit来进行利用!随后我打开 MSF 搜索了一下它的利用模块,我使用的是这个模块(前面几个看了不能用):

exploit/unix/webapp/drupal_drupalgeddon2

 

 

之后设置rhosts开始攻击exploit得到一枚shell

看了看只是一个普通的网站权限,系统是LinuxDebian

我先是用MSF的提权辅助模块来尝试看看能不能运气爆棚的鸡蛋里挑骨头找到一个提权模块:

run post/multi/recon/local_exploit_suggester

 

 

额,没有找到可以用来提权的模块,那么就算了~我还是先进它shell里面看看吧,只有打入敌人内部才能取敌将首级!进入到shell后先用python来得到一枚sh吧:

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

 

 

Flag1

我所在的目录是网站的绝对路径/var/www,下面有一个flag1.txt文件,cat查看文件后拿到第一个flag,里面有作者给我们的提示:

Every good CMS needs a config file - and so do you.

 

 

翻译过来大概就是让我们找CMS的配置文件,这也是我们获取下一个flag的线索之一!


Flag2

得到线索后,我疯狂翻网站的目录找到了它的配置文件:

/var/www/sites/default/settings.php

 

 

查看文件后我们得到了Flag2,又得到了一个新线索:






<?php
/** 
* 
* flag2 
* Brute force and dictionary attacks aren't the 
* only ways to gain access (and you WILL need access). 
* What can you do with these credentials? 
* 
*/
$databases = array (  
'default' =>   
array (    
'default' =>     
array (      
'database' => 'drupaldb',      
'username' => 'dbuser',      
'password' => 'R0ck3t',      
'host' => 'localhost',      
'port' => '',      
'driver' => 'mysql',      
'prefix' => '',    
  ),  
 ),
);

 

 

翻译过来大概的意思是告诉我们暴力用字典破解不是一个有效的方式,既然得到了配置文件,你能用这个配置文件来做什么?


Flag3

很明显了,这段提示下面就是一个数据库的配置信息,作者可能是要让我们进入到Mysql里面!

数据库名:'drupaldb',用户名:'dbuser',密码:'R0ck3t',

 

 

成功登陆到它的 Mysql 里面,我找到了一些账号和密码:

 

 

但是这玩意密码有哈希加密了的,我又连续查询了好多表才发现了Flag3的一丝线索:

 

 

它这里的title里有flag3,但是里面没有提示信息!既然是在title上有flag3的线索,那么有可能是在网站的里面,也就是网站的后台里!

接着我重新写入了一段SQL语句,把管理员的密码给重置了:

具体可以看这篇文章:https://www.isfirst.net/drupal/drupal-reset-passwordupdate users set pass='$S$DFLfuzfO9WDKAJcUHnNmhS9NwOD6MRj3pk00qEl4O7iNBD2X4n3v' where name='admin';# 这段 sql 语句的意思是把 admin 的密码重置为 drupal ,因为它的 pass 加密是 password-hash.sh ,所以我们直接给他替换掉!

 

 

写入成功后,我们来到网站的登陆页面:http://192.168.1.142/user

admindrupal

 

 

登陆进去后我们得到了Flag3这个时候我们又得到了一个新线索:

Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.

大概的意思是让我们通过-exec命令来得到密码啥的!


Flag4

既然提示说要我们通过命令来得到密码,那么我首先是查看了passwd文件,发现了有关flag4的线索:

 

 

有一个flag4的用户,随后我来到了flag4的目录发现了flag4.txt文件!(saul文件是我之前玩靶机留下的,大家当作没有就好了)

打开之后呢得到了最后一个线索:

Can you use this same method to find or access the flag in root?Probably. But perhaps it's not that easy.  Or maybe it is?

 

 

翻译过来的意思大概是让我们以相同的方式来得到root目录下的flag


Flag5

得到线索后我习惯性的sudo -l查看有没有什么命令可以让我提权的,但是它没有sudo这个命令:

 

 

额,有点打脑壳!借用朝阳冬泳怪鸽的话:我们遇到什么困难也不要怕,微笑着面对它!消除恐惧的最好办法就是面对恐惧!坚持,才是胜利。加油!奥利给!

别慌,抽根烟再好好想想!我又接着查看下,看它有没有root权限的文件,但是没有:

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

 

 

接着我又查看了有没有root权限的SUID命令发现了这些:

find / -type f -perm -u=s 2>/dev/null

 

 

其中有一个命令我之前提权的时候用过,就是find命令!刚好之前在拿到Flag3的时候它提示了-exec命令!这是一个参数,搭配find查找命令使用可以调用命令来去执行!

我首先是想在flag4目录创建个文件,但是失败了!但是没关系!

 

 

由于当前目录下有一个flag4.txt文件我们就直接使用find查看当前权限,请忽略上面那条命令!(当时的思路是创建一个文件,然后使用 find 命令来查找这个文件然后执行命令的)

find flag4.txt -exec "whoami" \;

 

 

可以看到,我们的权限是root了,我们直接提权把:

find flag4.txt -exec "/bin/sh" \;# 这段命令的意思就是先使用 find 命令查找 flag4.txt 文件,然后使用它的参数 -exec 来执行命令 /bin/sh ,这样我们就能获取到 root 权限了!

 

 

最后也是在root目录下拿到了最后的Flag文件!

相关文章
|
SQL 安全 网络协议
VulnHub通关日记-DC_9-Walkthrough
DC-9是 DC 系列的最后一个靶机了,这项挑战的最终目标是扎根并读取唯一的标志。
|
SQL 安全 Shell
VulnHub通关日记-DC_7-Walkthrough
DC-7是另一个专门构建的易受攻击的实验室,目的是在渗透测试领域积累经验。
|
Shell 网络安全 数据安全/隐私保护
VulnHub通关日记-DC_6-Walkthrough
好的,这并不是一个真正的线索,但是对于那些只是想继续工作的人,更多的是“我们不想花五年时间等待某个过程完成”的建议。
|
安全 Shell C语言
VulnHub通关日记-DC_5-Walkthrough
LFI(本地文件包含)日志获取shell wfuzz工具的使用 screen提权root
|
SQL Shell 网络安全
VulnHub通关日记-DC_4-Walkthrough
DC-4是另一个专门构建的易受攻击的实验室,目的是在渗透测试领域积累经验。
|
Shell Linux 网络安全
VulnHub通关日记-DC_2-Walkthrough
总共有5个Flag,最后一个Flag是在 root 目录下!
|
5月前
BOSHIDA DC/AC电源模块的节能特点与环保优势
BOSHIDA DC/AC电源模块的节能特点与环保优势
BOSHIDA DC/AC电源模块的节能特点与环保优势
|
5月前
|
安全
DC/AC电源模块为现代电子设备提供稳定的能源
DC/AC电源模块为现代电子设备提供稳定的能源
 DC/AC电源模块为现代电子设备提供稳定的能源
|
5月前
|
安全
DC/AC电源模块:让电力转换变得更简单
DC/AC电源模块:让电力转换变得更简单
DC/AC电源模块:让电力转换变得更简单
|
3月前
|
芯片 网络架构
开关电源DC-DC电源应用
DC-DC指直流转直流电源(Direct Current)。是一种在直流电路中将一个电压值的电能变为另一个电压值的电能的装置。如,通过一个转换器能将一个直流电压(5.0V)转换成其他的直流电压(1.5V或12.0V),我们称这个转换器为DC-DC转换器,或称之为开关电源或开关调整器。 DC-DC转换器一般由控制芯片,电感线圈,二极管,三极管,电容器构成。在讨论DC-DC转换器的性能时,如果单针对控制芯片,是不能判断其优劣的。其外围电路的元器件特性,和基板的布线方式等,能改变电源电路的性能,因此,应进行综合判断。 DC-DC转换器的使用有利于简化电源电路设计,缩短研制周期,实现最佳指标等,被