DC系列漏洞靶场-渗透测试学习复现(DC-7)

DC-7是一个易受攻击的实验环境,最终目的是让攻击者获得root权限,并读取flag。

本篇文档中用到了exim4漏洞提权和shell二次反弹。

1 环境搭建

下载靶场文件,使用Vbox或者VM打开即可;攻击机使用kali-2020。

2 主机发现

使用Kali中的arp-scan工具扫描结果如下:

DC系列漏洞靶场-渗透测试学习复现(DC-7)

172.16.12.149为DC-7靶机的IP地址。

3 端口探测

探测使用nmap工具

端口扫描结果如下:

DC系列漏洞靶场-渗透测试学习复现(DC-7)

由扫描结果知开放端口有两个:22(SSH服务默认端口)和80(http默认端口)。

4 访问web

访问web界面如下:

DC系列漏洞靶场-渗透测试学习复现(DC-7)

从web首页的这段话来看渗透的路子在左边的那个搜索框上,随便输点什么查询下,都没有找到什么有用的信息,下面是这段话的翻译

DC-7引入了一些“新”概念,但我将让您弄清楚它们是什么。:-)

虽然这个挑战并不完全是技术性的,但如果你需要使用暴力破解或字典攻击,你可能不会成功。(说明暴力破解登录用户或字典检索网站目录还是有可能操作的)

你要做的,就是跳出框框去思考。

在盒子外面。:-)

5 对网站信息收集

打开插件Wappalyzer进行网站指纹识别如下:

DC系列漏洞靶场-渗透测试学习复现(DC-7)

从指纹识别信息中提取出的信息有:

1 CMS(内容管理系统):Drupal

2 编程语言:PHP

3 Web服务器:Apache 2.4.25

4 操作系统:Debian

6 用户密码破解

玩这个网站最开始我想到的是

1 网站首页的搜索框,尝试直接查询passwd等文件或直接输入linux命令查看,都以失败收尾;

2 尝试扫描网站目录,没发现什么有价值的目录,倒是发现了robotx.txt文件,这个文件作为常见的可以让爬虫程序扫描的文件之一,控制是否想让爬虫去爬取本站信息;

3 对于robots.txt文件,对里面的目录或者文件都进行了访问查看,未发现有用的信息

DC系列漏洞靶场-渗透测试学习复现(DC-7)

DC系列漏洞靶场-渗透测试学习复现(DC-7)

在这里折腾了一段时间,作用不大

4 尝试通过用户名密码爆破登录,可惜没有爆破出来,这里也想到过dc7用户,但并没有爆破出来;

5 有时候,渗透测试的过程中我们不能太过循导守旧,需要放空大脑,想尽一切可能去,所有所渗透测试来说是需要经验积累的。

后经查询了解到网站左下角为@DC7USER为推特的联系方式,通过查询DC7USER查询到DC7-User用户,从而查询到如下信息,明显与DC-7相关:

DC系列漏洞靶场-渗透测试学习复现(DC-7)

上github网站看下

DC系列漏洞靶场-渗透测试学习复现(DC-7)

点击浏览代码

DC系列漏洞靶场-渗透测试学习复现(DC-7)

在其中的config.php代码中找到了用户名密码

DC系列漏洞靶场-渗透测试学习复现(DC-7)

看样子是网站mysql数据库连接的用户名、密码,所有这里就不登录网站了,直接登录后台。dc7user/MdR3xOgB7#dW

登录成功

DC系列漏洞靶场-渗透测试学习复现(DC-7)

查看dc7user家目录下有backup文件夹

DC系列漏洞靶场-渗透测试学习复现(DC-7)

Gpg后缀文件为加密后的文件,需要有秘钥和密码才能解密。

查看另一个文件mbox是邮件信息如下

DC系列漏洞靶场-渗透测试学习复现(DC-7)

其中的主要信息有:

Shell脚本文件   /opt/scripts/backups.sh

数据库文件:/home/dc7user/backups/website.sql

网站数据: /home/dc7user/backups/website.tar.gz

