【问题标题】:Log4Shell allows remote code execution. Could this be used to patch the vulnerability remotely?Log4Shell 允许远程代码执行。这可以用来远程修补漏洞吗?
【发布时间】:2022-01-17 16:17:45
【问题描述】:

当前的 log4shell 问题(著名的 CVE-2021-44228)为攻击者提供了一个向量,可以在易受攻击的面向互联网的机器上执行不受信任的代码。

这是否可以用来修补漏洞,方法是在目标机器上放置代码来修补易受攻击的库?

编辑:为了澄清这个问题,这只是针对技术问题,即是否可以通过这个 shell 访问向量远程修补正在运行的 Java 代码。

【问题讨论】:

  • 我想这在理论上是可能的。黑客在入侵并控制系统后修补漏洞,以避免将系统的控制权丢失给其他黑客,这当然不是闻所未闻的。

标签: security log4j monkeypatching


【解决方案1】:

似乎至少有一个概念验证级项目试图就地修补漏洞,因此在技术上是可行的:https://github.com/Cybereason/Logout4Shell

作者在blog post 中详细介绍了他们的方法,从中看来,exploit-fix-combination(他们称之为“疫苗”)也是他们公司的广告。评估时请记住这一点。

【讨论】:

    【解决方案2】:

    从法律上讲,这是一个明确的数字。
    由于您仍在未经所有者授权的情况下在您不拥有的系统上执行代码。尽管这样做的目的是防止恶意黑客攻击系统,但这种解决问题的方式仍然是非法的。

    从技术上讲,是的。
    正如您正确理解的那样,您可以完全控制执行任意代码的系统,包括安装“修复”。

    实际上,这取决于您希望如何实施修复,以及您是否找到可扩展的通用解决方案,以使用相同的方法“修复”不同的配置系统。
    更新库需要识别易受攻击文件log4j-core.jar 的位置并将其替换为固定版本,但是您还需要使用库重新启动服务,因为易受攻击的版本可能已经加载到内存中。磁盘上文件的更改不会反映在正在运行的程序中。
    文件和运行服务的位置会因系统而异,这使得实施通用解决方案变得更加困难。

    该漏洞利用已经 5 天公开报告的漏洞并且非常容易被利用。如果你还没有修补它,你可能已经被利用了。攻击者可能已经安装了另一个恶意软件,该软件能够在未来通过远程控制加载任何执行任何新代码,并且不再需要 log4j 漏洞利用。

    如果您还没有修复 log4j 漏洞,那么更新 log4j 已经不够了。您必须假设您的系统已经被休眠木马入侵,您应该重置整个系统以摆脱它。

    我的建议是不要这样做。尝试联系系统所有者,告诉他们更新和重置整个系统。

    【讨论】:

    • 我的问题不是针对问题的法律或实际方面,我也没有问我是否应该这样做或者这是否有任何好处.我只是对可行性感到好奇。为了清楚起见,也许我应该重新表述我的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-04
    • 1970-01-01
    • 2018-12-11
    • 1970-01-01
    相关资源
    最近更新 更多