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()函数实现,攻击者可以执行任意命令。
  • 攻击者在代码混淆、反调试等方面表现出高水平的技术能力,值得进一步研究。
➡️

继续阅读