Vulnhub_driftingblues1靶机渗透测试

driftingblues1靶机

信息收集

  1. 使用nmap扫描得到目标靶机ip为192.168.78.166,开放80和22端口

web渗透

  1. 访问目标网站,在查看网站源代码的时候发现了一条注释的base64加密字符串

image-20230723205241706

  1. 对其解密得到了一个目录文件

image-20230723205303647

  1. 访问文件发现是一串ook加密的字符串,直接使用在线工具进行解密

image-20230723205345904

  1. 通过解密得到了需要使用host文件,host是可以修改ip和域名对应的文件,看来后续的目标要网域名方向靠拢了

image-20230723205401515

image-20230723205411838

  1. 因为域名的格式是xxx.xxx,发现网页上还真有这样子格式

image-20230723205623014

  1. 尝试修改hosts文件内容,添加ip和域名对应内容,再次尝试访问,可以正常访问

image-20230723205707933

image-20230723205712740

  1. 发现页面和往常一样,这里想到可能需要进行子域名爆破,关键点隐藏在子域名中,使用layer爆破发现卡住了,不得已转到kali主机下,使用ffuf工具进行子域名爆破,得到了子域名为test

image-20230723210001827

image-20230723210005757

  1. 再次修改hosts文件内容,将test子域名也添加在内

image-20230723210041771

  1. 访问网站之后提示正常流程工作,也没有什么内容,尝试用dirb扫描一下目录,发现robots.txt文件的存在

image-20230723210152232

  1. 访问robots.txt文件,发现隐藏了一个ssh的文件

image-20230723210137877

  1. 访问该文件提示ssh的登录密码为该字符串后面跟一个数字

image-20230723210253397

  1. 尝试使用代码将可能的密码输出,保存到kali主机的文件中

image-20230723210340770

image-20230723210352094

获取shell

  1. 根据前面的提示,每个提示后面多次出现 -eric,怀疑这个就是登录的用户名,可以使用Hyder或者美杜莎进行ssh爆破登录,爆破结果显示带有6的字符串是登录密码
  2. 进行ssh登录,成功登陆到eric用户的shell

image-20230723210600092

权限提升

  1. 第一思路依旧是尝试suidsudo -l和定时任务的查看,都没有什么收获

image-20230723210636438

  1. 再访问了一下备份目录,发现有一个backup.sh的文件,查看了一下脚本里的内容,发现最后一条命令提示是一个后门,看这样子是可以使用root权限执行后面文件

image-20230723211300021

  1. 但是要如何去执行这个脚本呢,使用当前用户权限执行是需要root密码的,肯定是需要调用root命令来执行这个脚本才行,来到eric目录下看看有没有可以利用的内容,只有一个flag可以查看

image-20230723211503236

  1. 那样子能使用root权限执行该脚本就还剩下定时任务了,但是查看定时任务没有显示,查看了wp发现可以使用一个工具pspy64来查看主机所执行的所有进程,使用工具查看后发现等待一段实践执行了backup.sh脚本,而且uid是0,代表使用的是root权限

image-20230723211812770

  1. 直接再tmp目录下创建后门文件,在里面写入获取root权限的命令,一开始想着直接写入/bin/bash和反弹shell脚本直接获取root权限,但是发现失败了。

image-20230723212019614

  1. 但可以尝试的方式有很多,毕竟有着root权限,可以创建一个新的root用户写入到passwd文件中,也可以给eric用户添加root权限写入到sudoers文件中,这里尝试的第二种方法,直接将eric用户赋予所有权限并不需要密码

image-20230723212415488

image-20230723212427284

image-20230723212432164

  1. 通过了解还有一个方法,可以将shadow文件内容存入到tmp目录的一个文件中,查看shadow内容可以对root用户的密码进行hash爆破,从而获取root用户的密码

image-20230723212555256

  1. 使用sudo su -切换到root权限,查看flag

image-20230723212702164

