[Vulnhub靶机] DriftingBlues: 1

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

靶机下载地址:

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


靶机地址:192.168.67.20

攻击机地址: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网页,没有什么有用的信息(注意到介绍中存在两个邮箱地址,后面有用),查看网页源代码,发现一串base64加密值

4.将base64加密值进行解密得到 /noteforkingfish.txt 文件,访问该文件,发现大量 Ook! 编码

5.使用在线网站对 Ook! 编码进行解密,得到一串提示信息。通过对提示的分析,要求我们通过 hosts 文件的方式访问地址,此时需要一个域名(这里就需要上面提到的两个邮箱,两个邮箱都是同一个域名)driftingblues.box

Ook! 在线解码地址:Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]

6.将靶机ip地址以及对应的域名 driftingblues.box 写入 hosts 文件内,重新使用域名访问网站进行信息收集发现与之前收集到的信息一致

7.使用gobuster工具进行爆破,尝试爆破子域名,得到子域名test.driftingblues.box

gobuster dns -d "driftingblues.box" --wordlist /usr/share/wordlists/dirb/common.txt --no-error -z

        dns                        使用DNS枚举子域名(域名爆破模式)

        -d                           目标域(指定目标域名)

        --wordlist                字典列表的路径

        --no-error                不显示错误

        -z                            不显示进度

8.将子域名也加入到 hosts 表内,访问网页进行信息收集,发现页面没有什么有用的回显信息(注意页面经常出现的eric,后面ssh暴力破解时候用得到)

9.使用dirsearch工具扫描网站目录,发现robots.txt文件,访问该文件,获得 /ssh_cred.txt 文件

dirsearch -u 靶机URL

        -u        指定目标URL

10.访问 /ssh_cred.txt 文件,获得提示 1mw4ckyyucky 加任意一位数字组成密码,已经之前经常出现的用户名eric(一共就出现过两个名,eric和sheryl)

二、漏洞利用

 1.根据提示创建密码文件password.txt,使用 hydra 工具尝试进行ssh暴力破解,得到密码1mw4ckyyucky6

hydra -l eric -P password.txt 192.168.67.20 ssh

        -l                指定用户名

        -P              指定密码字典的路径

        ssh            用于暴力破解SSH服务器

2.使用用户名密码进行SSH远程登录,成功登录上线

三、提权

1.使用find命令寻找suid程序,尝试进行提权,没有发现可利用的漏洞程序(使用sudo运行命令提示无法运行)

2.换个思路找靶机内存在root权限执行的文件或者脚本,在查看/tmp目录时发现目录下存在备份文件,查看/var目录,果然有一个backups文件夹,查看文件夹里的文件内容,有一个备份文件脚本backup.sh,该文件执行的命令是root权限的

在Linux系统中,默认的备份文件路径通常是/var/backups。这个目录通常用来存放系统自动备份的文件,比如日志、配置文件等。不过需要注意的是,具体的备份路径可能会因不同的发行版和配置而有所不同。

3.查看backup.sh文件的内容,发现提示说有一个backdoor,且用sudo命令执行了/tmp/emergency文件。再次查看/tmp目录,发现没有emergency这个文件,我们可以自行创建

4.创建emergency文件,并向其中写入命令,给该文件执行命令。等待backup.sh执行,生成backdoor文件

echo "cp /bin/bash /tmp/backdoor;chmod +s /tmp/backdoor" > /tmp/emergency

chmod +x emergency

因为emergency文件依旧是eric用户创建的,我们需要一个root用户创建还拥有特殊权限的执行文件去执行提权命令。所以我们利用备份文件会以root权限执行/tmp/emergency文件的漏洞去创建一个backdoor文件(这个命名单纯是根据提示来创建的,可以随意创建一个喜欢的文件名),来执行提权命令,并给该文件赋予特殊权限。

赋予emergency文件执行权限是为了能让其执行写入命令。

5.发现成功生成backdoor文件,执行该文件,成功提权至root权限

./backdoor -p                提权命令

        -p        以root权限执行命令

此时的backdoor文件内的内容实际就是/bin/bash文件内的内容,且该文件为root用户创建,拥有SUID权限的文件,因此我们可以进行提权操作。但是由于Linux系统中出于安全考虑,普通用户无法直接提升为root用户,所以我们要加 "-p" 参数,可以实现以root权限执行命令

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

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

相关文章

