Struts2漏洞和Struts扫描工具实战

  

一、Apache Struts 2漏洞背景

  

1。漏洞详情

  

2017年3月6日,Apache Struts 2被曝存在远程命令执行漏洞。在使用基于雅加达插件的文件上传功能条件下,恶意用户可以通过修改HTTP请求头中的内容类型值构造恶意代码,在服务器上执行系统命令,完全控制该服务器,最后达到挖矿,对外攻/击数据窃取勒索,篡改为菠菜站等目的。漏洞利用所需组件默认启用,风险等级为高危。

  

2。漏洞编号

  
      <李> cve - 2017 - 5638   <李> cnnvd - 201703 - 152   
  

3。影响的Struts2版本

  
      <李> Struts 2.3.5 - Struts 2.3.31李   <李> Struts 2.5 - Struts 2.5.1李   
  

4。解决方案

  

(1)临时解决方案:删除commons-fileupload-x.x.x.jar文件(会造成上传功能不可用)。

  

(2)根本解决方案:升级版本至Apache Struts 2.3.32或Apache Struts 2.5.10.1以消除漏洞影响。涉及版本变更,升级前应做好数据备份。

  

补丁地址:
Struts 2.3.32: https://github.com/apache/struts/releases/tag/STRUTS_2_3_32
Struts 2.5.10.1: https://github.com/apache/struts/releases/tag/STRUTS_2_5_10_1

  

5。自行检测方法

  

查看web目录下/web - inf/lib/目录下的struts2-core-x.x.x.jar文件,如果x代表的版本号在2.3.5到2.3.31以及2.5到2.5.10发行之间且未修改默认配置则存在漏洞。

  

二,Struts扫描工具介绍

  

使用场景:在主机外围验证漏洞存在与否。
使用前提:需要主机有python环境,如何安装自行百度。

  

1。Struts扫描工具下载地址

  

(1)【推荐】路西法原创在GitHub: https://github.com/Lucifer1993/struts-scan

  

 Struts2漏洞和Struts扫描工具实战

  

(2)在百度网盘备份了一份:https://pan.baidu.com/s/1ji8uTB73gXMFaTyW5r6Jbg密码:99 f4

  

2。Struts扫描工具使用方法

  

(1)将下载的安装包上传到云主机任意目录下,我上传到/根/struts-scan/

  

 Struts2漏洞和Struts扫描工具实战

  

(2)使用方法:

  

?python struts-scan。py http://example.com/index.action检测
?python struts-scan。http://example.com/index.action py - u - i struts2 - 045进入指定漏洞交互式壳
?python struts-scan。py - f url。三批量检测

  

示例:python struts-scan。py http://www.baidu.com
 Struts2漏洞和Struts扫描工具实战

  

注意:如果python报错:

  
 <代码>回溯(最近的电话):
  struts-scan文件”。py”, 13号线,在& lt; module>
  从termcolor进口cprint
  ImportError:没有模块命名termcolor  
  

根据报错,执行如下命令后解决:

  
 <代码> yum安装python-pip
  pip安装termcolor  
  

三、入/侵分析案例

  

1.2017目前消费量某一云租户的CPU持续较高,经过排查是一个名为md的恶意进程,位置/var/tmp/.c4k/,且在crontab里加了定时任务。

  

 Struts2漏洞和Struts扫描工具实战

  

 Struts2漏洞和Struts扫描工具实战

  

2。微步在线坚定为比特币挖矿木/马:

  

 Struts2漏洞和Struts扫描工具实战

  

3。网站目录下/web - inf/lib/目录下,发现了存在漏洞struts2库2.3.15。

  

 Struts2漏洞和Struts扫描工具实战

  

利用struts扫描判断存在struts2 - 045, struts2 - 048漏洞

  

 Struts2漏洞和Struts扫描工具实战

  

4。本文列出的为关键步骤,其实分析过程中我们还分析了弱口令爆破,/var/log/安全日志,配置文件server.xml等,常规分析参考我的Linux入/侵分析三部曲。

  

终于最后聚焦到struts2漏洞,从此此漏洞可以作为网站类主机入/侵溯源分析的一个检查点,列入次数(故障排除指南),提高效率。

Struts2漏洞和Struts扫描工具实战