DC-1靶机渗透学习

前言

最近发现了DC系列漏洞靶场,看了几位博主的文章,觉得还不错,下载了8个靶场:DC-1到DC-8。从信息收集到最后拿到超级管理员权限,可以说几乎贯穿了渗透测试的每一步,寻找一个个flag,通过flag中的指引内容,帮助我们拿到最后的root身份。

有一说一,还真挺不错的!建议可以学习一下。

环境搭建

DC系列靶机下载地址:https://download.vulnhub.com/dc/DC-1.zip(DC后的数字可以换成1-8中任意一个)

攻击机:Kali2020

之后将靶机下载好之后,放到一个文件夹里,我们将它解压下来

 

 

 是一个ova文件,我们利用VM打开

 

 

 打开时会显示错误,点击重试就可以正常导入。

注意:靶机与攻击机应置于同一网络下,靶机默认是桥接模式,我是把攻击机与靶机都置于NAT模式下。

所以我们需要将靶机设置成NAT模式,让靶机与攻击机在同一网络下。

 

 

 这里我们需要记一下靶机的MAC地址,一会儿我们会用到的。

DC-1靶机打开后呈现的界面如下:

 

 

 主机发现

打开kali,查看ip

现在我们已经将DC-1靶机与我们的攻击机已经在同一网段上了,现在我们就用 ifconfig 查看一下kali的ip方便获得靶机的网络号

 

 

 这个是kali的ip地址,由于是在同一网段里,所以我们靶机的网络号就是 192.168.56.0/24 

使用namp扫描主机

利用nmap命令 nmap -sn 192.168.56.0/24 进行扫描该网段,根据之前记下的MAC地址确定扫描到的主机哪一个是DC-1,因为MAC地址是主机的唯一标识。

 

 

 找到DC-1的ip地址是 192.168.56.173 

端口扫描

使用namp扫描DC-1,看看什么服务是可利用的。 nmap -sS 192.168.56.173 由扫描结果知开放端口有三个:22(ssh服务端口)、80(http默认端口)和111(rpcbind端口)。

所以我们可以在网页上访问这个IP。

 

 

 

 由左下角知该网页基于Drupal, 并且为drupal7

信息收集

启动Metersploit: msfconsole 

用search 命令查找与Drupal 有关的漏洞: search drupal 

用use命令使用API注入这个模块(类似于在多个数据库时使用某一个数据库)。

使用show options命令查看还有什么可以设置的选项,当Required=yes时表明还需要我们对他进行设置。

Rhost文件里面定义了主机和IP地址的对应关系,并且这个文件还需要我们设置。

 选取2018的进行测试,因为有远程代码执行漏洞: use exploit/unix/webapp/drupal_drupalgeddon2 

用 show options查看使用方法完善内容: show options 

 

 

 我们需要用set命令设置一下rhost文件

 

 

 然后用exploit进行攻击 ,当你用metasploit(漏洞检测工具)成功的入侵一台Windows主机后,你会获得一个Meterpreter 的Shell。

 Meterpreter session 1 opened (192.168.56.171:4444 -> 192.168.56.173:41637) 表示你已经用192.168.56.171这台主机成功侵入192.168.56.173这台主机,也就是靶机。

 

 

 然后我们浏览一下,这个靶机里有什么文件,利用ls命令

 

 

 从中我们可以发现flag1.txt文件,那我们查看一下flag1.txt里面的内容: cat flag1.txt 

 

 Flag1.txt中提示你要去找CMS中的一个配置文件。

打开靶机的一个shell,以靶机用户的身份使用靶机,使用 python -c "import pty;pty.spawn( '/bin/bash')" 开启交互模式,之后再利用ls浏览一下有什么可用的文件。

 

 然后我们利用 find ./ -name "*settings*" 命令查找CMS配置文件,看到有一个默认的配置文件。

 

 我们查看一下这个默认文件

 

 从中我们看到了flag2文件,Flag2中提示我们暴力破解不可取并且需要提权。还有一个名为drupaldb的数据库,然后我们登录一下这个数据库,查看其中的内容。

 

 查看并打开数据库

 

 然后查看里面的表

 

可以看到有一个users的表,估计就是存储网站注册用户的信息的表。

然后查看users表

 

 

表中有用户名name,加密的用户密码pass。如果pass是明文,我们就可以直接登录了,但是显然不是,用户注册时使用的明文,存储在数据库时是密文,那后台一定使用了某种方法将明文经过一定的运算产生了密文,那我们也用这种方法产生一个我们知道的密码的密码,替换数据库中的密文,这样不就可以登录靶机网站了嘛。

某博主说密文产生的脚本是/scripts/password-hash.sh,我们来看一下,首先quit切出mysql

然后,ls浏览文件,发现scripts文件

 

 

 

 发现了这个了,然后我们使用这个脚本生成一个我们自己所取的密码,这里我起密码为:sole

 

 这样就生成了sole的密文

 

 

 

 进行到数据库,重复之前操作,利用上面命令用我们新起的密码替换掉之前的密码。

现在登录一下界面

 

 登录成功,然后在此界面当中发现flag3文件,现在我们再查看一下内容

 

 flag3提示我们要使用find进行提权。

提权

我们再利用 find 命令从靶机里寻找一下有关flag的信息。

 

 发现了flag4.txt文件和thefinalflag.txt文件,thefinalflag.txt的权限是root,也就要听flag3的提示提高自己的DC-1靶机中的权限。

我们先查看一下flag4.txt文件里的内容。

 

 他还是想要我们进入靶机的root权限。

那我们按条件查找权限:

-perm:按照权限查找
-type:查是块设备b、目录d、字符设备c、管道p、符号链接l、普通文件f
-u=s:拥有者是s权限

 

 当中有一个/usr/bin/find文件,我们来查看一下此文件

 

 这个文件是有root权限的,且在这个权限下可读可写可执行。

那我们进行提权

-exec:对匹配的文件执行该参数所给出的shell命令。形式为command {} \;。

 

 然后再查看一下thefinalflag.txt文件

 

 OK!齐活

参考文章

DC-1靶机复现

 

posted @ 2021-04-03 23:12  AW_SOLE  阅读(570)  评论(0编辑  收藏  举报