zoukankan      html  css  js  c++  java
  • 【漏洞复现】之sudo提权漏洞(CVE-2019-14287)复现

    (本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦)

    该复现参考网络中的文章,该漏洞复现仅仅是为了学习交流,严禁非法使用!!!

    一、简介

    sudo:Linux系统命令,让普通账号以root身份去执行某些命令,如,安装软件、查看某些配置文件、关机、重启等操作,如果普通账号需要使用sudo需要修改配置文件/etc/sudoers,将sudo使用权限赋予该账号

    • sudo提权漏洞是一个安全策略绕过问题,去执行某些敏感的命令,CVE编号是CVE-2019-14287,影响的版本是:<1.8.28

    二、漏洞复现过程

    靶机:Ubuntu 18 x64系统

    1.查看sudo版本,并创建test用户

    1 sudo -V  查看sudo版本
    2 useradd test  添加test用户
    3 passwd test  为test用户设置密码

    2.修改sudo配置文件:在root ALL=(ALL:ALL) ALL下面添加一行配置test    ALL=(ALL,!root) ALL

    sudo gedit /etc/sudoers  使用文本编辑器打开sudo配置文件

    1 test    ALL=(ALL,!root) ALL
    2     test  表示test用户
    3     第一个ALL表示该用户可以在任意地方使用sudo
    4     第二个(ALL,!root)  表示命令可以被除了root以外的任意用户执行
    5     最后一个ALL  表示被允许执行
    • 整体表示:test用户可以使用sudo,以除了root以外的任意用户去执行命令

    3.切换到test用户,su test,然后进行测试

    sudo id  查看root用户的ID

    • 由上图可以看到,使用命令报错
    • 解决方法:sudo -u#数字 命令,其中数字是范围:-1~4294967295,命令是系统命令
    • 如果要以root身份去执行命令,数字使用-1或4294967295,至此漏洞复现成功!!
      • 命令中的数字是id号,可以在/etc/group中查看

    • 解释:使用 sudo -u#id 指定用户 id 去执行命令,由于可以指定id,所以可以使用-u#-1或者-u#4294967295绕过限制,从而以root身份去执行任意代码。这是因为 sudo 命令本身就已经以用户 ID 为0运行,因此当 sudo 试图将用户 ID 修改成-1时,不会发生任何变化。这就导致 sudo 日志条目将该命令报告为以用户 ID 为 4294967295而非 root (或者用户ID为 0)运行命令

    (解释来源于https://www.cnblogs.com/-mo-/p/11683402.html,很详细感谢!!!)

    三、总结:该漏洞复现比较鸡肋,需要管理员修改配置文件

    四、修复方法:更新sudo版本1.8.28

  • 相关阅读:
    把影响集中到一个点
    How to avoid Over-fitting using Regularization?
    适定性问题
    Numerical Differentiation 数值微分
    What Every Computer Scientist Should Know About Floating-Point Arithmetic
    Generally a good method to avoid this is to randomly shuffle the data prior to each epoch of training.
    What is the difference between iterations and epochs in Convolution neural networks?
    Every norm is a convex function
    Moore-Penrose Matrix Inverse 摩尔-彭若斯广义逆 埃尔米特矩阵 Hermitian matrix
    perl 类里的函数调用其他类的函数
  • 原文地址:https://www.cnblogs.com/yankaohaitaiwei/p/11688623.html
Copyright © 2011-2022 走看看