DC-2 靶场实操

news2025/1/18 18:46:23

靶场搭建


靶场部署
下载网址:https://www.vulnhub.com/?q=DC-

tips:强烈建议各位师傅们使用迅雷或idm要不然下载靶场将是一个十分痛苦的环节

之后环境搭建操作步骤一致故此处搭建环境以DC-1为例

将下好的压缩包解压,你就会看到一个.ova文件,用VMware将其打开即可打开过程中可能会遇到如下报错
在这里插入图片描述


点击重试即可

tips:将DC-1的配置改为net模式,更改网络适配器需要在虚拟机关闭时才能更改
在这里插入图片描述

相关知识

Hosts文件以及如何修改Hosts文件

Hosts文件

hosts文件是一个没有扩展名的系统文件。它的主要作用是保存域名与**ip**的映射关系。

hosts文件和DNS解析

在系统进行dns解析之前,会首先去hosts文件中查找。

hosts文件中,如果能够找到被访问域名的ip地址,就不会再向dns服务器发起请求。

文件位置

在 iOS 系统中中,hosts文件的位置为:~/private/etc;

在 Windows 系统中,hosts文件的位置为:C:\Windows\System32\drivers\etc;

rbash

rabsh简介
如果bash以rbash这个名字启动,或者是通过-r选项调用时,那么这个shell就会受限 受限shell(以下统称为rbash)和bash相同但以下情况是不允许rbash执行的;
1. 使用命令cd更改目录
2. 设置或者取消环境变量的设置(SHELL, PATH, ENV, or BASH_ENV)
3. 指定包含参数'/'的文件名
4. 指定包含参数' - '的文件名
5. 使用重定向输出'>', '>>', '> |', '<>' '>&','&>'

tips:由此可见在使用bash和rbash“权限”是相同的并不存在绕开后及提权的说法

绕过方法
  • 方法一

      vi绕过
    
#进入命令模式
:set shell=/bin/sh
:shell
export PATH=PATH:/bin:/sbin:/usr/bin:/usr/sbin  #设置环境变量

在这里插入图片描述

  • 方法二
BASH_CMDS[a]=/bin/sh; 
a  #调用/bin/sh命令解释器
/bin/bash   #使用bash命令解释器
export PATH=PATH:/bin:/sbin:/usr/bin:/usr/sbin  #设置环境变量

在这里插入图片描述

tips:这里简单介绍一下上述shell中的一些文件及对应用途

/bin:是系统的一些指令。bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod 、tar等。

/sbin:一般是指超级用户指令**。**主要放置一些系统管理的必备程式例如:cfdisk、dhcpcd、dump、rmmod、 runlevel、shutdown等。 /usr/bin:是你在后期安装的一些软件的运行脚本。主要放置一些应用软体工具的必备执行档例如c++、g++、gcc、chdrv、diff、wget等。

PATH里是否已经包含了这些环境变量。可以查看PATH,如果是:PATH=PATH:HOME/xxxx/bin则需要添加成如下: PATH=PATH:HOME/bin:/sbin:/usr/bin:/usr/sbin

cewl

Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。除此之外,Cewl还提供了命令行工具。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qKLbLC5Y-1673624118746)(D:\ctfmd\DC靶场\DC-2\image\image-20230112103136404.png)]

wpscan

WPScan是一个扫描 WordPress 漏洞的黑盒子扫描器,它可以为所有 Web开发人员扫描 WordPress漏洞并在他们开发前找到并解决问题。我们还使用了 Nikto ,它是一款非常棒的Web 服务器评估工具,我们认为这个工具应该成为所有针对 WordPress网站进行的渗透测试的一部分

常用指令

--update 更新到最新版本
--url | -u <target url> 要扫描的`WordPress`站点.
--force | -f 不检查网站运行的是不是`WordPress`
--enumerate | -e [option(s)] 枚举

信息收集

探测存活主机

nmap -sP IP/24

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ojK2NbDb-1673624118747)(D:\ctfmd\DC靶场\DC-2\image\image-20230111123423316.png)]

之后进行端口扫描

nmap -A -p- IP

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d04WD7ph-1673624118747)(D:\ctfmd\DC靶场\DC-2\image\image-20230111123635563.png)]

