已发现Linux sudo命令中的漏洞,该漏洞可能允许非特权用户以root用户身份执行命令。幸运的是,此漏洞仅在非标准配置中有效,并且大多数Linux服务器不受影响。

在获得此漏洞之前,重要的是要掌握一些有关sudo命令如何工作以及如何进行配置的背景信息。

在Linux操作系统上执行命令时,非特权用户可以使用sudo(超级用户身份)命令以root用户身份执行命令,只要它们已被授予权限或知道root用户的密码即可。

sudo命令还可以配置为允许用户通过向/ etc / sudoers配置文件添加特殊指令来以其他用户身份运行命令。

例如,以下命令允许用户`test`以root身份以外的任何用户身份运行/ usr / bin / vim和/ usr / bin / id命令。test ALL = (ALL, !root) /usr/bin/vimtest ALL = (ALL, !root) /usr/bin/id

为了使“ test”用户执行上述命令之一,他们将使用带有-u参数的sudo命令来指定运行用户。例如,以下命令将以vibleing-test用户身份启动vim。sudo -u bleeping-test vim

在Linux中创建用户时,将为每个用户分配一个UID。如下所示,用户“ test”的UID为1001,“ bleeping-test”用户的UID为1002。

启动sudo命令时,用户可以使用这些UID代替用户名。例如,下面的命令将再次以“测试”的形式启动VIM,但这一次是通过提供用户的UID来启动的。sudo -u#1002 vim

sudo漏洞

苹果安全研究员Joe Vennix发现了一个错误,该错误允许用户通过在sudo命令中使用-1或4294967295UID以root用户身份启动允许的sudo命令。

例如,即使在/ etc / sudoers文件中明确拒绝了“ test”用户,以下命令也可以利用该错误以root身份启动/ usr / bin / id用户。sudo -u#-1 id

下面说明了如何将这个错误与/ usr / bin / id命令一起使用以获取root特权。

尽管此错误功能强大,但重要的是要记住,只有通过sudoers配置文件为用户提供了对命令的访问权限,它才能起作用。如果不是这样,并且大多数Linux发行版默认情况下都没有,那么此错误将无效。

发起攻击

为了真正利用此漏洞,用户需要为能够启动其他命令的命令配置一个sudoer指令。

在上面的示例sudoers指令中,我们有这样的命令;VIM命令!test ALL = (ALL, !root) /usr/bin/vim

在VIM中,用户可以使用:!启动另一个程序。命令。例如,如果在VIM中,您可以输入!ls以ls在当前文件夹中执行命令。

如果我们使用sudo -u#-1 vim命令利用此漏洞,则VIM将作为root启动。然后可以通过执行!whoami命令来确认。

既然VIM是作为root启动的,那么从该VIM执行的所有命令也将作为root运行。

这可以很容易地用于启动根外壳程序,然后可以在受感染的系统上执行所需的任何命令。下面的视频说明了这种攻击。

尽管此错误显然很强大,但仍只能在不会影响绝大多数Linux用户的非标准配置下使用。

对于确实为用户使用sudoers指令的用户,应尽快升级到sudo 1.8.28或更高版本。

linux用户的vim命令无效,Linux SUDO Bug可让您以root用户身份运行命令,大多数命令不受影响...相关推荐

  1. ubutu14.04无法使用sudo,也无法切换到root用户去解决问题怎么办?

    ubutu14.04无法使用sudo,也无法切换到root用户去解决问题怎么办? 参考文章: (1)ubutu14.04无法使用sudo,也无法切换到root用户去解决问题怎么办? (2)https: ...

  2. 用系统某一用户的的身份运行某一命令

    1.在控制台中以某个用户的身份运行一条命令可以用  su -c "command" user  转载于:https://blog.51cto.com/10718348/171114 ...

  3. linux vim 命令无效,Linux vim 命令 command not found vim 命令详解 vim 命令未找到 vim 命令安装 - CommandNotFound ⚡️ 坑否...

    显示行号 | 选择喜欢的代码风格 默认 GitHub Dune LakeSide Plateau Vibrant Blue Eighties Tranquil Vim(ViImproved)编辑器是功 ...

  4. linux man命令无效,Linux man命令的具体使用

    01. 命令概述 Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可. 同时也可以使用man man 查看man的使用方法. 02. 命令格式 man [ ...

  5. linux进入了vim强制退出,linux中的vim编辑器怎么强制退出

    linux中的vim编辑器怎么强制退出 发布时间:2020-07-02 15:31:10 来源:亿速云 阅读:176 作者:元一 linux中的vim编辑器怎么强制退出?很多新手对此不是很清楚,为了帮 ...

  6. PowerShell 以管理员身份运行 cmd(命令行窗口),或其他程序

    PowerShell窗口中,以管理员身份,打开命令行窗口 ■命令 start-process cmd -verb runas ■效果 ------------- ■扩展 cmd.exe只是写入了pat ...

  7. linux ps命令 无效,linux 如何检测是否有ps指令

    显示其他用户启动的进程(a) 查看系统中属于自己的进程(x) 启动这个进程的用户和它启动的时间(u) 使用"date -s"命令来修改系统时间 比如将系统时间设定成1996年6月1 ...

  8. linux下iostat命令无效,linux iostat命令详解

    iostat iostat用于输出CPU和磁盘I/O相关的统计信息. 命令格式: iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ devic ...

  9. linux at命令无效,linux at命令

    在使用linux系统的时候我们有时候需要在特定的的时间执行某项个工作,这个时候我们可以使用at命令,接下来吾爱编程为大家详细的介绍一下at命令的使用方法,有需要的小伙伴可以参考一下: 1.at介绍: ...

最新文章

  1. 西藏监狱首次奏响《婚礼进行曲》
  2. O(n)线性构造后缀树详解(一)
  3. python elasticsearch 更新后刷新
  4. 磁盘基准测试Bonnie++
  5. 两张超级大表join优化
  6. 那个在轮胎上考了99分的孩子拒绝再上网课
  7. 利用NavicatPremium把Oracle迁移到MySQL
  8. hdu4091(暴力)
  9. 【leetcode❤python】 9. Palindrome Number
  10. 非常详细的Exchange 功能路线图
  11. React开发(191):ant design中inputNumber格式化
  12. jsf2.0---jsf的新特性
  13. 喜乐美容美发管理系统 v20070625 加强版 下载
  14. 文件描述符表,打开文件表,索引节点表
  15. DVWA教程实践之Brute Force
  16. 5G关键技术之D2D
  17. 给大家推荐一个资源库https://www.awesomes.cn/
  18. 《读万卷书行万里路》国画大家罗建泉写生艺术
  19. 8年老码农现身说法:大龄程序员找工作,为什么这么难?
  20. 【入门到精通】❤️「Java工程师全栈知识路线」

热门文章

  1. success.ftlh与error.ftlh
  2. 【BZOJ3191】卡牌游戏,概率DP
  3. 【BZOJ2938】病毒,AC自动机练习
  4. 【BZOJ1087】【codevs2451】互不侵犯,状压DP
  5. 2017.6.12 crash的数字表格 思考记录
  6. startActivity流程(上)
  7. linux入门 适合初学者_【推荐】适合初学者临摹的国画|国画基础入门教学视频教程!...
  8. android gps 案例_GPS学习要点10
  9. 常见Java开发过程中遇到的问题及其解决办法
  10. 性能分析工作strace命令用法详解及使用例子