靶机总结

  1. 本次靶机进行了域名渗透操作,进行了子域名爆破,提权时隐藏了定时任务的信息
  2. 根据网页提示说和host文件有关系,接触到host就要想到ip和域名对应,既然涉及到域名那就少不了子域名爆破了,信息就隐藏在子域名网页中。还要讲子域名添加到hosts文件中。子域名爆破的工具有很多,这里使用的是layerffuf
  3. 再进行后渗透时,发现存在脚本需要使用root权限执行即可进行权限提升的利用,那多半就可能是定时任务来执行的,本次靶机就将定时任务的信息隐藏了,但是可以使用pspy64工具查看得知存在定时任务
  4. 但是在利用后门文件时,出现了不会利用的情况,想着直接/bin/bash或者反弹shell直接等待rootshell返回就行了。看来似乎不是这样子,但是有了root权限还是可以进行很多操作的,例如在passwdsudoers文件中新增内容,查看shadow文件内容,甚至可以访问root目录,使用ls查看flag文件名,再加上cat命令直接查看文件,都可以不用获取root用户权限

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

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

相关文章

【面试】C/C++面试八股

C/C面试八股 编译过程的四个阶段C和C语言的区别简单介绍一下三大特性多态的实现原理虚函数的构成原理虚函数的调用原理虚表指针在什么地方进行初始化的?构造函数为什么不能是虚函数为什么建议将析构函数设为虚函数虚函数和纯虚函数的区别抽象类类对象的对象模型内存…

用 Pytest+Allure 生成漂亮的 HTML 图形化测试报告

本篇文章将介绍如何使用开源的测试报告生成框架 Allure 生成规范、格式统一、美观的测试报告。 通过这篇文章的介绍,你将能够: 将 Allure 与 Pytest 测试框架相结合; 如何定制化测试报告内容 执行测试之后,生成 Allure 格式的测…

AutoGen - 多个Agent开发LLM应用的框架

文章目录 关于安装使用关于 Enable Next-Gen Large Language Model Applications 用多个Agent开发LLM应用的框架,这些agent可相互交流以解决任务。 官网:https://microsoft.github.io/autogen/github : http://github.com/microsoft/autogendiscord : https://discord.com/i…

面试官必问的分布式锁面试题,你答得上来吗?

一、面试聊聊-分布式锁,如何回答? 要分析分布式锁这个问题,我们根据黄金圈法则来分析 黄金圈法则是由美国营销顾问西蒙斯涅克(Simon Sinek)提出的一种思维模型,用于帮助人们更好地理解和传达信息。黄金圈法…

自定义类型:结构体,枚举,联合

目录 前言 一、结构体 1.构体的声明 1.1 结构的基础知识 1.2 结构的声明 1.3 特殊的声明 1.4 结构的自引用 1.5 结构体变量的定义和初始化 1.6 结构体内存对齐 1.7 修改默认对齐数 2. 位段 2.1 什么是位段 2.2 位段的内存分配 2.3 位段的跨平台问题 2.4 位段的应…

网络基础知识面试题1

VC++常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/124272585C++软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持续更新...)

Spring-事务管理-加强

目录 开启事务 编程式事务 声明式事务 声明式事务的优点 声明式事务的粒度问题 声明式事务用不对容易失效 Spring事务失效可能是哪些原因 Transactional(rollbackFor Exception.class)注解 Spring 事务的实现原理 事务传播机制 介绍 用法 rollbackFor 场景举例 …

深入探究C++编程中的资源泄漏问题

目录 1、GDI对象泄漏 1.1、何为GDI资源泄漏? 1.2、使用GDIView工具排查GDI对象泄漏 1.3、有时可能需要结合其他方法去排查 1.4、如何保证没有GDI对象泄漏? 2、进程句柄泄漏 2.1、何为进程句柄泄漏? 2.2、创建线程时的线程句柄泄漏 …

CleanMyMacX 永久版下载激活码破解版

