最近闲着冲浪玩发现了DC系列漏洞靶场(下载了8个靶场:DC-1到DC-8),从信息收集到最后拿到超级管理员权限,可以说几乎贯穿了渗透测试的每一步,寻找一个个flag,通过flag中的指引内容,帮助我们拿到最后的root身份,过程还是挺有趣的!

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

DC-1是一个易受攻击的实验环境,最终目的是让攻击者获得root权限,并读取flag。

DC-1提权关键词:find

1 环境搭建

下载靶机,解压后使用VM打开.ovf文件,打开时会显示错误,点击重试就可以正常导入;

攻击机使用kali-2020,在官网下载的VM文件,直接解压打开就可以使用,下载地址:https://www.kali.org/downloads/

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

2 主机发现

使用Kali中的arp-scan工具扫描结果如下:

DC系列漏洞靶场-渗透测试学习复现(DC-1)

172.16.12.144为DC-1靶机的IP地址。

3 端口探测

探测使用nmap工具,端口扫描结果如下:

DC系列漏洞靶场-渗透测试学习复现(DC-1)

由扫描结果知开放端口有三个:22(ssh服务端口)、80(http默认端口)和111(rpcbind端口)。

4 访问web收集信息

访问web界面如下:

DC系列漏洞靶场-渗透测试学习复现(DC-1)

5 对网站信息收集

5.1 使用插件Wappalyzer进行网站指纹识别

DC系列漏洞靶场-渗透测试学习复现(DC-1)

从上图中可得知:

DC-1靶场使用的内容管理系统为:Drupal 7

                   编程语言为:  PHP 5.4.45

                   Web服务器:Apache 2.2.22

                   操作系统为:Debian

                   JavaScript库:jQuery 1.4.4

5.2 查找dropal类CMS相关漏洞

DC系列漏洞靶场-渗透测试学习复现(DC-1)

选择其中最新的漏洞进行攻击尝试

DC系列漏洞靶场-渗透测试学习复现(DC-1)

DC系列漏洞靶场-渗透测试学习复现(DC-1)

查看需要设置的参数

DC系列漏洞靶场-渗透测试学习复现(DC-1)

设置参数开启攻击,获取shell如下所示

DC系列漏洞靶场-渗透测试学习复现(DC-1)

看到Meterpreter session 1 opened说明攻击成功。

5.3 shell获取

执行命令shell获取shell

DC系列漏洞靶场-渗透测试学习复现(DC-1)

使用ls命令查看下当前目录下的文件

DC系列漏洞靶场-渗透测试学习复现(DC-1)

查看flag1.txt

DC系列漏洞靶场-渗透测试学习复现(DC-1)

查看robots.txt文件

DC系列漏洞靶场-渗透测试学习复现(DC-1)DC系列漏洞靶场-渗透测试学习复现(DC-1)

可以看到许多有用的信息如登出页面、登录页面、注册页面等等。

5.4 信息收集

翻了翻其他的文件没有啥,按照flag1.txt中的内容提示,切换到Drupal的配置文件即/site/default下的setting.php文件。

DC系列漏洞靶场-渗透测试学习复现(DC-1)

在settings翻找到数据库的配置信息如下:

数据库为mysql数据库,数据库名为drupaldb,用户名为dbuser,密码为R0ck3t,本地登录账号。

DC系列漏洞靶场-渗透测试学习复现(DC-1)

5.5 数据库登录

Python打开shell终端获取交互shell,登录mysql数据库

DC系列漏洞靶场-渗透测试学习复现(DC-1)

切换到Drupaldb数据库使用use drupaldb,查询users表;

DC系列漏洞靶场-渗透测试学习复现(DC-1)

drupal存储用户密码:把密码和用户名或其它随机字符串组合在一起后使用 MD5 方式加密。

5.6 用户密码**

**密码方法一:

exploitdb中有一个针对Drupal 7版本的攻击脚本,可以增加一个admin权限的用户账号,使用此方法简便了**admin的密码,更直接。

DC系列漏洞靶场-渗透测试学习复现(DC-1)

直接利用添加用户即可

DC系列漏洞靶场-渗透测试学习复现(DC-1)

用户添加成功

DC系列漏洞靶场-渗透测试学习复现(DC-1)

**密码方法二:

使用drupal自带的password-hash加密drupal

DC系列漏洞靶场-渗透测试学习复现(DC-1)

登录数据库重置admin账户密码,重置密码为drupal

DC系列漏洞靶场-渗透测试学习复现(DC-1)

**密码方法三:用hashcat暴力**(flag2处提示暴力**不是唯一的方法)

DC系列漏洞靶场-渗透测试学习复现(DC-1)

5.7 使用admin账号登录系统

DC系列漏洞靶场-渗透测试学习复现(DC-1)

登录成功,在页面随便翻翻发现flag3

DC系列漏洞靶场-渗透测试学习复现(DC-1)

Flag3内容如下

DC系列漏洞靶场-渗透测试学习复现(DC-1)

关键词:FIND、PERMS、-exec、shadow

DC系列漏洞靶场-渗透测试学习复现(DC-1)

DC系列漏洞靶场-渗透测试学习复现(DC-1)

查看shodow文件,但是普通用户查看不了shadow文件

DC系列漏洞靶场-渗透测试学习复现(DC-1)

查看是否有sgid位的可执行文件(0输入,1标准输出,2错误输出)

Find / –perm /4000 –print 2>/dev/null,这条命令是寻找有特殊执行权限的文件,并将错误输出到/dev/null下,/dev/null相当于linux中无底的垃圾桶

DC系列漏洞靶场-渗透测试学习复现(DC-1)

6 提权

Find命令提权成功

DC系列漏洞靶场-渗透测试学习复现(DC-1)

查看shadow文件,看到了flag4

DC系列漏洞靶场-渗透测试学习复现(DC-1)

Flag4是一个用户,flag4用户密码可以使用ssh登录进行**

Hydra**,**成功

DC系列漏洞靶场-渗透测试学习复现(DC-1)

登录flag4用户成功

DC系列漏洞靶场-渗透测试学习复现(DC-1)

查看flag4.txt

DC系列漏洞靶场-渗透测试学习复现(DC-1)

继续使用find提权,在root家目录下查看最后一个flag文件

Find ./ aaa –exec ‘/bin/sh’ \;

DC系列漏洞靶场-渗透测试学习复现(DC-1)

这里有人可能看到#键的这种shell感觉不习惯,可使用python -c "import pty;pty.spawn('/bin/bash');"进入我们常用的那种linux终端如下

DC系列漏洞靶场-渗透测试学习复现(DC-1)

 

相关文章:

  • 2021-06-03
  • 2021-06-04
  • 2021-08-24
  • 2021-06-04
  • 2021-06-11
  • 2021-04-15
  • 2021-07-23
  • 2022-03-08
猜你喜欢
  • 2021-11-12
  • 2021-11-08
  • 2022-02-05
  • 2021-04-21
  • 2021-11-03
  • 2021-06-28
  • 2022-12-23
相关资源
相似解决方案