前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apache Log4j 远程代码执行漏洞批量检测工具

Apache Log4j 远程代码执行漏洞批量检测工具

作者头像
C4rpeDime
发布2022-04-19 12:57:41
1.1K0
发布2022-04-19 12:57:41
举报
文章被收录于专栏:黑白安全黑白安全

漏洞描述 由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。漏洞利用无需特殊配置,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响。影响版本Apache Log4j 2.x < 2.15.0-rc2影响范围 含有该漏

漏洞描述

     由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞漏洞利用无需特殊配置,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响。

影响版本

Apache Log4j 2.x < 2.15.0-rc2

影响范围

      含有该漏洞的Log4j影响到超过 6000个中间件或应用,目前已知的可能受影响的应用及组件包括但不限于如下清单中所列出的:

  • Spring-Boot-strater-log4j2
  • Apache Struts2
  • Apache Solr
  • Apache Flink
  • Apache Druid
  • ElasticSearch
  • Flume
  • Dubbo
  • Redis
  • Logstash
  • Kafka

验证过程

      靶场使用vulfocus的靶场,该靶场漏洞位置存在于/hello路径,漏洞验证过程使用burpsuite、JNDIExploit以及拥有公网ip的vps的服务器。

  1. 漏洞检测

    首先对vulfocus的靶场进行抓取数据包。

Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具  第1张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具 第1张

  然后进入存在漏洞的路径,使用POST请求尝试将请求dnslog地址,通过查看dnslog上的记录查看是否执行请求。 

Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具  第2张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具 第2张

    当前ceye.io没有数据,发送构造好的POST包后,dnslog将会出现对应的解析记录。

Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具  第3张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具 第3张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具  第4张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具 第4张

说明漏洞存在。

2.命令执行

      首先将payload进行base64编码(注意 在注入中 需要将base64加密后的+进行url编码 ,Burpsuite需要二次url编码)。

Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具  第5张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具 第5张

    使用靶机可远程访问的服务器,开启能够执行恶意命令的ldap服务器,这里使用JNDIExploit,JNDIExploit具体使用参数如下图。

Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具  第6张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具 第6张

工具使用

Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具  第7张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具 第7张

该工具从InScan专业版分离,包含漏洞验证功能与漏洞利用功能,在利用漏洞时候需要在公网IP上部署一个JNDI恶意服务(https://github.com/feihong-cs/JNDIExploit)

参数如下图,填入LDAP地址框,然后再使用公网IP监听端口来反弹shell。

Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具  第8张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具 第8张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具  第9张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具 第9张

    当然InScan专业版也集成了dnslog与自动化反弹shell功能,可全自动检测和利用 Log4j2远程代码执行漏洞,通过Log4j2自动内网横向移动。

Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具  第10张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具 第10张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具  第11张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具 第11张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具  第12张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具 第12张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具  第13张
Apache Log4j 远程代码执行漏洞批量检测工具 漏洞检测工具 Apache Log4j 安全工具 第13张

工具下载

    https://github.com/inbug-team/Log4j_RCE_Tool

排查方法

    在应用内部搜索log4j-core-*.jar以及log4j-api-*.jar两个关键字,查看其版本是否在受影响的版本范围中,同时查看其pom.xml文件内部的版本号进行二次确认。也可以通过查看内部JAVA源代码库中所引入的组件清单列表来确认是否引入了Apache Log4j 2.x的Jar包。

修复建议

1、升级Apache Log4j2所有相关应用到最新的 log4j-2.15.0-rc2 版本,地址 https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2

2、升级已知受影响的应用及组件,如srping-boot-strater-log4j2、Apache Solr、Apache Flink、Apache Druid

文由InBug实验室

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.命令执行
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档