该仓库包含一个针对 needrestart(CVE-2024-48990)漏洞的最小化本地权限提升利用程序。
该漏洞通过滥用 -c 配置选项允许以 root 身份执行任意 Perl 代码,该选项会在特权上下文中被解析和执行。
许多现有的权限提升利用程序需要编译自定义二进制文件、生成额外的 shell,或依赖交互式命令链。
此利用程序旨在避免这些要求,提供一种直接的本地权限提升技术,无需编译、无需额外工具,也不涉及交互式编辑器或分页器滥用。权限提升通过 needrestart 的特权配置执行创建 SUID-root shell 来实现。
needrestart 使用 Perl 实现,将以 root 权限将通过 -c 选项传入的配置文件作为 Perl 代码执行。
通过提供包含 system() 调用的特制配置文件,可以以 root 身份执行任意命令,从而导致本地权限提升。
运行利用程序:
python3 needrestart_privesc.py
如果用户被允许通过 sudo 执行 needrestart,该脚本将调用它并在 /tmp/bash 创建一个 SUID-root shell。如果 sudo 需要密码,则会正常提示输入。
成功执行后,将自动生成一个 root shell。
禁用自动 shell 生成:
python3 needrestart_privesc.py --no-shell
清理创建的工件:
python3 needrestart_privesc.py --cleanup
needrestart。此代码仅供教育和研究目的使用。