iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux系统中掩耳盗铃的sudo配置
  • 362
分享到

Linux系统中掩耳盗铃的sudo配置

掩耳盗铃系统Linux 2022-06-04 21:06:45 362人浏览 泡泡鱼
摘要

今天在这里讨论linux系统中一个非常滑稽的系统配置失误,就是sudo,为什么说是滑稽的配置呢,就是因为如果配置不当的话,普通用户非常容易就可以提权到root用户,而且没有一点技术含量,系统管理员自己以为

今天在这里讨论linux系统中一个非常滑稽的系统配置失误,就是sudo,为什么说是滑稽的配置呢,就是因为如果配置不当的话,普通用户非常容易就可以提权到root用户,而且没有一点技术含量,系统管理员自己以为已经做好了权限管理,其实如果配置不当,权限漏洞已经出现。

  很多公司Linux系统都会用到sudo来配置普通用户可以执行的超级用户权限,一是为了系统管理员更安全操作系统,二是可以为研发人员提供可控的权限范围,下面就看一下我们在系统中常见的sudo配置文件。

admin ALL=(ALL) NOPASSWD: /app/Nginx/sbin/nginx

  这一段配置文件显示admin用户可以通过sudo来调用root权限启动nginx,相信这也是经常使用sudo的功能之一,因为如果nginx启动的是80端口的话,普通用户是无法启动的,因为系统限制了1024以下的端口监听只有root权限才可以操作,问题大多出现在这个sbin目录下的nginx可执行文件上,因为我们既然要将nginx的管理权限交付给普通用户admin,那么大部分情况是nginx的所有文件权限所属用户及组也都为admin,就像下面显示的这样。

[admin@localhost sbin]$ ll

总用量 3004-rwxr-xr-x 1 admin admin 3066035 9月  10 2014 nginx

  但是如果sbin目录下的nginx文件权限也为admin用户,而此时该文件还在sudo权限配置中,那么问题就来了,admin用户可以将系统任意命令copy过来变成nginx文件,到这里大家应该知道潜在的风险是有多大了,只要是任何命令文件admin用户有只读权限,那么就可以把文件变成nginx,随意以root身份执行该命令,因为sudo只关心执行的文件名,而不关心文件内容本身,如果此时admin用户需要提权到root用户下也很简单,只要将系统的vi命令copy到sbin目录下并重命名为nginx,当文件替换后,此时的nginx文件就变成了系统的vi命令,如果admin用户此时运行sudo nginx时就是以root用户的权限来执行vi动作了,例如用户执行sudo nginx /etc/sudoers,他就可以用root身份来编辑这个文件,从而给自己开放一个NO PASSWord ALL的权限,只要保存sudo配置文件,执行sudo su -就可以轻松切换到root权限中来了,而后再将被替换的nginx文件复原,此时用root权限就可以轻松留下系统后门,同时再清空操作记录,完成整个操作而不留痕迹,下面来总结一下admin提权需要的几步操作。

[admin@localhost ~]$ sudo -l用户 admin 可以在该主机上运行以下命令:

(ALL) NOPASSWD: /app/nginx/sbin/nginx

[admin@localhost ~]$ which vi

/bin/vi

[admin@localhost ~]$ cp /bin/vi /app/nginx/sbin/nginx

[admin@localhost ~]$ sudo /app/nginx/sbin/nginx /etc/sudoers   //注意此时已经是调用root权限vi编辑sudoers文件了

[admin@localhost ~]$ sudo -l用户 admin 可以在该主机上运行以下命令:

    (ALL) NOPASSWD: ALL

[admin@localhost ~]$ sudo su - root

[root@localhost ~]#   //用户成功切换到root权限

  避免这样的问题发生其实也很简单,就是将我们需要执行的文件所属权限都改为root即可,这样普通用户就没有办法用copy的方法来改写这个文件,因为他对于该文件已经没有操作权限了,从而也就规避了这种提权风险。

  最后提一下发现这个配置问题的过程,在很早刚开始负责运维工作时,那个时候还是在一家传统互联网企业,甲方对于权限的控制非常严格,对于系统操作人员只提供普通用户权限,如果普通用户需要操作apache或者是nginx等就需要配置sudo,由于申请root权限的流程非常繁琐,在一次非常紧急的系统故障处理中就发现了这个方法,而当时的sudo可执行文件就存在权限所属的问题,最终提权成功了,不过这种方法还是不鼓励大家去做哈,如果在生产系统中发现有这样的问题,应该及时更新修复,避免由于权限泄漏导致的更多问题。

--结束END--

本文标题: Linux系统中掩耳盗铃的sudo配置

