固件分析:suid_file插件

本文介绍了Linux系统中SUID和GUID这两种特殊权限的概念及应用。SUID允许其他用户以文件所有者的身份运行可执行文件,而GUID则允许其他组成员以文件所属组的身份运行。文章还展示了如何通过chmod命令设置这些权限,并提供了使用find命令查找具有SUID或GUID的文件的方法。

文件中除了普通的读、写、执行权限外,还有一些特殊的权限,我们可以使用 chmod和chown命令来设置。 他们分别是SUID, SGID, Stricky Bit, ACL's, SUDO and SELinux 等,管理员可以使用这些命令管理文件/文件夹。

Linux系统文件的附加权限,通常这些权限被称为”特殊权限”,并且会演示如何查看含有SUID或GUID的文件。

一、什么是SUID和GUID?

SUID(Set owner User ID up on execution),是让 可执行文件的其它用户可以同文件属主用户一样高效执行文件的一种特殊权限,不同于通常的文件执行权限”x”,你会看到文件特殊的权限(指示SUID)。

166f7bec323d4536ac96ead10d79a643.png

GUID是让 可执行文件的其它组用户可以同文件属组用户一样高效执行文件的一种特殊权限,不同于通常的文件执行权限”x”,你会看到文件特殊的组权限(指示GUID)。

二、设置SUID

chmod u+s filename   设置SUID位
chmod u-s filename   去掉SUID设置

三、如何使用 find 命令来查看文件的SUID和GUID

命令:

 find directory -perm /permissions

需要指出的是,某些目录(例如/etc, /bin, /sbin等)需要root权限才能访问,如果以普通用户执行该命令,需要使用”sudo”来获取root权限。

3.1、查看SUID

    以下命令将查找当前目录下所有SUID的文件,使用-perm参数并使用4000选项。

find . [-user root] -perm /4000

7f1b5f5742304ea590ac67b8d2de40e0.png

    当然,可以使用ll -a命令来显示文件的详细信息。

6099e69593454830ab724e842005da41.png

3.2、查看GUID

    以下命令将查找当前目录下所有SUID的文件,使用-perm参数并使用4000选项。

find . -perm /2000

b0e45d434dea4691a5d8c82aa57e5079.png

如果想查看所有具有SUID或GUID的文件,那么使用如下命令:find . -perm /6000

四、python实现

    # 获得suid文件
    def get_suid_file(self, pathlib_object_in):
        """
        pathlib_object_in:unpack_path + celery_id + id,比如/unpack/d03ae078-2009-4e8b-a435-542c29b68d2c/89fcd2bbbbdafbfd5226e12289c097a66058530b6312786907b7cc999b7ceeda/
        """
        output = execute_shell_command("find \"{}\" -perm -4000 -print 2>/dev/null".format(str(pathlib_object_in)))
        # 有结果
        if output != "":
            # 替换路径,分割字符
            self.suid_file = output.replace(str(pathlib_object_in), "").split("\n")
            # 删除最后一个空字符
            self.suid_file.pop(-1)

数据库中:固件ICR-2431 icr-243x.zip(89fcd2bbbbdafbfd5226e12289c097a66058530b6312786907b7cc999b7ceeda)的suid_file:

9d29333df29c4b4aadef41f4110e648a.png

执行指令:

find "/nas/podding_unpack/d03ae078-2009-4e8b-a435-542c29b68d2c/89fcd2bbbbdafbfd5226e12289c097a66058530b6312786907b7cc999b7ceeda/" -perm -4000 -print 2>/dev/null  

2f797bb9ccc64e85b3d702456d0a401e.png

 

五、参考

linux suid命令,Linux系统如何查看文件SUID和SGID_是风让郁金香歌唱的博客-优快云博客  

什么是SUID?在Linux/Unix中如何设置SUID - 走看看   

简谈SUID提权 - 知乎

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值