从目前情况来看,website.sql和website.tar.gz文件现在都是加密过的,现在只能把目光放在另一个文件backups.sh上

查看文件如下

DC系列漏洞靶场-渗透测试学习复现(DC-7)

顺利找到了加密的秘钥,只是解密需要root权限才可以

接下来看看能找到提权的有关提示不,find查找如下(熟悉的exim映入眼帘)

DC系列漏洞靶场-渗透测试学习复现(DC-7)

7 exim提权

查看exim版本

DC系列漏洞靶场-渗透测试学习复现(DC-7)

Kali上查找方法

DC系列漏洞靶场-渗透测试学习复现(DC-7)

找到46996.sh文件传输到DC-7上

DC系列漏洞靶场-渗透测试学习复现(DC-7)

传输完成

修改文件替换结束符

DC系列漏洞靶场-渗透测试学习复现(DC-7)

执行此提权脚本,并没有提权成功

DC系列漏洞靶场-渗透测试学习复现(DC-7)

使用gpg秘钥解密PickYourOwnPassword(backup.sh中找到)

DC系列漏洞靶场-渗透测试学习复现(DC-7)

DC系列漏洞靶场-渗透测试学习复现(DC-7)

查看解密后的文件

DC系列漏洞靶场-渗透测试学习复现(DC-7)

文件夹html为website.tar.gz后解压后的文件

在文件夹中/sites/default目录下找到setting.php文件并没找到有用的信息。

只能将目光重新放到website.sql文件中,dc7user这个用户不能登录mysql数据库,所有把website.sql文件导出来后再导入自己的虚拟机中,在数据库中使用source /路径/website.sql如下

DC系列漏洞靶场-渗透测试学习复现(DC-7)

打开的文件有以下表

DC系列漏洞靶场-渗透测试学习复现(DC-7)

发现users表,查看users表并没发现user相关用户信息

DC系列漏洞靶场-渗透测试学习复现(DC-7)

到这一步把我整蒙了,难道不是考察gpg加解密和数据库文件还原吗,只能把目光重新放回backups.sh文件,这时才发现文件的所属用户为root,所属组为www-data。

DC系列漏洞靶场-渗透测试学习复现(DC-7)

 

查询drush是drupal shell专门管理drupal站点的shell,使用drush扫描得知drupal用户为admin,cms的管理用户

尝试重置admin用户密码,说明admin用户存在

DC系列漏洞靶场-渗透测试学习复现(DC-7)

若用户不存在则是下面这种情况

DC系列漏洞靶场-渗透测试学习复现(DC-7)

重置admin密码为admin,必须在/var/www/html目录下执行

DC系列漏洞靶场-渗透测试学习复现(DC-7)

登录网站

DC系列漏洞靶场-渗透测试学习复现(DC-7)

 

到后台后想上传一句话木马进行连接,发现没有php模块,这样就没办法解析php,在extra中点击添加php模块

DC系列漏洞靶场-渗透测试学习复现(DC-7)

安装成功

DC系列漏洞靶场-渗透测试学习复现(DC-7)

返回页面选择php添加

DC系列漏洞靶场-渗透测试学习复现(DC-7)

DC系列漏洞靶场-渗透测试学习复现(DC-7)

写入反弹shell

DC系列漏洞靶场-渗透测试学习复现(DC-7)

Contexn创建成功

DC系列漏洞靶场-渗透测试学习复现(DC-7)

在kali上监听已拿到反弹shell

DC系列漏洞靶场-渗透测试学习复现(DC-7)

Python –c “import pty;pty.spawn(‘/bin/bash’);”打开shell交互

DC系列漏洞靶场-渗透测试学习复现(DC-7)

8 拿root

DC系列漏洞靶场-渗透测试学习复现(DC-7)

拿到root的反弹shell

DC系列漏洞靶场-渗透测试学习复现(DC-7)

查看theflag文件

DC系列漏洞靶场-渗透测试学习复现(DC-7)

DC系列漏洞靶场-渗透测试学习复现(DC-7)

上一篇:开源镜像站website


下一篇:基于Java的环保企业网站管理系统毕业论文+项目源码(SSM框架)