LooneyPwner是一款针对Linux “Looney Tunables”漏洞的安全测试工具,该漏洞CVE编号为CVE-2023-4911,可以帮助广大研究人员针对各种Linux发行版中的“Looney Tunables”glibc漏洞执行安全检测,以判断目标Linux系统的安全态势。
LooneyPwner本质上是一个漏洞概念验证PoC工具,主要针对的是GNU C库(glibc)中的关键缓冲区溢出漏洞,该漏洞被称为“Looney Tunables”。由于目前各种Linux发行版中都存在这种类型的安全漏洞,将给Linux生态带来重大安全风险,其中还包括未经授权的数据访问和系统更改等等,因此我们开发出了LooneyPwner,以帮助广大研究人员识别Linux系统中的潜在安全风险,并提升操作系统的安全性能。
注意:目前官方已通过发布安全更新修复了该漏洞。
该漏洞被研究人员称为“Looney Tunables”,由于在处理 GLIBC_TUNABLES 环境变量时,glibc(GNU C 库)的动态加载器 ld.so 会发生缓冲区溢出,本地攻击者可利用 SUID 权限文件进行权限提升获取系统的root权限。目前此漏洞PoC已公开,请相关用户尽快采取措施进行防护。
glibc(GNU C 库)是 Linux 系统的基本组件,提供程序正常运行所需的基本功能和系统调用。程序启动时动态加载器会识别它所需的共享库,将它们加载到内存中并将它们与可执行文件链接。
未经授权的root访问权将允许恶意行为者实现下列不受限的操作:
1、修改、删除和窃取敏感信息;
2、安装恶意软件或植入后门程序;
3、将未被检测到的攻击行为持续性执行下去,甚至是横向移动;
4、导致数据泄漏,访问用户敏感数据和金融信息等;
5、破坏关键系统操作
2.34 <= glibc <= 2.38
Debian =12/13
Ubuntu=22.04/23.04
Fedora=37/38
Redhat>=8.5
Gentoo Linux< 2.37-r7
当前版本的LooneyPwner可以尝试在目标系统中扫描、检测和利用“Looney Tunables”漏洞,并针对存在安全问题的glibc库执行测试,其中包括:
1、检测已安装的glibc版本;
2、检查漏洞状态;
3、提供漏洞利用和安全测试选项;
广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/chaudharyarjun/LooneyPwner.git
(向右滑动,查看更多)
然后切换到项目目录中,给工具主脚本提供可执行权限后即可:
cd LooneyPwner
chmod +x looneypwner.sh
安装完成后,广大研究人员可以直接运行下列命令来尝试在目标系统中检测和利用“Looney Tunables”漏洞了:
./looneypwner.sh
如果你检测到了漏洞的话,别担心,目前主流Linux系统发行版已发布安全更新修复此漏洞,建议受影响的用户及时安装补丁进行防护:
Debian:https://security-tracker.debian.org/tracker/CVE-2023-4911
Ubuntu:https://ubuntu.com/security/notices/USN-6409-1
Fedora:https://lists.fedoraproject.org/archives/list/[email protected]/message/4DBUQRRPB47TC3NJOUIBVWUGFHBJAFDL
Gentoo Linux:https://security.gentoo.org/glsa/202310-03
Amazon Linux:https://alas.aws.amazon.com/AL2023/ALAS-2023-359.html
Redhat:https://access.redhat.com/security/cve/CVE-2023-4911
注:若无法立即更新且未启用安全启动功能,可以使用提供的SystemTap 脚本来缓解该问题。启用后,环境中使用 GLIBC_TUNABLES 调用的任何 setuid 程序都将立即终止。要调用 setuid 程序,用户必须取消设置或清除 GLIBC_TUNABLES envvar,例如`GLIBC_TUNABLES= sudo`。
本项目的开发与发布遵循GPL-3.0开源许可证协议。
LooneyPwner:https://github.com/chaudharyarjun/LooneyPwner