freeBuf
Apache Tomcat远程命令执行漏洞(CVE-2017-12615) 漏洞利用到入侵检测
2018-01-25 17:32:23

本文作者:i春秋作家——Anythin9

1.漏洞简介

当 Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP 文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。

影响范围

Apache Tomcat 7.0.0 - 7.0.81

2.漏洞分析2.1环境介绍服务端 Windows7   IP: 192.168.116.128

攻击端 Kali Linux  IP:192.168.116.137

Apache Tomcat 7.0.79


2.2.  实验环境搭建

2.2.1 java环境安装

1.官网下载jdk安装包http://www.oracle.com/technetwork/java/javase/downloads/index.html

2.根据提示安装jdk


1.jpg


3.配置路径,我的电脑->属性->高级系统设置->环境变量->ath 添加jdk和jre路径

2.png

4.配置成功后如图:


3.png

2.2.2 Apache Tomcat安装1.下载地址:

http://www.liangchan.net/soft/download.asp?softid=9366&downid=8&id=9430

2.按照步骤提示,安装

4.png

3.安装成功后,访问http://127.0.0.1:8080


5.jpg

2.2.3 配置Apache Tomcat服务器1.打开Tomcat安装目录的Tomcat7.0\conf\web.xml添加如下配置,在Tomcat7.0版本下默认配置是开启readonly的,需要手动配置readonly为false才可以进行漏洞利用


6.jpg

2.3 漏洞利用

2.3.1 远程命令执行漏洞利用

1.利用PUT方法上传构造好的shell


7.jpg

查看服务器上已经存在test.jsp


8.jpg

在构造上传方法时有三种

PUT /test.jsp%20

PUT /test.jsp/

通过构造特殊的后缀来绕过,Tomcat的检测,将jsp的shell上传到服务器中。

2.利用上传的shell来进行命令执行


9.jpg

攻击成功。


2.3.2 漏洞主要攻击特征

1.攻击方法 PUT

2.主要攻击方法 .jsp:DATA .jsp%20 .jsp/

3.入侵检测规则编写

3.1 CVE-2017-12615漏洞入侵检测规则

alert tcp any any -> any any (msg:" CVE-2017-12615";flow:to_server,established;content:"UT";nocase;content:".jsp/";nocase;reference:cve,2017-12615;sid:2000015;rev:1;)

alert tcp any any -> any any (msg:"CVE-2017-12615";flow:to_server,established;content:"UT";nocase;content:".jsp:DATA";nocase;reference:cve,2017-12615;sid:2000015;rev:1;)

alert tcp any any -> any any (msg:"CVE-2017-12615";flow:to_server,established;content:"UT";nocase;content:".jsp%20";nocase;reference:cve,2017-12615;sid:2000015;rev:1;)


4. 入侵检测效果验证

4.1 CVE-2017-12615漏洞入侵检测验证

回放包cve-2017-12615.tcap


10.png

11.png


>>>>>>黑客入门必备技能   带你入坑和逗比表哥们一起聊聊黑客的事儿他们说高精尖的技术比农药都好玩

本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