vulnhub过关之旅(DC-1)

vulnhub靶机链接:https://www.vulnhub.com/entry/dc-1,292/

1.信息收集

nmap 192.168.100.1/24

可以发现靶机IP为192.168.100.133,接下来探测更多信息。

nmap 192.168.100.133 -A

从中可以看到该靶机开了22,80,111端口,并且还有相应的具体版本信息。

2.寻找漏洞

打开火狐浏览器,输入http://192.168.100.133,查看靶机对应的web服务。

这里面有个需要登录的界面,以及旁边插件收集到了一些重要信息,可以看到它是Drupal的CMS,操作系统是Debian,Web中间件是Apache2.2.22,后端语言为php5.4.45,Drupal7不是这个CMS的最新版本,应该会有很多漏洞,这里先直接使用MSF打了,具体的漏洞原理介绍打算放在漏洞专栏。

3.MSF渗透

获得shell以后首先确认一下是不是root,果然没这么简单,ls查看当前目录发现有一个flag1.txt文件,查看一下内容如下:Every good CMS needs a config file – and so do you. 这说明需要提示我们查看 一下config文件,接下来在当前目录下搜索一下cms的config设置文件,并查看内容。

cd sites/default
cat settings.php

拿到了flag2.txt,成功获得了网站配置的MySQL数据库的账号和密码,接下来登录数据库来查询管理员账号。

mysql -u dbuser -p R0ck3t

进去数据库后使用查询语句寻找里面的管理员账号密码

show databases;#显示有哪些数据库
use drupaldb;#切换成drupaldb数据库
show tables;#显示当前数据库的表
select * from users;#查询表users下的信息
select name,pass from users;#查询指定列的表users的信息

可以看到这里面存了管理员admin的账号以及密码,但是密码已经被摘要算法加密了,查drupal7的信息可以指定这个版本已经不是简单用md5加密了,应该是带了salt的加密,但是毕竟是个开源CMS,查到了它对应的加密脚本文件,这里我们直接用这个加密算法的脚本文件生成一段明文为“123456”的密文,然后进数据库修改admin的pass值为这个密文,这样就相当于把admin的密码改成了123456。

这里注意使用脚本的当前目录得是网站根目录,不然会报错,应该跟这个cms的设置有关。

这里成功修改admin的密码为123456,然后使用这个账号来登录网站查看相应信息

成功找到flag3,这里说是让我们利用perms和-exec提权。首先创建一个名字为1的空文件,然后使用find命令提权(find本身就是root权限)

touch 1 #创建一个名字为1的空文件
find 1 -exec "whoami" \;
find 1 -exec "/bin/sh" \;

成功获得root权限,接下来去root文件夹下收获最后的胜利果实。

知识点总结:

  1. 利用drupal7这个CMS的漏洞
  2. MSF简单使用
  3. MySQL相关命令
  4. 利用find提权