CleanMyMac X最新破解版V4.9.2是一款出色的Mac 系统垃圾清理程序。 该软件具有强大的垃圾清理功能,可以释放数 GB 的空间,让您的 Mac 焕然一新。 带有激活码的完整破解版 CleanmyMac 可加速您的 Mac 设备。 此外,cleanmymac还能帮助您从 Mac…

小谈设计模式(17)—状态模式

小谈设计模式(17)—状态模式 专栏介绍专栏地址专栏介绍 状态模式关键角色上下文(Context)抽象状态(State)具体状态(Concrete State) 核心思想Java程序实现首先,我们定义一个抽象状态类 State,其中包含一个处理请求的方法 handleRe…

Centos7 安装mysql 8.0.34并设置不区分大小写

索引 Centos7 安装mysql 8.0.34准备工作安装教程安装并配置配置MySQL配置远程访问重新启动MySQL服务 为已安装的MySQL8设置不区分大小写背景操作步骤 Centos7 安装mysql 8.0.34 准备工作 centos7 服务器 xshell 安装教程 安装并配置 在安装MySQL之前,我们应该…

【无标题】This project has been opened by another efinity instance

This project has been opened by another efinity instance 说明:(1)软件自动即出可能有些进程没有关闭 (2)目录中有中文路径。

POJ 2104 K-th Number 平方分割 / 线段树

一、题目大意 长度为n&#xff08;n<100000&#xff09;的数组&#xff0c;进行m次查询&#xff08;m<5000&#xff09;&#xff0c;每次查询时&#xff0c;输入为 i j k&#xff0c;返回为数组 [i,j] 的分片里第k大数字&#xff08;1<i<j<n,k<j-i1) 二、解…

vue3 中使用echarts图表——柱状图

柱状图是比较常用的图形结构&#xff0c;所以我先收集一些精美的柱状图 一、柱状图&#xff1a;设置圆角和颜色 <template><div class"box" ref"chartDom"></div> </template> <script setup> import { ref, onMounted } fr…

力扣第100题 相同的数 c++ 二叉 简单易懂+注释

题目 100. 相同的树 简单 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1&#xff1a; 输入&#xff1a;p [1,2,3], q [1,2,3] 输出…

RabbitMQ之Direct(直连)Exchange解读

目录 基本介绍 使用场景 springboot代码演示 演示架构 工程概述 RabbitConfig配置类&#xff1a;创建队列及交换机并进行绑定 MessageService业务类&#xff1a;发送消息及接收消息 主启动类RabbitMq01Application&#xff1a;实现ApplicationRunner接口 基本介绍 在r…

功能测试复习

一。测试流程 1.需求评审 确保各部门需求理解一致 2.计划编写 测什么&#xff0c;谁来测&#xff0c;怎么测 3.用例设计 验证项目是否符合需求的操作文档 4.用例执行 项目模块开发完成开始执行用例文档实施测试 5.缺陷管理 对缺陷进行…

[晕事]今天做了件晕事21;设置代理访问网站的时候需注意的问题

今天在家上班&#xff0c;设置好VPN&#xff0c;通过代理来访问公司内部的一个系统浏览器的反应如下&#xff1a; Hmmm… can’t reach this page ***.com refused to connect. 这个返回的错误&#xff0c;非常的具有迷惑性&#xff0c;提示的意思&#xff1a;拒绝链接&#xf…

李沐深度学习记录2:10多层感知机

一.简要知识记录 x.numel()&#xff1a;看向量或矩阵里元素个数 A.sum()&#xff1a;向量或矩阵求和&#xff0c;axis参数可对某维度求和&#xff0c;keepdims参数设置是否保持维度不变 A.cumsum&#xff1a;axis参数设置沿某一维度计算矩阵累计和x*y:向量的按元素乘法 torch.…

时间序列常用数据处理

1.组合技巧Compose 1.2 实例应用及其解释 # 用于组合多个数据处理方法 class Compose(object):def __init__(self, transforms):self.transforms transformsdef __call__(self, seq):for t in self.transforms:seq t(seq)return seq 这段Python代码定义了一个名为Compose的…