DC靶场系列--DC1

2023-10-27

目录

引言

搭建环境

信息收集

漏洞分析 

 漏洞利用


引言

     DC靶场,主要是通过web渗透技术,拿到web服务器的权限,会有flag做为标记,以拿到最终的flag为目标。DC1是vulnhub平台下的DC系列的第一个靶场,DC系列下载地址:官网下载(点击即可进入官网下载),百度网盘下载地址:https://pan.baidu.com/s/1n_mB0fZhP_s_6Kc0M8Tm1Q 
提取码:rmgj。接下来我将会出DC系列的教程,有做的不对或者不完善之处,还请各位小伙伴们不吝指导。

搭建环境

        第一步准备VMware、kali、DC1,VMware和kali(我使用的是2022.01的镜像,这里由于镜像文件太大,我在网盘里放了种子文件,大家可以自己去官网下载):链接:https://pan.baidu.com/s/1ZTnwtyB89QVzRp851d9z2A 
提取码:ftlb。

        第二步,基本环境准备好之后,部署DC1靶场,打开VMware之后,点击文件 -> 打开 -> 选择下载好的DC1中的DC-1.ova,输入虚拟机名称和选择存储路径,点击导入,一般会弹出导入失败的对话框,不用理,直接点击重试。导入完成之后,先不要着急开机。

        第三步,再开机之前,得先配置网络,这里得注意,DC1所处的网段跟kali所处的网段得互通,双击网络适配器,这里我选择的是桥接模式,kali和DC1都是桥接模式。

         第四步,配置好网络之后,打开kali和DC1。

信息收集

kali打开终端,由于kali和DC1都是桥接模式,所以属于同一网站 ,使用arp-scan -l,查看网段所有的主机。得到DC1的IP地址。(172.163.1.55)

使用nmap对DC1进行扫描,nmap -A -p- 172.163.1.55                                                           

-A:选定用于使用进攻性方式扫描

-p :扫描指定的端口(没有指定,默认对所有端口进行扫描)

 发现DC1的22端口、80端口、111端口是打开的,22端口可以使用爆破、ssh远程连接,80端口可以登录web网页,

在本机打开浏览器,使用http://172.168.1.55访问网页,

漏洞分析 

通过火狐浏览器插件wappalyzer发现,该网站使用的是Drupal 7的CMS搭建的,所以直接在kali的msf中搜索漏洞,在启动msf前先初始化msf的数据库(msfdb init),再使用msfconsole启动msf。

 在msf中搜索drupal 7的漏洞(search drupal 7.x),发现有一个可以利用的攻击脚本,

 漏洞利用

使用此脚本(use 0),再使用options查看此脚本的参数信息,

在此只需要配置RHOSTS,使用set rhosts 172.163.1.55(DC1的ip),设置完输入run,即可进入DC1的shell环境。 

 到此,我们得到的是一个不完整的shell,所以使用python中的pty模块,来反弹一个完整的shell,

python -c 'import pty;pty.spawn("/bin/bash")'

到这里,我们进入到了DC1的www-data用户下,并在当前目录下发现了flag1.txt,我们查看flag1.txt,得到提示:任何一个完善的CMS都需要配置文件---所以你应该怎么做。

 

 提示我们去找配置文件,这里没有技巧,就是挨个目录去找,

最终我们发现在sites文件下有个default文件,里面有settings.txt,我们怀疑这个就是配置文件。

 查看settings.txt(cat settings.txt),我们发现了数据库的用户名/密码,以及数据库名。

我们使用此用户名密码,连接数据库。

mysql -udbuser -pR0ck3t;

 连接成功之后,使用数据库,查看当前数据库drupaldb下的数据表,(记得在数据库操作的语句后面输;) 

use drupaldb;
show tables;

 在数据表中我们发现,有个users的表,我们使用数据库查询语句,查users表的内容。

select * from users;

 在users表中,我们发现有admin用户,但是密码是加盐过的,一般加盐的密码是很难破解的,所以选择修改用户密码来解决。首先生成自定密码的加盐哈希值。退出mysql,回到/var/www下执行以下代码,生成自己的加盐密码,

exit           //退出mysql的shell
cd /var/www    //回到网站目录
php scripts/password-hash.sh  自己设置的密码
php scripts/password-hash.sh 123456

 再次连接数据库,使用drupaldb数据库,使用updata数据库执行语句将admin的密码设置为刚生成的加盐密码。

