xz-utils 后门代码分析
内容提要
该文章分析了开源项目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日。
后门代码的隐蔽性是如何保持的?
攻击者使用复杂的实施方案,包括代码混淆和反调试技术,以保持后门的隐蔽性和兼容性。