【2024年美国大学生数学建模竞赛E题】O奖得主完整解析(可直接用)!

【2024美赛E题】O奖大佬解题思路分析! 目前已经更新E题的完整解题,包括数据、代码、结果与论文 加群可以获得完整解析,或者搜索B站:云顶数模。 联络组织企鹅:2024年美赛交流 以下是E题老师的参考论文。 1、问题重述…

职教云搜题神器找答案?学生党都在用的5款搜题工具来了 #其他#媒体#笔记

可以说是搜题软件里面题库较为齐全的一个了,收录国内高校常见的计算机类、资格类、学历类、外语类、工程类、建筑类等多种类型的题目。它可以拍照解题、拍照答疑、智能解题,并支持每日一练、章节练习、错题重做等特色功能,在帮助大家解答疑惑…

java大学生科研创新项目在线管理系统 springboot+vue

预期成果: (1)实现一个完整的大学生科创项目在线管理系统的设计与实现,可以运行演示。 (2)预计本系统的页面完整,页面所有文字和图片无漏字、错字、重叠不显示的现象,页面所有链接和…

嵌入式中VMware 三种网络模式的详解与配置方法

今天梳理下 VMware虚拟机的三种网络工作模式。 相信通过这两篇文章,能够帮助你全面搞懂虚拟机的网络工作模式和配置。 VMware的三种网络工作模式 vmware为我们提供了三种网络工作模式, 它们分别是: Bridged(桥接模式)、NAT(网…

以太网帧格式及ARP协议简介

在以太网中,一个主机和另一个主机进行通信,必须要知道目的主机的MAC地址(物理地址),只要知道目的主机的IP地址,就可以通过ARP协议获取目的主机的MAC地址。 1、ARP协议简介 ARP(Address Resolut…

Unity项目从built-in升级到URP(包含早期版本和2023版本)

unity不同版本的升级URP的方式不一样,但是大体流程是相似的 首先是加载URP包 Windows -> package manager,在unity registry中找到Universal RP 2023版本: 更早的版本: 创建URP资源和渲染器​​ 有些版本在加载时会自动创建&#…

高级FPGA开发之基础协议PCIe

基础协议之PCIe部分 一、TLP包的包头 在PCIe的系统中,tlp包的包头的结构有许多部分是相似的,通过掌握这些常规的包头,能帮助理解在PCIe总线上各个设备之间如何进行数据的收发。 通用的字段 通用字段作用Fmt决定了包头是3DW还是3DW&#xff…

Python tkinter (14) —— 按键事件

本文主要介绍Python tkinter 几种按键事件及其示例。 目录 按键事件 响应所有按键事件 窗体绑定事件 响应特殊按键事件 指定按键事件 组合按键事件 总结 tkinter系列文章 python tkinter窗口简单实现 Python tkinter (1) —— Label标签 Python tkinter (2) —— But…

【Python】【完整代码】解析Excel文件内容,按每列首行元素名打印出某个字符串的统计占比(超详细)

目录 1.示例: 1.1 实现代码1:列数为常量 运行结果: 1.2 实现代码2:列数为变量 运行结果: 1.示例: 开发需求:读取Excel文件,统计第3列到第5列中每列的"False"字段占…

Linux第41步_移植ST公司uboot的第2步_修改网络驱动_USB OTG设备树_LCD驱动_以及编译和烧写测试

移植ST公司uboot的第1步,创建配置文件、设备树、修改电源管理和sdmmc节点后,还需要进一部修改,如:网络驱动、USB OTG设备树、LCD驱动,以及编译和烧写测试。 一、在虚拟机中,使用VSCode打开my_uboot工作区 …

日志报错 git -c dif.mnemonicprefix=false -c core.guotepath=false 解决方法

前言: 在进行下面操作前,必须确保,你是否安装了Git。 查看Git 在命令行窗口中输入`git --version`: 如果这个命令成功显示了Git的版本信息,这表明Git已经被安装。 1. 使用Sourcetree SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端…

Spring事件之注解@EventListener讲解

文章目录 1 注解EventListener1.1 示例Demo1.1.1 简单例子1.1.2 解耦1.1.3 Spring事件 1.2 深入EventListener1.2.1 debug调试1.2.2 问题一: Spring是怎么知道要去触发这个方法1.2.3 问题二:ApplicationListenerMethodAdapter1.2.4 问题三:Si…