DC-2靶机

文章目录

        • 信息收集
        • 漏洞发现
        • 漏洞利用

DC-2介绍
DC-2环境下载

在这里插入图片描述

请注意,您需要将渗透测试设备上的 hosts 文件设置为:
192.168.0.145 dc-2
显然,将 192.168.0.145 替换为 DC-2 的实际 IP 地址。
它将使生活变得更加简单(如果没有它,某些 CMS 可能无法工作)。

信息收集

靶机MAC地址:00:0C:29:40:DF:ED
攻击机和靶机的网卡,设置为 NAT 模式
nmap -sS -O 192.168.80.0/24  # 扫描网段,找寻靶机的 IP

在这里插入图片描述

修改hosts配置 文件

在这里插入图片描述

对靶机进行全面扫描,发现靶机开了80端口

nmap -A -T4 -p- 192.168.80.135

在这里插入图片描述

由于在kali的hosts文件里配置了映射关系,所以只能在kali里访问到,

在windows真实机器里访问不到。

# hosts文件路径
Windows:C:\Windows\System32\drivers\etc\hosts
Linux:/etc/hosts

靶机的 http 站点的 CMS 为 WordPress ,使用 http://192.168.80.135 尝试进行访问。

在这里插入图片描述

成功访问到靶机的 http 站点,根据首页内容,再次确认这是一个 WordPress 站点。

漏洞发现

1、尝试点击首页的 Flag 选项,成功找到了第一个 flag。

在这里插入图片描述

在这里插入图片描述

2、根据 flag1 的内容,使用 cewl http://dc-2/ -w password.txt 制作密码字典。

在这里插入图片描述

在这里插入图片描述

3、因为 flag1 中提到需要登录,但是网页中找不到相关的登录界面入口,所以使用 dirsearch -u http://dc-2/ 爆破网站目录,寻找登录界面。

在这里插入图片描述

4、使用 http://dc-2/wp-login.php 进行访问。

在这里插入图片描述

5、访问成功后,由于目前只有密码字典,所以还需要使用 wpscan --url http://dc-2/ -e u 枚举 WordPress 站点中注册过的用户名,来制作用户名字典。

在这里插入图片描述

在这里插入图片描述

6、成功枚举出三个用户名,将这三个用户名写入到一个文件中,作为用户名字典。

在这里插入图片描述

7、使用 wpscan --url http://dc-2/ -U user.txt -P password.txt 调用相关的字典文件对网站进行爆破。

在这里插入图片描述

在这里插入图片描述

8、成功爆破出两个用户,尝试使用 jerry的账号密码 进行登录。

