DC-1 Writeup

534 字
3 分钟
DC-1 Writeup
  1. 1DC-1 Writeup本文
  2. 2DC-2 Writeup
Warning

仅供安全学习,环境均为本地虚拟机或 CTF 靶场。请勿用于未授权目标。


介绍#

Vulnhub

根据作者的介绍,这个靶机一共有五个 flag1。

目标是 root shell。

分析#

nmap 扫描得知:

  • OS: Debian
  • Kernel: Linux 3.2 - 3.6
  • Web Server: Apache httpd 2.2.22
  • CMS: Drupal 7
  • 开放的 TCP 端口:22, 80, 111

通过 CVE-2018-7600,使用 msfconsole 拿到 www-data 的 shell:


flag 1#

第一个 flag 让我们去找 Drupal 的配置文件:


flag 2#

注意到 /var/www/sites/default 下的 settings.php:

我们可以得到 Drupal 数据库的一个用户名和密码。


flag 3#

进入数据库后,注意到 flag3:

但是乍一看好像没给任何信息?

注意到这个 flag3 对应的 uid 为 1,在 users 表中确认到:

  • username: admin
  • uid: 1
  • 对应的密码哈希 $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR

尝试注册一个新用户再通过 SQL 替换密码哈希,结果注册用户要求管理员通过且注册时不能填写密码。所以得找找其他办法。

注意到这个计算密码哈希的脚本:

www-data@DC-1:/var/www/scripts$ ls password-hash.sh
password-hash.sh
www-data@DC-1:/var/www/scripts$

执行后提示我们:

To run this script without the --root argument invoke it from the root directory
of your Drupal installation as
./scripts/password-hash.sh

按照指示运行:

www-data@DC-1:/var/www$ ./scripts/password-hash.sh 123
password: 123 hash: $S$DhnR5dwKRomrHLQBklwV4Xb/JjiQIy2NUKwZqhOw5gbQp692NFDn
www-data@DC-1:/var/www$

得到 123 的哈希 $S$DhnR5dwKRomrHLQBklwV4Xb/JjiQIy2NUKwZqhOw5gbQp692NFDn

替换 admin 密码:

登录后成功在文章列表中找到 flag3:


flag 4#

根据 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.

这里有个双关:shadow 既指“阴影”,又指 /etc/shadow,同时指引我们使用 -exec 选项。

Q:但是什么命令有 -exec 选项呢?

A:注意到我们常用的命令中,find 带有 -exec 选项。

find -exec 确实可以用于执行其他程序,但是通常情况 find 的权限是 755:

检查 DC-1 的 find:

天哪竟然是 SUID,看来是作者故意改的,说明就该用这个。

先看看 /etc/shadow:

发现了 flag4 用户及其家目录,于是:


flag 5#

flag4 的内容明示我们找 /root,众所周知普通用户无权进入 /root,作者也没给后门,所以…

通过 SUID 的 find 提权到 root:2


References#

Footnotes#

  1. VulnHub - DC-1 ↩

  2. GTFOBins - find ↩

DC-1 Writeup
https://nekoside.com/posts/dc1/
作者
nekoside
发布于
2026-09-22
许可协议
CC BY-NC-SA 4.0
文章目录