前言
事件回顾:2021年最重量级的漏洞在12月9日引爆,12月10日凌晨很多程序员和乙方人员都被迫开始应急响应。
log4j这个组件在java领域被广泛使用,该漏洞非常容易利用,可以执行任意代码。这个漏洞的影响可谓是重量级的。
这种开源组件的重大漏洞很难避免,漏洞出现的时候也很尴尬,就好比你全副武装上场,一回头发现裤衩上漏洞最大。
漏洞爆出后各种网图就开始疯传,基本上你能叫得出名字的公司都存在漏洞。。。
漏洞利用
最初使用dnslog服务器来检测是否存在漏洞,因为检测流量太大,FOFA和DNSLog网站一度崩溃。
漏洞利用非常简单,可以执行任意代码。下面的demo弹出计算器,在Windows11上进行。
使用maven管理包的可以检查依赖,看看是不是有问题的版本
无漏洞版本
官方先是针对漏洞发布了rc1
的修复版本,但是该版本依旧有漏洞,rc2
版本才是没有漏洞的。下载连接如下
下面这个是网图,直接证实了rc1
版本仍然存在绕过的风险,我没有自己实验进行验证,但是根据后续发布的情况来看,这个情况确实属实。
防护
1、检查代码,及时升级到安全的版本,本次漏洞还涉及众多Apache开源项目,这部分也应该及时更新。
2、恶意流量中可能存在jndi:ladp://
jdni:rmi
,IDPS和WAF可以编写相应规则,但是对于HTTPS协议不能很好防护;针对网上流传的漏洞利用文件编写snort规则。
3、威胁情报服务,定位知名的公共DNSLog网站,直接封禁,对于使用开源代码搭建的Dnslog服务器进行服务识别。知名DNSLog网站如下:
ceye.io
dnslog.link
dnslog.cn
dnslog.io
tu4.org
burpcollaborator.net
s0x.cn
3、添加jvm启动参数-Dlog4j2.formatMsgNoLookups=true
4、修改配置文件log4j2.formatMsgNoLookups=True
5、修改环境变量FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为true
6、关闭应用对外的网络连接
更新
2021年12月12日
在本次漏洞的响应上奇安信可以说做的不错(声明一下我不是虎厂的,这不是广告),截止2021年12月12日,奇安信威胁情报中心对此漏洞更新了四次,应该是乙方公众号中更新最频繁的,其他厂商可能就只更新了一次全产品防护指南就没有在更新了。此次漏洞相关的Bypass手段还在不断更新,各家公司仅在上周五发布的应急版本是否有效还是个未知数。
奇安信还创建了一个共享IOC,Snort检测规则的Github项目,可以共享情报。这一点感觉也非常好,其实本次漏洞本就十分严重,亟需国内的安全厂商和甲方安全部门一起应对,这时候不再是互相比拼检测率的时候,打破友商隔阂,做到一定程度的信息共享,才能给好的应对此次危机。
下面是几个共享log4j
漏洞相关IOC的项目。可以及时补充到安全设备黑名单中,提高检出率,提升防护能力。
https://github.com/RedDrip7/Log4Shell_CVE-2021-44228_related_attacks_IOCs
https://github.com/Sh0ckFR/log4j-CVE-2021-44228-Public-IoCs
https://raw.githubusercontent.com/CriticalPathSecurity/Public-Intelligence-Feeds/master/log4j.txt # IOCS
https://www.tutorialjinni.com/log4shell-yara-ioc.html # yara规则
https://github.com/Neo23x0/signature-base/blob/master/yara/expl_log4j_cve_2021_44228.yar # yara规则