DC-1解题过程

发布时间 2023-11-12 18:19:59作者: 未央摩卡

DC-1 靶场

信息收集

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

image-20231030153655348

上面结果我们可以发现靶机开放了22、80、111端口

既然开了80端口,我们就用浏览器访问一下

fig:

查看网页源代码,发现 Drupal 的版本为 7

fig:

然后进行后台扫描

fig:

发现 robots.txt

fig:

过程

但貌似并没有找到什么可利用的东西vim

那就到找一下有没有现成的 drupal 利用模块

image-20231030162955026

用一个最新的 excellent 的

image-20231030163130084

配置好靶场ip即可

image-20231030163427892

开始攻击,成功进入

image-20231030163736808

查看一下当前目录有什么

image-20231030164223758

发现一个 flag1.txt,看一下内容

image-20231030163848646

提示我们找一下 config 配置文件

进 shell 查看一下当前用户

image-20231030164512497

经网上查找,发现 drupal 的配置文件为 settings.php

find 一下就找到了

image-20231030164816240

image-20231030165829103

查看一下文件

image-20231030165851630

发现 flag2,大概意思就是暴力破解和字典攻击不行吧

但往下翻可以直接看到数据库的用户和密码

image-20231030170338158

我们可以尝试登录一下

当我们拿到一个 webshell 的时候,我们能够执行一些命令,但是这些命令都是非交互的,难以使用部分命令。
这时,我们就需要获取一个可交互的 webshell 了

如果对方机器上有 python 的话,我们可以用
  python -c 'import pty; pty.spawn("/bin/bash")'

拿到可交互的shell后,用户名 dbuser 密码 R0ck3t 登录 mysql

image-20231030192939379

查看所有数据库

image-20231030193021219

进入数据库 drupaldb

查看所有表

image-20231030193124551

发现可疑表 users,里面可能有网站的用户名密码

查看 users 表内容,不出所料

fig:

用户名 admin 密码md5加密过 ,用 cmd5 解密后为 53cr3t

合理怀疑这是 drupal 的登录账号密码

不出所料登进去了

fig:

然后在页面点点点,发现新东西

fig:

找到 flag3

fig:

里面提到了 passwd 和 shadow

那就去看看这两个文件好了

image-20231030201432434

shadow 文件没权限查看,passwd 文件最后一行有个 flag4 用户

既然如此,那就进 flag4 的家目录看一眼

发现一个 flag4.txt

image-20231030201710575

查看一下

image-20231030201746218

大概意思就是让我们用同样的方式在 root 目录下找到下一个 flag

提权

既然是在 root 目录下,那么就要先提权

先尝试用 suid 进行提权

Linux 中常见的 root 文件

  • nmap
  • vim
  • find
  • bash
  • more
  • less
  • nano
  • cp

经过一番尝试,选择用 find 进行提权,find 的 -exec 参数可以以 root 身份执行命令

用 find 提权就需要一个文件

但是已经尝试过没有权限用 touch 命令

不过在 flag4 目录下刚好有个 flag4.txt 文件

那就直接提

  find flag4.txt -exec "/bin/sh" \;

image-20231030213345582

进 root 目录找到最后 flag

image-20231030213424255