update users set pass="$S$D38o/6Z0AKdbU2T3EM0qOaiGN8UyKK6V/5oXQETlRf4ZfLgaf8UV" where uid=1;

 接下来我们就可以使用admin/123456,在浏览器登录了。

 

进入网站,点击左上角的Dashboard,查看到flag3.txt。

根据flag3中提示,去查看存放用户信息的文件和存放密码信息的文件, /etc/shadow无法查看,权限不够,查看etc/passwd,发现目标靶机用户flag4,并且有/bin/bash,看到这想到了还有端口22,所以ssh连接。

 但是我们不知道密码,所以我们在此使用kali自带的hydra爆破,使用kali自带的密码字典,路径为/usr/share/john/password.lst,kali自带各种密码默认保存在/usr/share/下。

所以我们在kali新打开一个终端,使用hydra对flag4用户做爆破,(这里解释一下,由于这篇文章边实验做编写,中途换了无线网,导致桥接的DC1的ip从172.163.1.55换成了192.168.0.119,这里大家做的时候不影响,直接按之前DC1的ip做就行。

hydra -l flag4 -P /usr/share/john/password.lst 192.168.0.119 ssh -vV -f 

 其中-l表示指定爆破的用户,-P表示指定使用哪个密码字典,ip为DC1的ip,利用ssh协议做爆破。

我们爆破得到,DC1的一个用户名密码为:flag4/orange, 所以我们新打开一个终端,采用ssh协议直接连接,

ssh flag4@192.168.0.119

 在flag4用户下,我们发现了flag4.txt。根据提示,我们需要拿到root用户的权限,才能得到最终的flag。

在这里我们使用suid提权(后面我会出一期详细的提权文章),通过命令查看是否具有root权限的命令。

find / -perm -4000 2>/dev/null

 发现_find_具有root权限。直接执行命令提权。

find -exec /bin/sh \;

 通过执行命令,成功提权到root用户。

此时,我们切换到root目录下,看到了最后的flag,thefinalflag.txt

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DC靶场系列--DC1 的相关文章

  • 【Altium designer】定义PCB外形并开槽

    1 PCB自定义外形 项目中经常会用到异形的PCB 需要先在keep out画出PCB外形 也可以直接从cad里面导到AD里面 要注意单位长度的转换 然后框选中keep out的线条 按下快捷键D S D 设计 gt 板子形状 gt 按照选
  • python-爬虫 抓取美食板块商家数据

    import pprint import requests import csv import re url http meishi meituan com i api channel deal list headers User Agen
  • 【odoo15】给用户设置菜单可见的权限与权限组

    设置mykid菜单的可见权限 设置权限后 操作方法 设置 gt 用户和公司 gt 组群 gt 创建组群 test group 技术 gt 用户界面 菜单项目 gt 搜索要添加到组群的菜单 mykid 把用户添加到组群中 刷新后admin这个
  • PageHelper分页插件使用

    分页插件PageHelper MyBatis没有分页功能 需要手动编写LIMIT语句 可以使用第三方的插件来对功能进行扩展 分页助手PageHelper是将分页的复杂操作进行封装 使用简单的方式即可获得分页的相关数据 PageInfo Pa

随机推荐

  • 将代码托管到Github

    1 进入Github网站 https github com 选择登录 sign in 或注册 sign up 如图所示 2 下载桌面程序 GitHub Desktop 网址 https desktop github com 按提示默认安装即
  • pytorch,numpy两种方法实现nms类间+类内

    类间 也就是不同类之间也进行nms 类内 就是只把同类的bboxes进行nms numpy实现 nms类间 类内 import numpy as np 类间nms def nms bboxes scores thresh x1 y1 x2
  • python os.walk 指定遍历深度_安全检查中...

  • Spring:基于xml和注解的aop

    1 导入坐标
  • K8s相关常用命令

    一 查看相关信息 查看pod相关信息 kubectl get pod all namespaces grep 关键字 kubectl get po all namespaces owide grep 关键字 kubectl describe
  • Docker容器与虚拟化技术:Dockerfile部署LNMP

    目录 一 理论 1 LNMP架构 2 背景 3 Dockerfile部署LNMP 3 构建Nginx镜像 4 构建MySQL容器 5 构建PHP镜像 6 启动 wordpress 服务 二 实验 1 环境准备 2 构建Nginx镜像 3 构
  • Websocked的原理和应用场景(心跳模式)

    一 WebSocket是什么 工作原理是什么 WebSocket是一种在Web应用程序中实现双向通信的网络协议 它提供了一种持久连接 允许服务器主动向客户端发送消息 同时也允许客户端向服务器发送消息 相比传统的HTTP请求 响应模式 Web
  • 动态规划之背包问题

    前言 动态规划的本质 是对问题状态的定义和状态转移方程 动态规划具备三个特点 1 将原来的问题分解成几个相似的子问题 2 所有的子问题都只需要解决一次 3 每个状态存储子问题的解 一般从三个角度考虑动态规划 1 状态表示 2 状态计算 gt
  • C++笔试机考三道代码题——包括输入输出

    一 在相邻差为 1 的整数数组中进行有效搜索 时间限制 1000MS 内存限制 65536KB 题目描述 给定一个由n 个整数组成的数组 每个数组元素是通过将 1 或 1 添加到前一个元素获得的 即任意两个连续元素之间的绝对差为 1 任务是
  • 如何在没有iTunes的情况下备份和还原iPhone或iPad

    Justin Duino 贾斯汀 杜伊诺 Justin Duino iTunes can be a chore but here s some happy news In macOS Catalina you no longer need
  • Javascript和CSS的标签属性对应表

    在写javascript中 经常要用到style对象的css属性 很多不记得 其实很好记 基本就是CSS中的 转化为javascript的驼峰写法 除了注意下float 盒子标签和属性对照 CSS语法 不区分大小写 JavaScript语法
  • Cpp学习——编译链接

    目录 编辑 一 两种环境 二 编译环境下四个部分的 1 预处理 2 编译 3 汇编 4 链接 三 执行环境 一 两种环境 在程序运行时会有两种环境 第一种便是编译环境 第二种则是执行环境 如下图 在程序运行时 首先会让源文件文件经过编译环境
  • PNG图片隐写IDAT分析(3)

    使用工具pngcheck 命令 pngcheck exe v sctf png 发现有个异常的IDAT 0X15aff7 一共提权138位 使用zlib进行压缩 代码如下 usr bin env python import zlib imp
  • 2021 年数学建模竞赛题目D 题 连铸切割的在线优化

    问题 1 在满足基本要求和正常要求的条件下 依据尾坯长度制定出最优的 切割方案 假定用户目标值为 9 5 米 目标范围为 9 0 10 0 米 对以下尾坯长 度 109 0 93 4 80 9 72 0 62 7 52 5 44 9 42
  • 欧姆龙fins通讯协议

    https wenku baidu com view fca336f6e43a580216fc700abb68a98270feac67 html
  • static修饰的函数能不能在其它文件里使用

    static修饰函数的作用 关于static关键字的作用可以参考我的博客 C语言中static关键字用法和作用 static修饰函数 就是把函数链接属性改为局部链接属性 用static修饰的函数其他文件是不可见的 没法直接使用 解决了不同源
  • 【批处理DOS-CMD命令-汇总和小结】-网络管理命令-上网和网络通信相关命令-进程与程序管理(netstat、tasklist、taskkill、taskmgr)

    一 显示netstat的帮助信息 执行命令 netstat 得到帮助信息如下 C Users Administrator gt netstat 显示协议统计信息和当前 TCP IP 网络连接 NETSTAT a b e f n o p pr
  • 曼哈顿距离,欧式距离,余弦距离

    1 曼哈顿距离 曼哈顿距离 叫出租车距离的 具见上图黄线 应该就能明白 计算距离最简单的方法是曼哈顿距离 假设 先考虑二维情况 只有两个乐队 x 和 y 用户A的评价为 x1 y1 用户B的评价为 x2 y2 那么 它们之间的曼哈顿距离为
  • MySQL客户端软件(DBeaver)连接报错解决方案

    1 mysql出现错误提示 Communications link failure The last packet sent successfully to the server was 0 mi 无论是在mysql客户端连接 或者是cod
  • DC靶场系列--DC1

    目录 引言 搭建环境 信息收集 漏洞分析 漏洞利用 引言 DC靶场 主要是通过web渗透技术 拿到web服务器的权限 会有flag做为标记 以拿到最终的flag为目标 DC1是vulnhub平台下的DC系列的第一个靶场 DC系列下载地址 官