vlambda博客
学习文章列表

Log4j2复现修复利用



本文由Scynull编译,校对,转载请注明。
 免责申明


        归零安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
        本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!


01


漏洞描述



         2021 年 11 月 24 日,阿里云安全团队向 Apache 官方报告了 Apache Log4j2 远程代码执行漏洞,在 12 月 9 日被国外有人公开 POC,从而导致了一波安全从业人员的疯狂运动,甲方安全从业者加班加点修复漏洞;白帽子们疯狂扫描漏洞并提交 SRC,一度导致一些 SRC 发布公告暂停接收相关漏洞;而黑灰产们已经在自己的挖矿勒索武器库上增加了该漏洞的利用模块。为什么会这么疯狂?

        Apache Log4j2 是 Apache 的一个开源项目,Apache Log4j2 是一个基于 Java 的日志记录工具,使用非常广泛,被大量企业和系统索使用,漏洞触发及其简单,攻击者可直接构造恶意请求,触发远程代码执行漏洞。漏洞利用无需特殊配置


02


影响版本



2.0 <= Apache Log4j 2 <= log4j-2.15.0-rc1  目前为止已知如下组件存在漏洞:
Spring-Boot-strater-log4j2
Apache Struts2v
Apache Solr
Apache Flink
Apache Druid
ElasticSearch
Flume
Dubbo
Redis
Logstash
Kafka
vmvare 

03


紧急补救措施


  1. 设置jvm参数 -Dlog4j2.formatMsgNoLookups=true

  2. 设置log4j2.formatMsgNoLookups=True

  3. 设置系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 为 true

  4. 采用 rasp 对lookup的调用进行阻断。

  5. 采用waf对请求流量中的${jndi进行拦截。

  6. 禁止不必要的业务访问外网。


04


检测方案


  1. 建议企业可以通过流量监测设备监控是否有相关 DNSLog 域名的请求.

  2. 建议企业可以通过监测相关流量或者日志中是否存在“jndi:ldap://”、“jndi:rmi”等字符来发现可能的攻击行为。


05


修复方案


检查所有使用了 Log4j 组件的系统,并尽快升级到最新的 log4j-2.15.0-rc2 版本

官方修复链接:
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc1

06


复现靶场




Log4j2复现修复利用


这里使用burp suite插件,直接使用POST协议随便上传个参数上去访问hello页面


Log4j2复现修复利用


Log4j2复现修复利用 

Log4j2复现修复利用 

Log4j2复现修复利用 

Log4j2复现修复利用 

Log4j2复现修复利用 

Log4j2复现修复利用


 然后用vps 起jndi 和nc监听 

Log4j2复现修复利用


这里根据自己jdk版本使用payload 

Log4j2复现修复利用


现在已经拿到shell,解题自己找下flag,提交就OK了。 


Log4j2复现修复利用


Log4j2复现修复利用




原文链接:
https://www.itmuzi.cc/16402408015027.html