DC-1
2021-11-25 12:16:47

DC-1靶场

实验环境:

​ kali:192.168.200.10

​ DC-1:192.168.200.167

当我们拿到一个靶场,部署在虚拟机中,我们第一件事肯定是去拿到这个ip后去扫描端口

查看开放了哪些端口

在kali中使用 nmap -sN 进行ip监测存活

而后定位到DC-1的ip后,使用nmap -A -v -T4 -p 1-65535 192.168.200.167来查看开放了那些端口

获取ip开放端口

主机主要开放了22、80、111、4444和一个42636端口

看到80,我一般习惯性去查一下80端口

打开80端口

插看80端口

发现为Drupal cms管理系统,而后想查看是否有可用EXP

存有一个疑问:是否可以判断此cms版本

使用msf进行尝试

进入msf后,我们搜索一下这个cms相关漏洞,使用如下漏洞进行攻击

进行如下操作,得到一个交互界面

flag1

进行简单的查看得到flag1

flag1

flag1提示我们需要config文件

从网上进行查找。发现如下

在这个路径中进行翻找,查看,成功在sites/default路径下找到一个 settings.php文件

查看,发现如下

1
2
3
4
5
6
7
'database' => 'drupaldb',
'username' => 'dbuser',
'password' => 'R0ck3t',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',

获得数据库账号密码,登陆下查看一下

使用shell进入命令行界面

但是此时我们mysql进入,会报错

我们使用 python -c “import pty;pty.spawn(‘/bin/bash’)” 产生一个交互命令行

使用python前提条件:被攻击机器需要装有python

这个pyhon产生交互命令行的原理就是利用python 的pty库产生一个伪终端模拟shell

使用伪终端后我们成功进入mysql

使用如下命令

1
2
3
4
5
6
7
8
9
mysql> show databases;

mysql> use drupaldb;

mysql> show tables;

mysql> select * from users;

mysql> select name,pass from users;

我们得到一个加密过后的密码

此时想去解密破解密码,但是无法破解,索性直接进行修改,从网上找到一个相同加密的,密码

明文:password

密文:$S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4

接下来我们把管理员的密码重置下

1
mysql> update users set pass='$S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4' where name='admin';

此时我们登录前端页面进行登录

用户名:admin

密码:password

flag3

前端登录后,点点查看一下,发现了flag3

根据flage3提示,我们需要使用find进行提权

find提权

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

使用find查找具有root权限相同SUID的权限

查看

flag4

突然想尝试下搜索flag,结果发现了flag4

我们尝试用find执行命令

# 这里需要注意-name参数填写的文件名,是需要系统真实存在的

find / -name flag4 -exec “whoami” ;

进行提权

find / -name flag4 -exec “/bin/sh” ;

而后在里边进行寻找,在root目录下,找到flag

最后的flag