怎么在Linux利用Find-Perm命令精确检索系统中包含SUID权限的高危二进制

胖伟大大_5321

胖伟大大_5321

2026-07-05

912人浏览

原创

linux中查找suid文件应使用find -perm -4000,配合-type f筛选普通文件、-ls详细输出及2>/dev/null屏蔽错误;需重点检查/tmp等可疑路径,排除非root所有或包管理器未记录的异常suid二进制。

怎么在linux利用find-perm命令精确检索系统中包含suid权限的高危二进制

Linux 中没有 `find-perm` 命令,你提到的应是 `find` 命令配合 `-perm` 选项来查找具有 SUID(Set User ID)权限的文件。 SUID 权限(即权限位中的 `s`,如 `-rwsr-xr-x`)允许普通用户以文件所有者身份执行该程序。若高危二进制(如被篡改的 `sudo`、`passwd`、`find`、`bash` 等)被恶意设置 SUID,可能成为提权入口。因此,精准识别并审计这些文件非常关键。 以下是在 Linux 中**准确、安全、实用**地检索 SUID 二进制的方法:

使用 find -perm 精确匹配 SUID 位

推荐使用八进制模式 `-perm -4000`(带减号表示“包含该权限”,即文件必须有 SUID 位,其他位不限),这是最常用且可靠的写法:

find / -type f -perm -4000 -ls 2>/dev/null

说明:

  • `-type f`:只查普通文件,排除目录、设备、符号链接等干扰项
  • `-perm -4000`:匹配所有设置了 SUID 位的文件(`4000` 是 SUID 的八进制值;减号 `-` 表示“至少具备这些权限”)
  • `-ls`:以详细格式输出(含权限、所有者、大小、路径),便于人工判断
  • `2>/dev/null`:屏蔽 “Permission denied” 报错,避免结果刷屏

排除常见可信路径,聚焦可疑区域

系统默认 SUID 文件集中在 `/usr/bin/`、`/bin/`、`/usr/sbin/` 等目录,但攻击者常将恶意 SUID 二进制藏在 `/tmp`、`/dev/shm`、`/var/tmp` 或隐藏目录中。可针对性排查:

find /tmp /var/tmp /dev/shm /home -type f -perm -4000 -ls 2>/dev/null

注意:不要忽略 `/home` 下用户目录——尤其当存在共享服务器或弱口令账户时,攻击者可能上传自编译的 SUID shell。

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载

区分真实 SUID 与误报(如 capabilites 或非可执行文件)

仅靠 `-perm -4000` 可能返回非二进制文件(如 SUID 脚本,实际不生效)或被 capabilities 替代的程序(如新版 `ping` 使用 `cap_net_raw` 而非 SUID)。建议加过滤:

  • 确认是否为可执行文件:`-executable`(部分 find 支持)或用 `-name "*"` + 后续 `file` 检查
  • 快速验证是否为 ELF 二进制:`find / -type f -perm -4000 -exec file {} \; 2>/dev/null | grep "ELF.*executable"`
  • 检查是否被主流发行版认可:对比输出与 `/usr/share/doc/suid-list`(Debian/Ubuntu)或 `rpm -qf [path]`(RHEL/CentOS)

自动化筛查 + 高危特征标记(进阶建议)

对运维或安全响应场景,可编写简短脚本辅助判断异常:

find / -type f -perm -4000 2>/dev/null | while read f; do
  owner=$(stat -c "%U" "$f" 2>/dev/null)
  if [[ "$owner" != "root" ]]; then
    echo "[!] Non-root SUID: $f (owned by $owner)"
  elif ! rpm -qf "$f" >/dev/null 2>&1 && ! dpkg -S "$f" >/dev/null 2>&1; then
    echo "[?] Unknown SUID binary: $f"
  fi
done

该逻辑重点标记两类风险:

  • 非 root 拥有的 SUID 文件(极大概率异常)
  • 未被包管理器记录的 SUID 文件(可能是后门)
不复杂但容易忽略。关键是用对 `-perm -4000`,结合路径筛选和所有者/来源验证,才能把真正危险的 SUID 二进制从海量系统文件中揪出来。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3850

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3313

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2453

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5890

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5522

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3253

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2765

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2979

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习