发现开放了80和7744两个端口,所以尝试网页访问

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2REiPzfO-1673624118747)(D:\ctfmd\DC靶场\DC-2\image\image-20230111123713399.png)]

访问后发现无法正常进入

在这里插入图片描述

并且能够正常ping通说明靶机没什么问题,这个时候再次回到网页观察发现网站是以域名方式访问的,因为是本地部署,所以dns服务器定然无法正常解析返回域名所对应的IP,所以此时需要从hosts文件入手,对hosts文件进行修改如下:
在这里插入图片描述

tips:hosts文件修改,在windos中如果要切换为管理员权限实属有些小困难,所以我们将hosts文件托至桌面然后在进行更改即可

修改后保存即可进行正常访问了
在这里插入图片描述

指纹收集

在这里插入图片描述

目录扫描

在这里插入图片描述

点击红框中的url可以跳转至后台登录界面,测试弱口令无果;

搜集部分暂告一段落开始寻找flag

漏洞利用

flag1

利用域名成功访问网站后我们可以看到有一个flag选项点击查看获得第一个flag

在这里插入图片描述

你通常的单词列表可能不起作用,所以相反,也许你只需要被 cewl。

更多的密码总是更好,但有时您无法赢得所有密码。

以一个人的身份登录以查看下一个标志。

如果找不到,请以其他人身份登录。

flag2

提取flag1提示中的关键次:cewl、以一个人的身份登录

利用cewl爬取网站密码
在这里插入图片描述

利用wpscan扫描用户

wpscan --ignore-main-redirect --url 192.168.149.139 -e --force  

在这里插入图片描述

扫描出了三位用户,将三位用户编辑进入dc2user.txt中

vim dc2user.txt
admin
tom
jerry

之后继续配合cewl爬出的密码进行爆破

wpscan --ignore-main-redirect --url 192.168.149.139 -U dc2user.txt -P dc2pwd.txt -t 30

在这里插入图片描述

ok账户密码爆破完毕登录后查找flag

登录jerry的账户中发现了flag2
在这里插入图片描述

如果你不能利用WordPress并走捷径,还有另一种方法。

希望你找到另一个切入点。

flag3

根据flag2的提示我们还有另一种方法,这时候我们想起之前端口探测时还有一个开放的端口及774并且可以进行ssh

尝试了jerry发现无法登录这里之后又试了一下tom发现可以登录(密码和之前后台登录密码相同)

ssh tom@192.168.149.139 -p 7744

在这里插入图片描述

这里拓展一个工具hydra工具使用已生成的密码字典对已知的用户名进行ssh登录密码爆破

只是时间有点久

hydra -L dc2user.txt -P dc2pwd.txt -s 7744 -t 5 192.168.149.139 ssh

效果如下:
在这里插入图片描述

查看当前可以使用的命令

compgen -c 

在这里插入图片描述

我们发现这里有两个能够读取的命令(less和vi)使用vi查看flag3.txt

在这里插入图片描述

可怜的老汤姆总是追着杰瑞跑。也许他应该为他造成的所有压力而努力。

flag4

提取flag3中的提示(after jerry、su)所以我们尝试进入/home/jerry,这就需要我们绕过rbash去添加我们的命令这里提供两个方法,原理不是很明白的师傅可以看一下上面写的

  • 方法一

    BASH_CMDS[a]=/bin/sh; 
    a  #调用/bin/sh命令解释器
    /bin/bash   #使用bash命令解释器
    export PATH=PATH:/bin:/sbin:/usr/bin:/usr/sbin  #设置环境变量
    

在这里插入图片描述

  • 方法二

利用vi来绕过

在这里插入图片描述

这里回车后没有什么太大的视觉效果,不用关之后继续:shell即可,然后最后添加命令

在这里插入图片描述

读取flag

在这里插入图片描述

我们可以看到两种方式绕过都可以成功读取到flag

很高兴看到你已经走到了这一步 - 但你还没有回家。                                                                             
您仍然需要获得最终标志(唯一真正重要的标志!!!)。                                                                                   
这里没有提示 - 你现在只能靠自己了。 :-)                                                                                                           
继续 - 在这里 git out ta!!!

flag 5

flag4中说已经无提示,但回想起flag3中的提示su,然后又看到flag4中的git很明显需要我们提权

find / -perm -u=s -type f 2>/dev/null