本文链接: https://www.lsjlt.com/news/18537.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux系统如何配置sudo
    本篇内容介绍了“Linux系统如何配置sudo”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  很多公司Linux系统都会用到sudo来配置...
    99+
    2023-06-09
  • Linux系统中su和sudo命令的用法
    这篇文章主要介绍“Linux系统中su和sudo命令的用法”,在日常操作中,相信很多人在Linux系统中su和sudo命令的用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux系统中su和sudo命令...
    99+
    2023-06-12
  • Linux系统中如何配置DNS
    本篇内容主要讲解“Linux系统中如何配置DNS”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中如何配置DNS”吧!运行环境redhat 9.0 ,IP地址172.18.121.3...
    99+
    2023-06-12
  • Linux系统中sftp如何配置
    这篇文章给大家分享的是有关Linux系统中sftp如何配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。sftp简介:如果说 FTPS 是在 FTP 协议上增加了一层 SSL ,那么 SFTP 就是是基于网络协议...
    99+
    2023-06-28
  • Linux系统中怎么配置ADSL
    这篇文章主要为大家展示了“Linux系统中怎么配置ADSL”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux系统中怎么配置ADSL”这篇文章吧。安装ADSL在linux环境下,是通过rp-...
    99+
    2023-06-28
  • Linux系统中怎么配置SNMP
    Linux系统中怎么配置SNMP,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在Debian或Ubuntu上配置SNMP要在基于Debian的系统上安装SNMP...
    99+
    2023-06-12
  • Linux系统中怎么配置jdk
    本篇内容主要讲解“Linux系统中怎么配置jdk”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中怎么配置jdk”吧!jdk简介:JDK   Java SE De...
    99+
    2023-06-28
  • 如何在Linux系统中配置openSSH
    这期内容当中小编将会给大家带来有关如何在Linux系统中配置openSSH,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。看到openSSH这个名字时肯定就会想到OpenSSH必然和SSH有关系,OpenS...
    99+
    2023-06-28
  • 在linux系统中如何配置QQ
    这篇文章主要介绍“在linux系统中如何配置QQ”,在日常操作中,相信很多人在在linux系统中如何配置QQ问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”在linux系统中如何配置QQ”的疑惑有所帮助!接下来...
    99+
    2023-06-10
  • Linux系统中Fedora9安装和配置
    要在Linux系统中安装和配置Fedora 9,请按照以下步骤进行操作:1. 下载Fedora 9的ISO镜像文件。你可以从Fedo...
    99+
    2023-09-13
    Linux
  • Linux系统的DNS配置教程
    这篇文章主要讲解了“Linux系统的DNS配置教程 ”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统的DNS配置教程 ”吧!任务1:构建主域名服务器 任务2:构建辅助域名服务器 ...
    99+
    2023-06-13
  • android应用中怎么设置系统铃声与音量的大小
    android应用中怎么设置系统铃声与音量的大小?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。通过程序获取android系统手机的铃声和音量。同样,设置铃声和音...
    99+
    2023-05-31
    android roi
  • Linux系统中jdk环境怎么配置
    这篇文章主要介绍“Linux系统中jdk环境怎么配置”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux系统中jdk环境怎么配置”文章能帮助大家解决问题。如下操作步骤为linux系统中部署jdk...
    99+
    2023-07-05
  • Linux系统中如何安装配置pytorch
    这篇“Linux系统中如何安装配置pytorch”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“Linux系统中如何安装配置pytorch”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的...
    99+
    2023-06-28
  • Linux系统中如何安装配置PHP
    这篇文章主要为大家展示了Linux系统中如何安装配置PHP,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“Linux系统中如何安装配置PHP”这篇文章吧。Linux系统如何安装配置PHP?PHP是一...
    99+
    2023-06-28
  • Linux系统中Tomcat环境配置方式
    目录1.下载tomcat 安装包2.上传tomcat安装包并解压3.配置环境变量4.输入 I 键5.复制配置信息6. 按 Esc 键7.验证tomcat是否安装成功 (默认是8080端口)8.如图tomcat启动成功总结...
    99+
    2023-04-07
    Linux Tomcat环境 Linux配置Tomcat环境 Linux配置Tomcat
  • Linux系统中jdk环境配置方式
    目录1.下载jdk安装包 3.上传jdk安装包到linux4.解压jdk安装包5.6.验证是否配置jdk成功总结如下操作步骤为linux系统中部署jdk环境 1.下载jdk安装包  jdk官网下载地址...
    99+
    2023-04-07
    Linux配置jdk环境 jdk环境配置 Linux jdk环境
  • Linux系统中如何安装配置Kafka
    这篇文章主要为大家展示了Linux系统中如何安装配置Kafka,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“Linux系统中如何安装配置Kafka”这篇文章吧。Linux系统安装配置Kafka具体...
    99+
    2023-06-28
  • Linux系统中Tomcat环境怎么配置
    本文小编为大家详细介绍“Linux系统中Tomcat环境怎么配置”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux系统中Tomcat环境怎么配置”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。如下操作步骤为...
    99+
    2023-07-05
  • 在linux系统中安装配置phpmyadmin的方法
    这篇文章主要介绍在linux系统中安装配置phpmyadmin的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、安装phpMyAdmin图形化管理工具在Linux 操作系统下安...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作