本文转自:https://cert.360.cn/warning/deta ... 58c3a633e4e105e22bb 
0x01   漏洞简述 
2021年12月09日,360CERT监测发现Apache Log4j 2存在JNDI远程代码执行,漏洞等级:严重,漏洞评分:10.0。 
 
Apache Log4j 2是一个开源的日志记录组件,使用非常的广泛,使用情况参考: 
 
https://mvnrepository.com/artifa ... j/log4j-core/usages 
对此,360CERT建议广大用户尽快将Apache Log4j 2进行升级,以免遭受黑客攻击。 
0x02   风险等级 
360CERT对该漏洞的评定结果如下 
 
评定方式        等级 
威胁等级           严重 
影响面                广泛 
攻击者价值        高 
利用难度                低 
360CERT评分        9.8 
0x03   影响版本 
组件        影响版本        安全版本 
apache:log4j        2.0 - 2.15.0-rc1        2.15.0-rc2 
0x04   内部自查 
项目依赖版本检测 
检测pom依赖版本是否低于 2.15.0 
- <dependencies>
 
 -   <dependency>
 
 -     <groupId>org.apache.logging.log4j</groupId>
 
 -     <artifactId>log4j-api</artifactId>
 
 -     <version>2.15.0</version>
 
 -   </dependency>
 
 -   <dependency>
 
 -     <groupId>org.apache.logging.log4j</groupId>
 
 -     <artifactId>log4j-core</artifactId>
 
 -     <version>2.15.0</version>
 
 -   </dependency>
 
 - </dependencies>
 
  复制代码 
 
 
检测gradle依赖版本是否低于 2.15.0 
 
- dependencies {
 
 -   compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.15.0'
 
 -   compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.15.0'
 
 - } 
 
  复制代码 
 
检测Ivy依赖版本是否低于 2.15.0 
 
- <dependencies>
 
 -   <dependency org="org.apache.logging.log4j" name="log4j-api" rev="2.15.0" />
 
 -   <dependency org="org.apache.logging.log4j" name="log4j-core" rev="2.15.0" />
 
 - </dependencies>
 
  复制代码 
 
检测SBT依赖版本是否低于 2.15.0 
 
 
- libraryDependencies += "org.apache.logging.log4j" % "log4j-api" % "2.15.0"
 
 - libraryDependencies += "org.apache.logging.log4j" % "log4j-core" % "2.15.0"
 
  复制代码 
若没有使用上述工具,那么可以全局搜索项目中是否存在log4j的相关jar包,并通过jar包中的/META-INF/MANIFEST.MF文件查看log4j的版本。 
 
日志/流量排查 
1. 排查日志或者解码后完整的请求数据包中是否存在${关键字。 
 
2. 排查日志是否存在相关堆栈报错,堆栈里是否有JndiLookup、ldapURLContext、getObjectFactoryFromReference等与 jndi 调用相关的堆栈信息。 
0x05   修复建议 
通用修补建议 
升级到最新版本 2.15.0-rc2 : 
 
https://github.com/apache/loggin ... ag/log4j-2.15.0-rc2 
临时修补建议 
1. 设置JVM启动参数-Dlog4j2.formatMsgNoLookups=true。 
 
2. 尽量使用JDK 版本大于11.0.1、8u191、7u201、6u211,需要注意的是,即使是使用了 JDK 高版本也不能完全保证安全,依然存在本地绕过的情况。 
 
3. 限制不必要的业务访问外网。 
 
4. 采用 rasp 对lookup的调用进行阻断。 
 
首先声明下Log4j2是Apache基金会下的一个针对Java日志处理的开源软件,并非是Apache这个web服务有漏洞,不要引起恐慌。堡塔安全技术有限公司将持续关注此事,如有疑问请到 
https://www.bt.cn/bbs/ 论坛发帖 
 |   
 
 
 
 
 |