[Vulnhub靶机] DriftingBlues: 2

news2024/12/27 10:56:15

[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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

std::setlocale详解

头文件 #include <clocale>作用 std::setlocale是C标准库中的一个函数&#xff0c;用于设置当前程序的本地化&#xff08;locale&#xff09;环境。 setlocale 函数安装指定的系统本地环境或其一部分&#xff0c;作为新的 C 本地环境。 修改保持效果&#xff0c;并影…

3dmax全景图用什么渲染 全景图云渲染使用教程

在给客户展示设计概念时&#xff0c;应用3ds Max创建的全景图是一个高效直观的方法。这种方式不仅可以全方位地呈现整个空间&#xff0c;让客户沉浸式地感受设计师的创意&#xff0c;而且在展现大型空间设计&#xff0c;如展览馆或者会议室等&#xff0c;效果尤其显著&#xff…

使用Python进行用户参与度分析

用户参与度分析是一种数据驱动的方法&#xff0c;用于评估和了解用户对产品&#xff0c;服务或平台的参与&#xff0c;互动和满意度。它涉及分析各种指标和行为模式&#xff0c;以深入了解用户行为和偏好。它帮助企业做出明智的决策&#xff0c;以增强用户体验&#xff0c;优化…

广州怎么找工作哪里工作机会多

广州找工作上 吉鹿力招聘网 打开 吉鹿力招聘网 “注册账号”&#xff0c;然后输入个人基本信息&#xff0c;进行注册&#xff08;可使用手机号注册&#xff0c;也可以使用邮箱注册&#xff09;。 填写求职意向&#xff0c;基本信息点击“下一步”。 填写工作经历点击“下一步”…

算法巡练day04Leetcode24交换节点19删除倒数节点142环形链表

今天学习的文章和视频链接 https://www.bilibili.com/video/BV1YT411g7br/?vd_source8272bd48fee17396a4a1746c256ab0ae https://www.bilibili.com/video/BV1if4y1d7ob/?vd_source8272bd48fee17396a4a1746c256ab0ae 24两两交换链表中的节点 给你一个链表&#xff0c;两两…

yolov5 损失函数

yolov5有三个损失函数分别是回归损失、置信度损失、分类损失 回归损失用的是CIOU loss 置信度和分类损失用的是BCE loss &#xff08;1&#xff09;对比L2损失&#xff0c;Iou和GIou具有尺度不变性&#xff0c;不会说输入的框子大loss就越大。 &#xff08;2&#xff09;对比…

Vue2 - 数据响应式原理

目录 1&#xff0c;总览2&#xff0c;Observer3&#xff0c;Dep4&#xff0c;Watcher5&#xff0c;Schedule 1&#xff0c;总览 vue2官网参考 简单介绍下上图流程&#xff1a;以 Data 为中心来说&#xff0c; Vue 会将传递给 Vue 实例的 data 选项&#xff08;普通 js 对象&a…

SSM养老院综合服务系统----计算机毕业设计

项目介绍 该项目为后台管理项目&#xff0c;分为管理员与护工两种角色&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登录,个人资料密码管理,用户管理,床位类型管理,床位管理,护工管理,老人管理,咨询登记管理,预约登记管理,老人健康信息管理,费用管理等功能。 护…

【LeetCode每日一题】2487. 从链表中移除节点(调用栈+递归+翻转链表)

2024-1-3 文章目录 [2487. 从链表中移除节点](https://leetcode.cn/problems/remove-nodes-from-linked-list/)方法一&#xff1a;调用栈方法二&#xff1a;递归方法三&#xff1a;翻转链表 2487. 从链表中移除节点 方法一&#xff1a;调用栈 1.将所有节点按顺序压入栈中 2.从…

浅谈接口自动化测试

昨晚在某个测试交流群&#xff0c;听了一个测试老司机分享接口自动化测试的内容&#xff0c;对接口自动化有了更深的一些认识&#xff0c;也为接下来公司的接口自动化实施&#xff0c;提供了更多的思路。 这篇博客&#xff0c;就说说功能测试到接口自动化的进阶&#xff0c;以及…

商品推荐系统+可视化+2种协同过滤推荐算法 Django框架 大数据毕业设计(附源码+论文)✅

毕业设计&#xff1a;2023-2024年计算机专业毕业设计选题汇总&#xff08;建议收藏&#xff09; 毕业设计&#xff1a;2023-2024年最新最全计算机专业毕设选题推荐汇总 &#x1f345;感兴趣的可以先收藏起来&#xff0c;点赞、关注不迷路&#xff0c;大家在毕设选题&#xff…

【论文笔记】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 代码摘要可以细分为抽取式代…

眼镜店系统管理软件,眼镜店配镜视力检查顾客资料管理系统

一、软件程序问答 1、这个软件在配镜的时候可以开配镜处方吗&#xff0c;可以打印出来吗&#xff1f; 如上图&#xff0c;以 佳易王眼镜店配镜顾客信息管理系统为例说明&#xff1a; 点击软件中的 配镜处方按钮&#xff0c;填写配镜相关信息&#xff0c;即可打印&#xff0c;…

Spring系列学习六、深入Spring AOP——揭开代理的神秘面纱

深入Spring AOP——揭开代理的神秘面纱 一、动态代理的实现原理二、CGLIB字节码增强的实现原理三、结语 上一章节&#xff0c;我们体验了Spring AOP强大的能力的同时&#xff0c;是不是也想弄明白&#xff0c;它是怎么原理是什么呢&#xff1f;如果自己要做一个类似的框架&…

SQL Server注入之攻防技战法

那天下着很大的雨&#xff0c;母亲从城里走回来的时候&#xff0c;浑身就是一个泥人&#xff0c;那一刻我就知道我没有别的选择了 1.Mssql报错注入 0.判断数据库类型 1.爆当前用户名 2.爆版本 3.爆服务器名 4.判断数据库个数 5.获取全部数据库 语句只适合>2005 爆当前数据…

旧电脑搭建NAS

旧电脑可以搭建NAS吗&#xff1f; 可以&#xff01; 性能好吗&#xff1f; 完全没问题&#xff01; 简单吗&#xff1f; 轻松上手&#xff01; 怎吗搭建&#xff1f; 这里&#xff1a;用旧电脑搭建NAS在您的家庭中&#xff0c;通过将旧 PC 转变为NAS服务器&#xff0c;您…

Winform中使用Fleck实现Websocket服务端并读取SQLite数据库中数据定时循环群发消息

场景 Winform中使用Websocket4Net实现Websocket客户端并定时存储接收数据到SQLite中&#xff1a; Winform中使用Websocket4Net实现Websocket客户端并定时存储接收数据到SQLite中-CSDN博客 Winform中操作Sqlite数据增删改查、程序启动时执行创建表初始化操作&#xff1a; Wi…

BLE Mesh蓝牙组网技术详细解析之Access Layer访问层(六)

目录 一、什么是BLE Mesh Access Layer访问层&#xff1f; 二、Access payload 2.1 Opcode 三、Access layer behavior 3.1 Access layer发送消息的流程 3.2 Access layer接收消息的流程 3.3 Unacknowledged and acknowledged messages 3.3.1 Unacknowledged message …

轻松上手:Postman Interceptor 插件使用指南

什么是 Postman&#xff1f; Postman 是一种用于测试和开发 API 的工具&#xff0c;让开发者可以轻松地构建、发送、调试 HTTP 请求&#xff0c;并检查响应结果。通过Postman&#xff0c;开发者可以在不编写代码的情况下快速测试 API 的正确性和可靠性。Postman 还支持协作和自…

ubuntu18.04安装MySQL

1.安装mysql服务器端 sudo apt-get -y install mysql-server&#xff08;18.04/20.04不会提示输入密码&#xff0c;默认是没有密码&#xff09; 2.安装mysql客户端 sudo apt-get -y install mysql-client3.安装mysql模块 sudo apt-get -y install libmysqlclient-dev4.验证是…