安全矩阵

 找回密码
 立即注册
搜索
查看: 2273|回复: 0

log4j反序列化漏洞分析

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-3-14 19:57:31 | 显示全部楼层 |阅读模式
原文链接:log4j反序列化漏洞分析
0x00 前言
前段时间在看某个cms代码的时候,发现log4j组件版本存在漏洞,并且开启了端口,但web站点是nginx反向代理的,而在外网并没有开放到该端口,所以并没有利用成功。但该漏洞遇到的比较少,就算一些cms中log4j组件版本存在漏洞,该漏洞需要使用SimpleSocketServer开启端口才能够接受socket中的数据进行反序列化操作,从而才能利用。

0x01 log4j 漏洞简介漏洞简介log4j用的其实还是比较多,记录一些Java的日志,这个相信接触过Java的都知道,在此不做多的赘诉。
漏洞版本:CVE-2019-17571
1.2.4 <= Apache Log4j <= 1.2.17
漏洞原因是因为调用SimpleSocketServer.main开启一个端口,进行接受数据,进行反序列化操作。
根据官方描述作用是把接受到的LoggingEvent作为本地的日志记录事件,再使用在服务器端配置的Log4J环境来记录日志。默认可能会开启在4560端口中。

0x02 log4j 反序列化分析漏洞复现配置漏洞代码
  1. <pre>import org.apache.log4j.net.SimpleSocketServer;
  2. public class log4j {
  3.     public static void main(String[] args) {
  4.         System.out.println("INFO: Log4j Listening on port 1234");
  5.         String[] arguments = {"1234", (new log4j()).getClass().getClassLoader().getResource("log4j.properties").getPath()};
  6.         SimpleSocketServer.main(arguments);
  7.         System.out.println("INFO: Log4j output successfuly.");
  8.     }
  9. }
  10. </pre><p>配置log4j文件</p><pre>log4j.rootCategory=DEBUG,stdout
  11. log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  12. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  13. log4j.appender.stdout.threshold=DEBUG
  14. log4j.appender.stdout.layout.ConversionPattern=[%d{yyy-MM-dd HH:mm:ss,SSS}]-[%p]-[MSG!:%m]-[%c\:%L]%n</pre><p>然后使用yso生成gadget的序列化数据,直接使用nc进行发送。但是nc发送传输有时候会有些问题,有时候传输数据缺失,会反序列化失败。</p><pre>nc 127.0.0.1 1234 < log4j.curl.bin</pre>
复制代码



漏洞分析漏洞比较简单,还是现在漏洞位置先下断点。

跟进查看

在这里开启serverSocket进行监听,也就是socket的服务端,然后new了SocketNode进行传入。
继续跟进

而在这里接受了socket的数据。

下一步会来到run的这个方法里面,是因为前面调用了线程的start,而start的底层会调用run

直接就对ois也就是刚刚接受的socket数据,调用readobject进行反序列化。

0x03 工具编写在复现的时候,使用nc发送数据时数据传输不完整,导致反序列化失败。就随手写了一个小工具,方便下次遇到的时候使用(可能也极少能遇到,比较鸡肋)
命令执行:

反弹shell:

POC:





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-9-21 03:22 , Processed in 0.012340 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表