DC-2靶机

news2024/11/15 23:54:16

文章目录

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

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.io

Git相关: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.coloradmin.cn/o/832393.html

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

相关文章

【Linux】从0到1实现一个进度条小程序

个人主页:🍝在肯德基吃麻辣烫 我的gitee:gitee仓库 分享一句喜欢的话:热烈的火焰,冰封在最沉默的火山深处 文章目录 前言一、理解回车 \r 和换行 \n二、初步认识缓冲区1. 认识第一个函数:sleep2.观察缓冲区…

固态继电器:电气开关的革命

简介:在电气工程领域,固态技术的发展为各个领域的显着进步铺平了道路。固态继电器 (SSR) 就是其中一项备受关注的创新。与传统机电继电器不同,SSR 采用固态元件,具有许多优点,例如更高的可靠性、更快的响应时间和增强的…

dvwa靶场通关(十)

第十关:DOM Based Cross Site Scripting (XSS) DOM—based XSS漏洞的产生 DOM—based XSS漏洞是基于文档对象模型Document Objeet Model,DOM)的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序或脚本动态地访问和更新文档内容、…

有效的括号字符串(力扣)动态规划、贪心 JAVA

给你一个只包含三种字符的字符串,支持的字符类型分别是 ‘(’、‘)’ 和 ‘*’。请你检验这个字符串是否为有效字符串,如果是有效字符串返回true 。 有效字符串符合如下规则: 任何左括号 ‘(’ 必须有相应的右括号 ‘)’。 任何右括号 ‘)’ …

postgresql表膨胀处理之pgcompacttable部署及使用

环境: 1)redhat-release:CentOS Linux release 7.6.1810 (Core) 2)database version:postgresql 14.6 一、添加pgstattuple pgcompacttable工具使用过程中需要依赖pgstattuple,因此需先添加pgstattuple…

[C++]01.基础,数据类型,运算符

01.基础,数据类型,运算符 一.C基础入门1.HelloWorld2.注释3.变量4.常量5.关键字6.命名规则 二.数据类型1.整形2.sizeof关键字3.浮点型4.字符型5.转义字符6.字符串型7.布尔类型8.数据的输入 三.运算符1.算数运算符2.赋值运算符3.比较运算符4.逻辑运算符 一.C基础入门 1.HelloWo…

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

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

力扣 C++|一题多解之动态规划专题(1)

动态规划 Dynamic Programming 简写为 DP,是运筹学的一个分支,是求解决策过程最优化的过程。20世纪50年代初,美国数学家贝尔曼(R.Bellman)等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理&…

【习题】几道二叉树题目,进来看看你会不?

几道二叉树题目解析 前言正式开始1. 根据二叉树创建字符串(力扣606)题目描述解析代码 2. 二叉树的层序遍历1(力扣102)题目描述解析代码 3. 二叉树的层序遍历2(力扣107)代码 4. 二叉树的最近公共祖先&#x…

接口测试之json中的key获取

在很多情况下我们在进行接口测试的时候都会有获取上个接口返回的json数据中的某个key值,然后下个接口调用这个key值。今天给大家讲解一下针对不同类型的json获取某个key的值。 一、首先是单纯object格式key值获取 获取图中的token的值,首先这是一个响应…

SSM(Vue3+ElementPlus+Axios+SSM前后端分离)【四】

文章目录 SSM(Vue3ElementPlusAxiosSSM前后端分离)--基础环境搭建【四】项目介绍项目功能/界面● SSM 整合项目界面 创建表,使用逆向工程生成Bean、XxxMapper 和XxxMapper.xml1. 创建furns_ssm 数据库和furns 表使用MyBatis Generator 逆向工程生成bean mapper 接口…

基于Jonswap谱的随机波高及波压力生成

内容目录 基于Jonswap谱的随机波高及波压力生成基于Jonswap谱的随机波高及波压力生成 海面高程可视为是平稳高斯随机过程,可通过对波浪谱确定的一系列分量波进行叠加得到。JONSWAP谱是在海洋结构设计和分析中常用的波浪频谱,可以用其来模拟随机波浪。 式中:有义波高H1/3和…

GPIO简介

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

1. CUDA中的grid和block

1. CUDA中的grid和block基本的理解 Kernel: Kernel不是CPU,而是在GPU上运行的特殊函数。你可以把Kernel想象成GPU上并行执行的任务。当你从主机(CPU)调用Kernel时,它在GPU上启动,并在许多线程上并行运行。 Grid: 当你…

C高级【day2】

思维导图&#xff1a; 递归实现&#xff0c;输入一个数&#xff0c;输出这个数的每一位&#xff1a; #include<myhead.h>//递归函数 void fun(int num){//num没值不再递归if(0 num){return;}//输出数的最后一位printf("%d\t", num%10);//递归fun(num/10);}…

AI Chat 设计模式:11. 状态模式

本文是该系列的第十一篇&#xff0c;采用问答式的方式展开&#xff0c;问题由我提出&#xff0c;答案由 Chat AI 作出&#xff0c;灰色背景的文字则主要是我的一些思考和补充。 问题列表 Q.1 你知道状态模式吗A.1Q.2 它与有限状态机有什么联系吗&#xff1f;A.2Q.3 知道了&…

Spring:IOC技术、Bean、DI

前言 Spring是一个开源的项目&#xff0c;并不是单单的一个技术&#xff0c;发展至今已形成一种开发生态圈。也就是说我们可以完全使用Spring技术完成整个项目的构建、设计与开发。Spring是一个基于IOC和AOP的架构多层j2ee系统的架构。 SpringFramework&#xff1a;Spring框架…

ROS2学习(四)进程,线程与节点的关系

节点与节点执行器 节点&#xff0c;英文是node,在ROS2中&#xff0c;节点是一个抽象的实体&#xff0c;它可以代表某种或某类特定功能的抽象集合体&#xff0c;它可以存在于进程中&#xff0c;也可以存在于线程中。所有ROS2的基础功能最基础的载体是节点&#xff0c;所有的通信…

mysql的InnoDB和myISAM引擎对比:插入数据

mysql主流引擎是InnoDB和myISAM。两者简单来说&#xff0c;InnoDB是行锁&#xff0c;支持事务&#xff1b;myISAM是表锁&#xff0c;不支持事务。具体理论上的区别&#xff0c;网上有很多说法&#xff0c;我这里不多说了。 这里做了一个试验&#xff0c;插入100w条数据&#x…

redis+token+分布式锁确保接口的幂等性

目录 1.幂等性是什么&#xff1f; 2.如何实现幂等性呢&#xff1f; 1.新增管理员&#xff0c;出弹窗的同时&#xff0c;请求后台。 2.后端根据雪花算法生成唯一标识key&#xff0c;以雪花数为key存到redis。并返回key给前端。 3.前端保存后端传过来的key。 4.前端输入完成…