软链接提权的原理

低权限用户能够以 root 用户的权限执行某个脚本,该脚本中又使用到了诸如 chown 等命令修改文件的权限,且该文件又能够被低权限的用户所修改。因此低权限的用户可以删除该文件,然后创建一个同名的文件,但是这个文件是指向一个高权用户才能修改的文件,例如 /etc/passwd。这样在低权用户在执行命令的时候就能够修改 /etc/passwd 这个文件的权限了,这样就相当于低权限用户能够越权操作了。

实验验证

  • Linux上创建一个低权限用户 testuser,然后创建一个文件 sudotest,该文件的属主是 testuser

  • 创建一个脚本文件 test.sh,该脚本的属主是 testuser2testuser 有权限执行该脚本。 配置 sudo 免密切换执行,使得 testuser 能够免密切换到 root 执行 test.sh



  • 使用 root 用户在 /etc 目录下创建文件 zsudotest,然后切换到 testuser用户,删除 sudotest 文件,然后创建一个软链接指向 /etc/zsudotest



  • 执行脚本,可以看到脚本执行完成之后,本来是高权用户的文件/etc/zsudotest的属主被修改为了低权用户。



问题规避

针对这种提权的问题,我们可以有如下的方式来减少提权的风险:

  • 对于 chown 命令,我们使用的时候可以使用参数 -h,这样的话只会修改软链接这个文件的权限,不会修改链接到的文件的权限。
  • 如果还有其它的高危命令,比如 rmmv 这些命令,最好是能够切换到文件对应的用户,然后再执行操作

Linux sudo 提权之软链接攻击的更多相关文章

  1. Linux常见提权

    常见的linux提权 内核漏洞提权 查看发行版 cat /etc/issue cat /etc/*-release 查看内核版本 uname -a 查看已经安装的程序 dpkg -l rpm -qa ...

  2. 实战中的sudo提权漏洞的使用姿势(CVE-2021-3156)

    实战中的sudo提权漏洞的使用姿势 免责声明: 0x00 漏洞概述 0x01 漏洞原理 0x02 受影响版本 0x03 不受影响版本 0x04 漏洞复现(centos) 复现POC1: 复现POC2: ...

  3. 2019-10-16,sudo提权漏洞(CVE-2019-14287)实现

    sudo是linux系统命令,让普通账号以root身份执行某些命令,比如,安装软件,查看某些配置文件,关机,重启等,如果普通用户需要使用sudo需要修改配置文件,/etc/sudoers,将sudo使 ...

  4. [提权]sudo提权复现(CVE-2019-14287)

    2019年10月14日, sudo 官方在发布了 CVE-2019-14287 的漏洞预警. 0x00 简介 sudo 是所有 unix操作系统(BSD, MacOS, GNU/Linux) 基本集成 ...

  5. sudo 提权漏洞(CVE-2019-14287)复现 (10.16 第二十二天)

    sudo是Linux系统命令,让普通账号以root身份去执行某些命令,比,安装软件.查看某些配置文件.关机.重启等操作,如果普通账号需要使用sudo需要修改配置文件/etc/sudoers,将sudo ...

  6. sudo 提权漏洞(CVE-2019-14287)复现

    (该文参考网络他人资料,仅为学习,不许用于非法用途) 一.环境 1.sudo版本小于1.8.28的Linux系统 2.sudo 是Linux系统命令,让普通账号以root身份去执行某些命令,比如:安装 ...

  7. linux 全自动提权 exp perl脚本

    linux 全自动提权 exp perl脚本 作者: admin 日期: 2013/01/19发表评论 (0) 查看评论   国外流传过来的 地址 http://dl.packetstormsecur ...

  8. Linux下提权常用小命令

    有些新手朋友在拿到一个webshell后如果看到服务器是Linux或Unix操作系统的就直接放弃提权,认为Linux或Unix下的提权很难,不是大家能做的,其实Linux下的提权并没有很多人想象的那么 ...

  9. Ubuntu无法sudo提权,报当前用户不在sudoers文件中错误

    Ubuntu安装后默认root不能登陆系统,密码也是随机生成,其他用户使用root权限,可以使用sudo提权,前提是该用户在/etc/sudoers配置列表中. 但是有时用户名从/etc/sudoer ...

  10. ansible使用普通用户免密登陆+sudo提权

    前提:从ansible控制端使用test用户可以免密登陆所有被控制端,并且被控端test用户支持sudo提权 # ansible主机清单 cat /etc/ansible/hosts [online- ...

随机推荐

  1. 06 - react的类组件中的状态state render函数 this指向问题 事件绑定

    // 注册事件 import ReactDom from "react-dom" import { Component } from "react" // 类组 ...

  2. .NET高级调试 - 3.7对象检查

    简介 在大多数调试会话中,首先需要检查的项目就是分析应用程序的状态.在确认程序的问题是某种无效状态造成的,我们便需要分析程序是如何变成无效状态的.那么在分析过程中,需要为我们深入了解对象的各种审查方法 ...

  3. 59 张高清大图,带你实战入门 KubeSphere DevOps

    作者:运维有术星主 KubeSphere 基于 Jenkins 的 DevOps 系统是专为 Kubernetes 中的 CI/CD 工作流设计的,它提供了一站式的解决方案,帮助开发和运维团队用非常简 ...

  4. count(*)、count(1)哪个更快?面试必问:通宵整理的十道经典MySQL必问面试题

    一.你是如何理解Count(*)和Count(1)的? 这两个并没有区别,不要觉得 count() 会查出全部字段,而 count(1) 不会.所以 count() 会更慢,你觉得 MySQL 作者会 ...

  5. PHP中$GLOBALS和global的区别,简单了解符号表、zval

    前言 单位里有一套老代码,写了这么一个换库逻辑. function conn() { global $conn; if ($conn) { unset($conn); } $conn = mysqli ...

  6. C语言实战项目——学生试卷分数统计

    1.题目要求 作为教师,考试以后对试卷进行分析和研究是必须做的一项工作,假定某学校要求老师在考试之后填写的一个表格,并要求教师根据考试分数分布情况画出直方图.下面就来解决这个实际问题. 2.题目分析 ...

  7. 矩阵怪 - 2024全新矩阵产品,一键分发抖音,快手,视频号,B站,小红书!

    本方案面向谁,解决了什么问题 本方案主要面向C端客户,特别是那些在各大短视频平台(如小红书.抖音.视频号.快手.B站等)上进行内容创作和分发的个人用户.自由职业者.小型团队或企业.这些用户通常面临着在 ...

  8. OpenWRT/iStoreOS 不从头编译内核安装4G LTE网卡 Quectel EM05-CE记录

    我的机器是x86装了iStoreOS,有4G网卡Quectel EM05 https://www.quectel.com/cn/product/lte-em05 主要参考资料如下 https://ww ...

  9. 通向架构师的道路(第五天)之tomcat集群-群猫乱舞

    一.为何要集群 单台App Server再强劲,也有其瓶劲,先来看一下下面这个真实的场景. 当时这个工程是这样的,tomcat这一段被称为web zone,里面用spring+ws,还装了一个jbos ...

  10. Elasticsearch之性能优化

    elasticsearch 使用有时候会出现CPU飙升,内存爆满情况,需要进行一些优化设置. 1.  一定要用es自带id生产策略 2. 设置副本数量为0,写入完可恢复 put  localhost: ...