[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

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

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

相关文章

Linux在应用层上使用I2C

Linux在应用层上使用I2C 通常情况下i2c读写一般是在kernel中使用,但是在应用层上一样可以使用。在应用上可以通过读写/dev/i2c-x这个节点从而控制i2c接口进行读写数据。 通常一个SOC有多个I2C控制器,假设有这个SOC有3个控制器,我们会在/dev目…

led手电筒照明线性恒流驱动芯片推荐:SM2123EGL双通道可调光

LED手电筒照明线性恒流驱动芯片是一种专门用于LED手电筒的照明系统的关键组件。它采用了线性恒流驱动技术,可以确保LED手电筒在不同电池电压和温度变化下,保持恒定的亮度输出,提高了LED手电筒的稳定性和可靠性。 LED手电筒照明线性恒流驱动芯…

VScode右键没有go to definition选项

1. 背景 1.1. 项目代码在远程服务器上; 1.2. win重装系统,重新安装vscode出现问题,没重装系统之前是没问题的; 2. 问题 打开vscode,通过ssh链接远程服务器中的项目代码后,选中函数右键没有go to defini…

大连理工大学软件学院2022年秋季学期《矩阵与数值分析》上机作业

文章目录 《计算机科学计算》第二版162页第12题(1)162页第16题216页第12题 《数值分析方法与应用》一、基础知识部分1、5、 二、线性方程组求解2、6、 三、非线性方程组求解1、4、 四、插值与逼近1、5、7、 五、数值积分2、 六、微分方程数值解法1、 《计…

机房自动化监控手把手分享给你 - 番外1:声光报警实现

本文章是一个机房自动化监控实际项目系列文章的番外篇,有个朋友问能否补充一个声光报警的实现,我仔细一想:虽然我不在这个项目中实现声光报警,但我在其他项目用过,使用的设备器件成本很低。那就以这个项目为背景&#…

视频转为序列图的软件,让视频批量转为序列图

你是否曾经遇到过这样的困境:需要将一段视频转为一系列的图片,但却没有合适的工具来完成?或许你曾经手动截图,或者用其他方式,但结果往往不尽如人意,图片质量差、色彩失真、画面不清晰。现在,让…

C语言动态内存管理

我们目前知道的开辟内存空间的方法有: 1.创建变量 2.创建数组; 但是这2种方法开辟的空间大小都是固定的,如果是数组的话确认了大小之后是无法改变的; int a10;//在栈区空间上开辟4个字节的空间;int arr[10];//在栈…

C++ 模板进阶

目录 一、非类型模板参数 二、模板的特化 1、函数模板特化 2、类模板特化 全特化 偏特化 3、例题 三、模板分离编译 1、定义 2、解决方法 3、模板总结 一、非类型模板参数 模板参数分类类型形参与非类型形参。 类型形参即:出现在模板参数列表中&#xf…

vue 实现调起打印机打印图片 与图片下载

需要创建一个标签&#xff0c;可以放在页面用样式隐藏起来 <div id"printable-content" style"display: none"><div><el-imagestyle"width: 60px; height: 60px; border-radius: 50%"v-if"barrcodePicture":src"b…

10本审稿及出版效率均较好的科普期刊参数分享!

医、药、护、技及医学工程等相关的人员&#xff0c;进行卫生高级职称评审时&#xff0c;需要在专业期刊上公开发表本专业学术论文&#xff0c;论文的方向、内容质量以及发表的刊物都至关重要。今天常笑医学给大家整理了10本审稿及出版效率均较好的科普期刊&#xff01;参数分享…

【开源GPT项目 - 在问】让知识无界,智能触手可及

Chatanywhere: chatAnywhere 在问 | 让知识无界&#xff0c;智能触手可及 项目简介 这是一个免费的在线聊天工具&#xff0c;旨在让用户更方便地享受科技带来的便利。用户可以使用我们的工具来获取答案、寻求建议、进行翻译和计算等等。这是由一位个人开发者创建的&#xff…

MLP(多层感知机) 虚战1

使用Keras实现MLP 前两节地址&#xff1a; CSDNmatplotlib 虚战1-CSDN博客 &#xff08;数据的获取在这有说明&#xff09; 数据预处理 虚战1-CSDN博客CSDN 数据预处理的最后一步&#xff1a;将数据集分为 训练数据集、测试数据集和校验数据集。 训练数据集&#xff1a…

leetcode10-困于环中的机器人

题目链接&#xff1a; https://leetcode.cn/problems/robot-bounded-in-circle/description/?envTypestudy-plan-v2&envIdprogramming-skills 思路&#xff1a; 首先&#xff0c;题目要寻找的是成环的情况。 1.如果经历一次指令后的方向仍为北方&#xff0c;要使得机器人循…

vue中key的用法

加key是提升vue渲染效率&#xff0c;减少DOM操作。 vue列表元素的更新机制&#xff1a; 当列表元素没有设置key的时候&#xff0c;vue判断是否操作这个DOM元素&#xff0c;是根据新旧两次数据的元素顺序进行对比&#xff0c;看一下元素内容是否发生变化。发生变化vue就操作这个…

安卓开发--proj4j坐标转换快速上手

本节专门讲解proj4j的使用,关于坐标转换原理,等我后面有时间了再讲解下。 现在最新版本的1.3.0版本使用起来很方面,不需要你手动导包,只要配置下gradle就行了。 目录 1.gradle配置 2.Activity使用 2.1方式1:Obtaining CRSs by name【通过epsg名字获取】 2.2方式2:Obta…

优先队列的使用c++,哈夫曼树带权路径长度

在一个果园里&#xff0c;达达已经将所有的果子打了下来&#xff0c;而且按果子的不同种类分成了不同的堆。达达决定把所有的果子合成一堆。 每一次合并&#xff0c;达达可以把两堆果子合并到一起&#xff0c;消耗的体力等于两堆果子的重量之和。可以看出&#xff0c;所有的果子…

TS 36.211 V12.0.0-通用功能

本文的内容主要涉及TS 36.211&#xff0c;版本是C00&#xff0c;也就是V12.0.0。

【Flutter 开发实战】Dart 基础篇:最基本的语法内容

在深入了解 Dart 这门编程语言之前&#xff0c;我们需要了解一些关于 Dart 的最基本的知识&#xff0c;像是常量、变量、函数等等&#xff0c;这样才能够让我们的开发效率更上一层楼。在本节&#xff0c;我们将探讨一些基础语法&#xff0c;包括入口方法 main、变量、常量以及命…

【数位dp】【动态规划】C++算法:233.数字 1 的个数

作者推荐 【动态规划】C算法312 戳气球 本文涉及的基础知识点 动态规划 数位dp LeetCode:233数字 1 的个数 给定一个整数 n&#xff0c;计算所有小于等于 n 的非负整数中数字 1 出现的个数。 示例 1&#xff1a; 输入&#xff1a;n 13 输出&#xff1a;6 示例 2&#xff…

MySQL 8.0中新增的功能(七)

EXPLAIN ANALYZE 语句 在MySQL 8.0.18中引入了一种新形式的EXPLAIN语句&#xff0c;即EXPLAIN ANALYZE&#xff0c;它提供了关于SELECT语句执行的扩展信息&#xff0c;以TREE格式显示查询过程中每个迭代器的执行计划&#xff0c;并可以比较查询的预计成本与实际成本。这些信息…