xz-utils 后门代码分析

💡 原文中文,约11200字,阅读约需27分钟。
📝

内容提要

该文章分析了开源项目xz-utils存在的后门漏洞,通过供应链攻击劫持sshd服务的身份认证逻辑,实现认证绕过和远程命令执行。后门目标定向至sshd服务,利用liblzma5依赖于libsystemd0的关系构建后门。详细分析了后门代码的植入和安装工程,以及后门代码的执行流程和攻击意图。后门漏洞影响范围包括多个主流Linux发行版。

🎯

关键要点

  • 开源项目xz-utils存在后门漏洞,编号CVE-2024-3094。

  • 后门通过供应链攻击劫持sshd服务的身份认证逻辑,实现认证绕过和远程命令执行。

  • 后门目标定向至sshd服务,利用liblzma5与libsystemd0的关系构建后门。

  • 攻击者在Github上潜伏近两年,最终获得xz-utils仓库的维护权限。

  • 后门代码植入过程分为编译环节、sshd启动环节和后门生效环节。

  • 后门代码通过复杂的实施方案保持隐蔽性和兼容性。

  • 攻击者通过修改编译脚本将后门代码隐藏在xz-utils源码中。

  • sshd服务启动时间接加载liblzma5.so库,实现对RSA_public_decrypt()函数的劫持替换。

  • 后门代码执行环节通过RSA_public_decrypt_hook()函数实现,攻击者可以执行任意命令。

  • 攻击者在代码混淆、反调试等方面表现出高水平的技术能力,值得进一步研究。

延伸问答

xz-utils的后门漏洞是如何被发现的?

该漏洞由微软工程师Andres Freund于2024年3月29日披露,编号为CVE-2024-3094。

攻击者是如何在xz-utils中植入后门代码的?

攻击者通过修改编译脚本,将后门代码隐藏在xz-utils源码中,并在编译时将其添加到liblzma5.so库中。

后门代码的执行是如何实现的?

后门代码通过劫持RSA_public_decrypt()函数实现,攻击者可以在身份认证成功后执行任意命令。

该后门漏洞影响了哪些Linux发行版?

后门漏洞影响了多个主流Linux发行版,包括Debian、Ubuntu、Fedora、CentOS、RedHat和OpenSUSE等。

攻击者在Github上潜伏了多久?

攻击者在Github上潜伏了近两年,最早的代码提交可以追溯到2022年2月7日。

后门代码的隐蔽性是如何保持的?

攻击者使用复杂的实施方案,包括代码混淆和反调试技术,以保持后门的隐蔽性和兼容性。

🏷️

标签

➡️

继续阅读