在这里插入图片描述

git提权

利用sudo -l 显示出自己(执行 sudo 的使用者)的权限,但是在tom中我们我们没查到

在这里插入图片描述

此时登录jerry在次尝试发现git是root权限
在这里插入图片描述
之后

sudo git help config

在进入页面后在末行输入

/bin/sh

在这里插入图片描述

之后就会进入一个以root权限运行的shell,进入/root下读取flag即可

如下:

在这里插入图片描述

参考文章

(6条消息) 什么是Hosts文件以及如何修改Hosts文件_Chen4852010的博客-CSDN博客_hosts文件

/bin,/sbin,/usr/sbin,/usr/bin 目录之简单区别 - 腾讯云开发者社区-腾讯云 (tencent.com)

RBash - 受限的Bash绕过 - 腾讯云开发者社区-腾讯云 (tencent.com)

Kali Linux字典生成工具Cewl使用全指南 - FreeBuf网络安全行业门户

Kali(渗透工具):WPScan的使用(WordPress扫描工具) - 知乎 (zhihu.com)

git | GTFOBins

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

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

相关文章

堆排序(升序降序)

堆排序是利用堆这种数据结构而设计的一种排序算法&#xff0c;堆排序是一种选择排序&#xff0c;它的最坏、最好、平均时间复杂度均为O(nlogn)&#xff0c;是不稳定排序。 小根堆&#xff08;最小堆&#xff09;&#xff1a;每个结点的值都<其左右孩子结点的值。 大根堆&…

跨境电商独立站多语言,fecify saas商城解决方案

跨境独立站&#xff0c;面向的是全球国家&#xff0c;每个国家都有自己的语言&#xff0c;譬如&#xff1a;英语&#xff0c;德语&#xff0c;法语&#xff0c;俄语&#xff0c;西班牙语&#xff0c;葡萄牙语&#xff0c;韩语&#xff0c;日语&#xff0c;阿拉伯语&#xff0c;…

Latex-表格和图片

双栏排版表格跨栏加*号\begin{table*}...\end{table*}表格整体尺寸修改\resizebox{列宽}{行高}{...}列宽、行高可以为数值&#xff08;如50mm&#xff09;&#xff0c;也可以根据文字调整&#xff08;如\textwidth指自适应文字宽度&#xff09;表格内文字居中\begin{tabular}{c…

TypeScript变量声明,声明变量的关键字,变量的类型推导

目录 1.变量声明 2.赋值其他类型的值 3.声明变量的关键字 4.变量的类型推导&#xff08;推断&#xff09; 1.变量声明 声明了类型后TypeScript就会进行类型检测&#xff0c;声明的类型可以称之为类型注解&#xff1b; var/let/const 标识符: 数据类型 赋值; 这里的string是…

拉伯证券|年报行情如火如荼 博弈“超预期”还须警惕“风险点

本周以来&#xff0c;在指数转入高位盘整的背景下&#xff0c;A股商场资金围绕年报头绪展开布局&#xff0c;“年报预增”一跃成为商场最强主线&#xff0c;不少成绩预增公司短期股价收获明显超额收益。 Choice数据显现&#xff0c;截至1月12日盘前&#xff0c;开年以来共136家…

VM-图像旋转和拼接

有时受安装空间限制&#xff0c;相机安装方向和人观察角度不一致&#xff0c;需要对图像进行旋转&#xff0c;方便人员核对图像和实物VM中&#xff0c;对图像进行中心旋转的模块有“图像修正”、“几何变换”&#xff0c;其中“图像修正”只能对黑白图像进行旋转&#xff0c;“…

HTML表单:<form>标签

当您想要通过网页来收集一些用户的信息&#xff08;例如用户名、电话、邮箱地址等&#xff09;时&#xff0c;就需要用到 HTML 表单。表单可以接收用户输入的信息&#xff0c;然后将其发送到后端应用程序&#xff0c;例如 PHP、Java、Python 等&#xff0c;后端应用程序将根据定…

ASMR(网站)

ASMR秀 这个网站不需要特殊工具&#xff0c;直接就能看&#xff0c;内含欧美、儿本、H国的ASMR助眠视频节目。ASMR吧 失眠者的福音&#xff0c;也是男同胞的FU利&#xff01;ASMRS生活 专注科普知识。ASMRhtt删ps://除ww文w.as字mr打sho开w即可.com/

