Apache solr 远程命令执行漏洞(CVE-2019-12409)

漏洞简介

在开放的端口上, 利用 javax.management.loading.MLet 的 getMBeansFromURL 方法来加载一个远端恶意的 MBean,就可以造成远程代码执行了。

漏洞利用方法 待补充

流量检测规则

suricata 检测规则

alert tcp any any -> any any (msg: "Apache Solr RCE(CVE-2019-12409)";content:"java.rmi.server.RemoteObject";content:"JmxMBeanServert";content:"ObjectInstance";sid:30000139;reference: cve, 2019-12409;rev:1;)

原理分析:

java.rmi.server 方法用于提供支持服务器端 RMI 的类和接口。该漏洞的利用需要通过rmi从远端加载恶意的MBean类。因此首先检测流量中是否存在对rmi进行的操作

这是在代理端进行 MBean 操作的基类。它包含创建,注册和删除 MBean 所必需的方法,以及已注册 MBean 的访问方法。

用于表示 MBean 对象名及其类名,通过检测ObjectInstance可以判断是否成功加载Mbean

备注:

该规则只可检测从远程 rmi 服务器加载 MBean 类的流量,并没有对是否存在恶意行为进行检测,所以可能在极特殊情况下会存在误报