vlambda博客
学习文章列表

自主搭建log4j2命令执行漏洞靶场

春节前log4j2漏洞席卷,尝试玩转靶场;
奈何网上靶场皆约束具体漏洞触发参数、或者仅可本地执行攻击logger实例,故探索如何自行搭建tomcat+log4j2环境,营造真实的log4j2参数无差别攻击环境~
1
基础环境搭建

1. tomcat版本8.0.51
(http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.51/bin/apache-tomcat-8.0.51.tar.gz) 
2. tomcat日志扩展接口包
tomcat-juli.jar
tomcat-juli-adapters.jar
(http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.51/bin/extras/) 
3. log4j2版本2.3
log4j-core-2.3.jar
log4j-api-2.3.jar
log4j-1.2-api-2.3.jar
(http://www.apache.org/dist/logging/log4j/2.3/apache-log4j-2.3-bin.zip) 

2
log4j2配置文件定制化

4. 这一步骤是靶场的灵魂~ 新建Log4j2配置文件,更换tomcat默认日志输出组件为debug,保证参数无差别触发。

自主搭建log4j2命令执行漏洞靶场

3
log4j2组件引用

5. jar包
三个 log4j2 的jar包 和 tomcat-juli-adapters.jar放到 tomact 目录下的lib文件夹下
tomcat-juli.jar 替换tomcat目录下 bin 文件夹下的同名文件
6. 配置文件
删除或重命名tomact目录下conf文件夹下的logging.properties文件
log4j2.xml,放到tomcat目录下lib文件夹下

4
jndi命令执行实验测试

7. 打开tomcat部署的默认实例example,dnslog外带实验ok,可触发jndi命令执行。

自主搭建log4j2命令执行漏洞靶场

为了构建最新漏洞环境,需要注意修改log输出级别为debug。
这样的环境可以直接攻击,与真实环境无异,打破网上victim应用自己编写Logger实例的方法铺天盖地的垄断。
注:tomcat部署方法参考https://blog.csdn.net/tutian2000/article/details/81903924