Log4j Rce(CVE-2021-44228)漏洞分析

admin 2025年1月6日11:13:42评论6 views字数 1402阅读4分40秒阅读模式
  • 前言
    Hvv终于要结束了,作为小外包,领钱的日子也即将到来,怀揣着澎湃的心情夜不能寐,想起面试中的点点滴滴,猛一回首,想到了Log4j 去年爆出的这个漏洞,为此,还在某Src上大刷了一波分,虽然会利用吧,但是在后来的面试中面试官也有提问过,但是具体的细节却无法一一道来,实在是难搞,借此在这特殊时间段中,对整个漏洞做一个详细分析
  • 漏洞描述
    由于Log4j2组件在处理程序日志记录时存在JNDI注入缺陷,未经授权的攻击者利用该漏洞,可向目标服务器发送精心构造的恶意数据,触发Log4j2组件解析缺陷,实现目标服务器的任意代码执行,获得目标服务器权限
  • 漏洞环境
    进入知识星球,即可下载本文环境及maven依赖
Log4j Rce(CVE-2021-44228)漏洞分析
  • 漏洞分析
    首先,这里logger.error模拟的是我们,写入日志的恶意内容
Log4j Rce(CVE-2021-44228)漏洞分析
    跟踪进行进入,查看调用栈,根据调用栈一个个找,根据调用的函数进行一番百度,发现这边lookup是涉及到jndi的一个解析方法,于是对其进一步研究
Log4j Rce(CVE-2021-44228)漏洞分析
    在调用栈中,发现org.apache.logging.log4j.core.lookup.StrSubstitutor.substitute 对输入的内容,进行了一个拆解,其中,getVariablePrefixMatcher()指的是$、{,getVariableSuffixMatcher指的是},将内容进行了一个过滤,过滤后就只剩ldap://127.0.0.1:1389/a
Log4j Rce(CVE-2021-44228)漏洞分析
Log4j Rce(CVE-2021-44228)漏洞分析    然后进入到的是resolveVariable,进入后,会去调用resolver.lookup
Log4j Rce(CVE-2021-44228)漏洞分析
Log4j Rce(CVE-2021-44228)漏洞分析
    根据调用栈,发现是调用的JndiLookup这个类
Log4j Rce(CVE-2021-44228)漏洞分析
    然后就会到 org.apache.logging.log4j.core.lookup.Interpolator.lookup 执行函数,会进入到lookup.lookup中
Log4j Rce(CVE-2021-44228)漏洞分析
    进行跟踪后发现,会去调用jndiManager.lookup解析我们输入的内容,也就是jndiName
Log4j Rce(CVE-2021-44228)漏洞分析
    一步步跟踪后发现lookup可以调用的类还是比较多的,接下去应该是jndiManager怎么对内容进行解析的,翻阅资料后后面指的都是jndi注入的过程
  • 环境下载
    公众号点击知识星球,加群后发送“知识星球”免费加入知识星球获取下载资料

Log4j Rce(CVE-2021-44228)漏洞分析

  • 总结
    主要问题还是在于这里头存在了jndi注入。实则构造的payload,为${xx}样式应该主要还是为了进入logger.error这个函数中,进入函数后会对一些特殊符号$、{、}进行正则匹配,然后通过jndi的lookup接口进行解析,然后又因为jndi注入存在缺陷,就会去加载访问的内容。因此,检测只到了解析部分,要想rce还得说去让他去加载写的恶意类,然后通过jndi注入的缺陷,利用java反射机制,loadclass加载了恶意类的内容~,本文只对了log4j部分进行了分析,后续还会研究一下jndi注入。毕竟这个漏洞当时爆出来之后,许多师傅们都说利用条件苛刻,在分析过程中,确实感受到了,首先这个日志文件中会去调用到jndi,然后在特定jdk下的jndi才存在注入,还要能够加载设定的恶意类。确实鸡肋~   文章有不足之处,还请各位大师傅们多多指教
Log4j Rce(CVE-2021-44228)漏洞分析

原文始发于微信公众号(Undoubted Security):Log4j Rce(CVE-2021-44228)漏洞分析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月6日11:13:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Log4j Rce(CVE-2021-44228)漏洞分析https://cn-sec.com/archives/1834175.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息