Linux提权-suid提权

0x1 suid概念

通俗理解为其他用户执行这个程序是可以用该程序所有者/组的权限

0x2 suid提权

简单理解为,一个文件有s标志(权限中包含s),并且对应的是root权限,那么当运行这个程序时就有root权限,且这个程序还能执行命令。此时就能从普通用户提升到root权限了。

0x3 常见可用suid提权的命令

0x4 查找特权文件命令

具体来说,这些命令将尝试查找具有root权限的SUID的文件

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 {} \;

0x5 详细介绍

1 nmap

  老版nmap(2.02-5.21)具有交互模式,允许用户执行shell命令。由于Nmap在使用root权限执行的二进制文件列表中,因此可以使用交互式控制台来运行具有相同权限的shell。

交互模式可以通过执行Nmap参数" interactive ": nmap --interactive

以下命令将提供一个提升的shell:

  nmap>!sh

  sh-3.23#whoami

  root

msf中也有相关的模块:exploit/unix/local/setuid_nmap

2 find

如果find以SUID权限运行,所有通过find执行的命令都会以root权限运行。

3 vim

Vim是Linux环境下的一款文件编辑器。如果vim以SUID运行,就会继承root用户的权限,可以读取系统中所有的文件

4 bash

5 less/more

原文地址:https://www.cnblogs.com/appear001/p/12059158.html

时间: 2024-08-27 22:57:12

Linux提权-suid提权的相关文章

设置SUID用于提权或降权

一.基础介绍 刚看了马哥的视频介绍SUID说,当为可执行文件设置SUID并当其转换为进程后,该进程的所属主为原程序文件的属主,以原程序文件属主的身份进行操作,该特殊权限可以用于提权或降权.SUID典型的应用就是passwd命令,使用此命令普通用户也能以root的身份去读写shadow文件. 二.提权 使用SUID提权,准确的说应该是制作后门,当为cat.vim.nano甚至nmap设置SUID后,即可拥有root的权限,示例: 使用普通用户读取shadow文件 1.copy命令到/tmp下,用于

提权系列(一)----Windows Service 服务器提权初识与exp提权,mysql提权

一.初识提权 很多时候我们入侵一个网站的时候,想要的是得到这个服务器的权限,也就是admin权限,但是一般默认得到的是普通用的地权限,权限很小,所以就要通过其他手段,提升自己的权限. 提权是将服务器的普通用户提升为管理员用户的一种操作,提权常常用于辅助旁注攻击. 下面我们来了解下window的权限(来自百度百科): Windows 提供了非常细致的权限控制项,能够精确定制用户对资源的访问控制能力,大多数的权限从其名称上就可以基本了解其所能实现的内容. " 权限"(Permission)

linux特殊权限SUID、SGID、SBIT

linux特殊权限SUID.SGID.SBIT 一.SUID 我们先来看一个文件,如下: [[email protected] ~]# ll /usr/bin/passwd -rwsr-xr-x. 1 root root 25980 2月  22 2012 /usr/bin/passwd 可以看到/usr/bin/passwd这个文件状态是"-rwsr-xr-x",而不是我们平时所熟悉的"-rwxr-xr-x",那么当s出现在文件拥有者的x权限上时,此时就被称为SE

树链剖分2——边权改点权

实验对象——2013 noip day1 T3 本来可以直接用倍增lca解决..但是我比较的扯淡..所以用树链剖分来搞 和普通点权不同的是,对于一颗树来说,每一个点的点权被定义为他的父亲到他的边权,所以与一般的树链剖分相比,最后统一到一条链上时,线段树维护的一边端点要加1..其他的就没了.然后注意往上跳的时候的比较时dep[un[a]] 和 dep[un[b]] 不是dep[a] dep[b]; #include <iostream> #include <cstdio> #incl

D. Powerful array 离线+莫队算法 给定n个数,m次查询;每次查询[l,r]的权值; 权值计算方法:区间某个数x的个数cnt,那么贡献为cnt*cnt*x; 所有贡献和即为该区间的值;

D. Powerful array time limit per test 5 seconds memory limit per test 256 megabytes input standard input output standard output An array of positive integers a1,?a2,?...,?an is given. Let us consider its arbitrary subarray al,?al?+?1...,?ar, where 1?

2014湘潭全国邀请赛I题 Intervals /POJ 3680 / 在限制次数下取有权区间使权最大/小问题(费用流)

先说POJ3680:给n个有权(权<10w)开区间(n<200),(区间最多数到10w)保证数轴上所有数最多被覆盖k次的情况下要求总权最大,输出最大权. 思路:       限制的处理:s-->开始流量为k,要求总权最大,即费用最大,所以费用取负,最小费用最大流即可.对于输入区间[a,b]:w,添加边:a-->b,流量为1,费用为-w. 对于点i,i+1,添加边,费用为0,流量无穷.显然这种处理,限制了区间最多取k次,(流量控制),跑最大流能走添加的边尽量走,且越大越好(负数刚刚是

Linux特殊位SUID、SGID、SBIT

Linux特殊位SUID.SGID.SBIT 前言 Linux中的文件权限一般有x.w.r,在某个情况下有需要用到s.t,即特殊位. 进程运行时能够访问哪些资源或文件,不取决于进程文件的属主属组,而是取决于运行该命令的用户身份的uid/gid,以该身份获取各种系统资源. SUID SUID即setuid,作用就是让执行该命令的用户,以该命令的拥有者的权限去执行,比如普通用户执行passwd时会拥有root的权限: 例子: [syz@m01 ~]$ ll /usr/bin/passwd-rwsr-

D. Happy Tree Party CodeForces 593D【树链剖分,树边权转点权】

Codeforces Round #329 (Div. 2) D. Happy Tree Party time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output Bogdan has a birthday today and mom gave him a tree consisting of n vertecies. For every

Linux用户切换与提权

大多数Linux服务器并不建议用户直接以root用户进行登录.一方面可以大大减少因失误操作而导致的破坏,另一方面也降低了特权密码在不安全的网络中被泄露的风险.鉴于这些原因,需要为普通用户提供一种身份切换或权限提升机制,以使在必要的时候执行管理任务. Linux系统提供了su sudo二种命令,其中su命令用来切换用户,sudo命令用来提升权限. PAM 在su命令之前,需要先了解pam,Linux系统使用su命令存在安全隐患,默认情况下,任何用户都容许使用su命令,从而有机会反复尝试其他用户的登