没有sXid,suid&sgid将进入险境!-尚文网络xUP楠哥

进Q群11372462领取专属报名福利!

#说在前面

众所周知,Linux系统下除了r 、w 、x 这几个基本权限之外,还有suid 、 sgid以及sticky这俗称特殊权限三兄弟的存在;那么这三个特殊权限的作用是什么,如下是对suid 、 sgid以及sticky的作用解释:

  • SUID权限:
    只能运用在可执行文件上,当用户执行该执行文件时,会临时拥有该执行文件所有者的权限。passwd命令启用了SUID功能,所以一般用户在使用passwd命令修改密码时,会临时拥有了passwd命令所有者root用户的权限。
  • SGID权限:
    SGID属性可以应用在目录或可执行文件上。当SGID属性应用在目录上时,该目录中所有建立的文件或子目录的拥有组都会是该目录的拥有组。比如/upwendir目录的拥有组是upwen,当/upwendir目录拥有SGID属性时,任何用户在该目录中建立的文件或子目录的拥有组都会时upwen;当SGID属性应用在可执行文件上时,其他用户在使用该执行文件时就会临时拥有该执行文件拥有组的权限。
  • Stikcy权限:
    Sticky属性只能应用在目录,当目录拥有Sticky属性所有在该目录中的文件或子目录无论是什么权限只有文件或子目录拥有者和root用户能删除。
    那么,以上三种权限虽然被称为特殊权限,但其实自身也存在安全风险和隐患,接下来,我们列举bash命令通过赋予suid特殊权限进行提权的场景,Let 's go ! ! !

#一次SUID/SGID提权案例

我们新建一个upnange的普通用户,并且通过对bash命令赋予suid(chmod u+s)权限:
没有sXid,suid&sgid将进入险境!-尚文网络xUP楠哥_第1张图片
接下来,我们通过执行bash -p进行提权操作,这时upnange用户可以很随意的查看/etc/shadow文件:
没有sXid,suid&sgid将进入险境!-尚文网络xUP楠哥_第2张图片

#使用sXid监控蠢蠢欲动的SUID/SGID

##sXid定义

SUID/SGID文件可能存在安全隐患。 为了降低风险,我们之前已经从root拥有的程序中删除了s位,这些程序不会绝对需要这种特权,但是未来和现有的文件可能会在没有通知的情况下启用这些s位。
sXid是一个多合一的 suid/sgid监控程序,旨在定期从 cron运行。 基本上它会跟踪您的 s[ug]id 文件和文件夹中的任何更改。 如果有任何新的、不再设置的、或者它们已更改位或其他模式,则它会通过电子邮件或命令行以易于阅读的格式报告更改。sXid将自动执行任务以在您的服务器上查找所有 SUID/SGID 并将它们报告。

##sXid安装

源码包方式安装sXid。
没有sXid,suid&sgid将进入险境!-尚文网络xUP楠哥_第3张图片
安装完成后,sXid对应的程序安装路径为/usr/local/bin/sxid
没有sXid,suid&sgid将进入险境!-尚文网络xUP楠哥_第4张图片

##sXid配置

我们需要将配置文件放在/usr/local/etc/目录下:
在这里插入图片描述可以修改配置文件中,把EMAIL=“root”改为需要的用户。
在计划任务中加入如下的内容,这样根据计划任务可以周期性的去检查Linux系统的suid | sgid的文件的变化:
没有sXid,suid&sgid将进入险境!-尚文网络xUP楠哥_第5张图片
配置好后进行手动检查
在这里插入图片描述

#说在最后

这一次,我们通过了解通过bash提权suid&sgid场景,基于sXid监控Linux系统的uid&sgid,这些都是我们成为Linux大神的必备基础技能;UP楠哥先帮小伙伴们支棱到这里,后面通过大家伙使用的反馈,欢迎小伙伴们加群11372462,交流IT行业发展和知识,感觉这篇文章有用,也可以求个关注CSDN,关注UPWEN的公众号。UP楠哥持续输出最纯粹的IT行业发展和知识!

你可能感兴趣的:(linux,bash,运维)