DeepMind 发布强化学习通用算法 DreamerV3,AI 成精自学捡钻石

内容一览&#xff1a;强化学习是多学科领域的交叉产物&#xff0c;其本质是实现自动决策且可做连续决策。本文将介绍 DeepMind 最新研发成果&#xff1a;扩大强化学习应用范围的通用算法 DreamerV3。 关键词&#xff1a;强化学习 DeepMind 通用算法 本文首发自微信公众号&#…

沙溢44岁、沈腾、邓超43岁、马丽40岁,他们就不能上春晚了吗

最近笔者浏览网络&#xff0c;发现很多吐槽央视春晚的声音&#xff0c;有些吐槽感觉有理有据&#xff0c;有些就有些强词夺理了。比如说&#xff0c;有人把今年参加春晚演员的年龄&#xff0c;做了一个简单的梳理&#xff0c;似乎想证明一些什么东西。 在这张年龄盘点表当中&am…

spring之面向切面编程AOP概述

文章目录前言一、介绍AOP二、面向切面编程的七大术语三、切点表达式前言 AOP&#xff08;Aspect Oriented Programming&#xff09;面向切面编程&#xff0c;是一种编程技术。 AOP是对OOP&#xff08;面向对象&#xff09;的补充延伸。 AOP底层使用的就是动态代理实现的。 Spr…

论文投稿指南——中文核心期刊推荐(地理学 2)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…

2017双11交易系统TMF2.0技术揭秘,实现全链路管理

摘要&#xff1a; 本文是《2017双11交易系统TMF2.0技术揭秘》演讲整理&#xff0c;主要讲解了基于TMF2.0框架改造的交易平台&#xff0c;通过业务管理域与运行域分离、业务与业务的隔离架构&#xff0c;大幅度提高了业务在可扩展性、研发效率以及可维护性问题&#xff0c;同时以…

2023年网络爬虫实训(第一天)

任务1&#xff1a;理解http协议。https协议&#xff0c;tcp协议。udp协议。掌握http的通讯过程。掌握客户端是如何获取respnse并展示数据的。 HTTP协议是建立在请求/响应模型上的。首先由客户建立一条与服务器的TCP链接&#xff0c;并发送一个请求到服务器&#xff0c;请求中包…

基于微信小程序的电影交流平台小程序

文末联系获取源码 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏览器…

Three.js 粗糙度贴图与金属度贴图

在开始介绍贴图之前&#xff0c;我们先介绍一下粗糙度属性以及金属度属性。 粗糙度属性 .roughness 表示材质的粗糙程度&#xff0c;0 表示平滑的镜面反射&#xff0c;1 表示完全漫反射&#xff0c;而金属度属性 .metalness 表示材质与金属的相似度&#xff0c;非金属材质&…

Java基础学习笔记(十四)—— 集合(2)

集合1 Set 集合1.1 Set 集合概述1.2 Set 集合的使用2 TreeSet 类2.1 TreeSet 类概述2.2 TreeSet 基本使用2.3 TreeSet 排序3 HashSet 类3.1 HashSet 类概述3.2 HashSet 基本使用3.3 哈希值3.4 HashSet 案例4 Map 集合4.1 Map 集合概述4.2 Map 常用方法4.3 Map 的遍历5 HashMap …

mysql:存储过程的创建与使用

一、创建存储过程 使用MySql Workbench创建存储过程&#xff0c;一定要记得使用delimiter指明结束符&#xff0c;否则会报错&#xff1a;Statement is incomplete, expecting: ;’ 错误示例&#xff1a; create procedure area_pro1(in mylevel tinyint) beginselect * from…

回看2022,展望2023

目录一、回看2022求职心路身份过度二、展望20232023年&#xff0c;祝大家天天开心&#xff0c;身体健康&#xff0c;万事如意&#xff0c;一起加油&#xff01;一、回看2022 求职心路 2022年过去了&#xff0c;2023年到来了。在2022年我印象比较深刻的是8-11月份的日子&#…

【正点原子FPGA连载】第十六章Petalinux设计流程实战摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Linux开发指南

1&#xff09;实验平台&#xff1a;正点原子MPSoC开发板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id692450874670 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第十六章Petalin…