[

9、登录成功后,把每个选项都点击一遍试试效果,在 Pages -> All Pages 下发现了 flag2。

在这里插入图片描述

10、也可以使用nikto来进行扫描

在这里插入图片描述

在这里插入图片描述

漏洞利用

getshell

1、在信息收集阶段中发现还 开启了 ssh 服务,并且当前我们知道两对用户名和密码,所以分别使用 ssh jerry/tom@192.168.237.162 -p 7744 尝试登录。

在这里插入图片描述

2、使用tom用户成功登录

在这里插入图片描述

3、使用whoami查看权限,发现当前为 rbash,被限制的 Shell,所以可以考虑进行rbash 绕过

在这里插入图片描述

4、使用 ls -al 浏览一下当前目录,发现了 flag3.txt

在这里插入图片描述

5、使用 cat flag3.txt 进行查看,发现无法使用该命令,所以尝试使用 vimvi 进行查看。 使用vi查看成功

在这里插入图片描述

6、观察 flag3 中的内容,发现文本中包含 Jerrysu ,所以猜测需要使用 su jerry 登录到 jerry 用户下,尝试后发现 su 命令无法使用,所以下一步尝试进行 rbash 绕过。

在这里插入图片描述

7、使用 export -p 发现可以使用 export 命令,所以使用以下命令进行 rbash 绕过:

BASH_CMDS[a]=/bin/sh;a       #注:把 /bin/sh 给a变量并调用
export PATH=$PATH:/bin/      #注:将 /bin 作为PATH环境变量导出
export PATH=$PATH:/usr/bin   #注:将 /usr/bin 作为PATH环境变量导出

在这里插入图片描述

8、绕过成功,使用 su jerry 和之前爆破出的密码尝试进行登录

在这里插入图片描述

9、登录成功,使用 cd /home/jerry/ 访问家目录,发现了 flag4.txt

在这里插入图片描述

10、根据 flag4 的内容,可以推断下一步需要进行提权,来获取 root 权限,访问 /root 目录。

11、寻找root用户拥有的文件,并将错误写入/dev/nul

在这里插入图片描述

11、看到拥有root权限,所以使用 sudo -l 查看当前用户可以以 root 身份执行哪些命令

在这里插入图片描述

12、发现可以以 root 身份执行 git 命令,所以下一步使用 git 进行提权,使用 sudo git help config 使 git 被动调用 more 进行显示。

查看提权命令网站:https://gtfobins.github.ioGit相关:https://gtfobins.github.io/gtfobins/git/

在这里插入图片描述

在这里插入图片描述

13、输入 !/bin/bash 即可提权成功。变成root用户

在这里插入图片描述

14、使用 cd /root/ 访问 /root 目录,找到了 final-flag.txt

在这里插入图片描述

总结

修改 hosts 文件来访问网站
使用 nmap 找寻并扫描靶机。
使用 cewl 制作密码字典。
使用 dirsearch 爆破网站目录。
使用 wpscan 对 WordPress 站点进行扫描和爆破。
rbash 绕过
sudo 提权
git 提权

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

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

相关文章

LeetCode513. 找树左下角的值

513. 找树左下角的值 文章目录 [513. 找树左下角的值](https://leetcode.cn/problems/find-bottom-left-tree-value/)一、题目二、题解方法一:递归法(层序遍历,深度优先搜索)**不足之处以及如何改进** 方法二:迭代 一、…

Gitignore忽略文件

默认情况下,Git会监视我们项目中的所有内容,但是有些内容比如mode_modules中的内容,我们不希望他被Git所管理。 我们可以在我们项目目录中添加一个 .gitignore 文件来设置那些需要git忽略的文件。

屏幕取色器Mac版_苹果屏幕取色工具_屏幕取色器工具

Sip for Mac 是Mac系统平台上的一款老牌的颜色拾取工具,是设计师和前端开发工作者必不可少的屏幕取色软件,你只需要用鼠标点一下即可轻松地对屏幕上的任何颜色进行采样和编码,并将颜色数据自动存到剪切板,方便随时粘贴出来。 Sip…

GPIO简介

一、GPIO GPIO(General-purpose input/output)即通用型输入输出,GPIO可以控制连接在其之上的引脚实现信号的输入和输出 芯片的引脚与外部设备相连,从而实现与外部硬件设备的通讯、控制及信号采集等功能 LED实验步骤 实验步骤 以L…

使用Golang反射技术实现一套有默认值的配置解析库

在实际开发中,我们往往会给一个逻辑设计一套配置文件,用于根据不同环境加载不同配置。 比如生产环境和测试环境数据库的地址不一样,我们就需要在配置文件中设置不同的值。但是配置文件中又有一些相同值的配置项,比如数据库的名称等…

Spring事务传播机制、实现方式、失效场景即原理

贴一篇源码分析的好文章:https://blog.csdn.net/qq_30905661/article/details/114400417 本质: 一个事务对应一个数据库连接。 通过 this 来调用某个带有 Transactional 注解的方法时,这个注解是失效的,可以看做这个方法&#x…

Cocos Creator不规则按钮

实现该功能需要用到组件PolygonCollider2D,官方链接: https://docs.cocos.com/creator/3.4/manual/zh/physics-2d/physics-2d-collider.html 创建组件 创建一个精灵节点: 创建碰撞组件PolygonColider2D,如图 给按钮添加多边形碰…

链表的总体涵盖以及无哨兵位单链表实现——【数据结构】

😊W…Y:个人主页 在学习之前看一下美丽的夕阳,也是很不错的。 如果觉得博主的美景不错,博客也不错的话,关注一下博主吧💕 在上一期中,我们说完了顺序表,并且提出顺序表中的问题 1. 中…

无涯教程-Lua - 函数声明

函数是一起执行任务的一组语句,您可以将代码分成单独的函数。 Lua语言提供了程序可以调用的许多内置方法。如方法 print()打印在控制台中作为输入传递的参数。 定义函数 Lua编程语言中方法定义的一般形式如下- optional_function_scope function function_name(…

一个SpringBoot 项目能处理多少请求?

这篇文章带大家盘一个读者遇到的面试题哈。 根据读者转述,面试官的原问题就是:一个 SpringBoot 项目能同时处理多少请求? 不知道你听到这个问题之后的第一反应是什么。 我大概知道他要问的是哪个方向,但是对于这种只有一句话的…

Django实现音乐网站 ⑵

使用Python Django框架制作一个音乐网站,在系列文章1的基础上继续开发,本篇主要是后台歌手表模块开发。 目录 表结构设计 歌手表(singer)结构 创建表模型 设置图片上传路径 创建上传文件目录 生成表迁移 执行创建表 后台管…

代理模式.

前言: 为什么要学习代理模式,因为AOP的底层机制就是动态代理! 代理模式: 静态代理 动态代理 静态代理 抽象角色 : 一般使用接口或者抽象类来实现 真实角色 : 被代理的角色 代理角色 : 代理真实角色 ; 代理真实角色后 , 一…

艺术二维码 API 申请及使用

艺术二维码是一种创新的技术产品,它将二维码与美观的背景图像相结合,创造出既实用又美观的作品。它们不仅具有传统二维码的功能性,能被智能设备快速扫描识别,还加入了艺术元素,增强了视觉吸引力和品牌识别度。其中&…

ffmpeg综合应用示例(五)——多路视频合并(Linux版本)

本文的目的为方便Linux下编译运行多路视频合成Demo 原文:ffmpeg综合应用示例(五)——多路视频合并 Ubuntu 20.04 ffmpeg version ffmpeg-4.4-x86_64 编译 export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/home/workspace/dengzr/linux-x64/lib…

jenkins使用gitlab标签发布

关于jenkins git parameter使用gitlab标签发布和分支发布的用法 手动配置的我就不说了,点点点就行,主要是说一下在pipeline里如何使用 通过分支拉取gitlab仓库代码 pipeline {agent anyenvironment {}parameters {gitParameter(branch: , branchFilte…

Sentinel dashboard的使用;Nacos保存Sentinel限流规则

Sentinel dashboard的使用 往期文章 Nacos环境搭建Nacos注册中心的使用Nacos配置中心的使用Sentinel 容灾中心的使用 参考文档 Sentinel alibaba/spring-cloud-alibaba Wiki GitHub 限流结果 下载sentinel-dashboard github地址:Sentinel/sentinel-dashboar…

prototype, construction, instanceof

prototype 属性的作用 JavaScript 规定,每个函数都有一个prototype属性,指向一个对象。 function f() {} typeof f.prototype // "object" ​ 上面代码中,函数f默认具有prototype属性,指向一个对象。 对于普通函数来…

【雕爷学编程】MicroPython动手做(28)——物联网之Yeelight 4

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

C++之观察者模式(发布-订阅)

目录 模式简介 介绍 优点 缺点 代码实现 场景说明 实现代码 运行结果 模式简介 观察者模式(Observer Pattern),也叫我们熟知的发布-订阅模式。 它是一种行为型模式。 介绍 观察者模式主要关注的是对象的一对多的关系, …

Go和Java实现组合模式

Go和Java实现组合模式 我们通过部门和员工的层次结构的示例来演示组合模式的用法。 1、组合模式 组合模式,又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对 象,用来表示部分以及整体层次。这种…