通过SUID提权
嗯,用户让我总结一下这篇文章的内容,控制在一百个字以内。首先,我需要通读文章,抓住主要信息。文章讲的是通过SUID提权的实验,实验目的是让攻击者找到具有特殊权限的二进制文件,从而将普通用户权限提升为root权限。 接下来,知识点包括SUID和MobaXterm。SUID是一种特殊权限,可以让执行者临时拥有属主的权限。实验中使用了find命令来查找这些特殊权限的文件,并利用它们进行提权。 实验设备有CentOS7和Windows7主机,软件工具是MobaXterm。实验步骤分为信息收集和提权两部分。攻击者通过SSH远程连接到服务端,查找具有SUID权限的文件,然后利用find命令执行系统命令,成功提升权限。 现在需要把这些信息浓缩到一百字以内。要涵盖实验目的、方法、使用的工具和步骤。可能需要提到攻击者如何利用SUID权限提升到root,并简要说明使用的命令和结果。 最后,确保语言简洁明了,不使用复杂的术语,让读者一目了然。 </think> 文章介绍了一种通过 SUID 提权的实验方法,攻击者利用 MobaXterm 工具远程连接服务端,查找具有 SUID 权限的二进制文件(如 find),并执行系统命令提升普通用户权限至 root 权限。 2026-3-3 04:47:22 Author: www.freebuf.com(查看原文) 阅读量:6 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

通过 SUID 提权

【实验目的】

攻击端通过查找到具有特殊权限的二进制文件,将普通用户权限提升为 root 权限。

【知识点】

SUID、MobaXterm。

【实验原理】

SUID 是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限,若是对一些特殊命令设置了 SUID,那么将会有被提权的风险,常用的 SUID 提权命令有nmap、vim、find、bash、more、less、nano 和 cp 等。
当 s 出现在文件所有者的 x 权限时,被称为“Set UID”,简称为 SUID。

SUID 对一个文件的限制与功能包括以下几点:
(1)SUID 仅对二进制有效
(2)执行者对于该程序需要有 x 的可执行权限
(3)本权限仅在程序的执行过程中有效
(4)执行者具有该程序所有者(user)的权限

SUID 按照八进制为 4,SGID 为 2,SBIT 为 1,在普通权限前一位,比如 4777,其实就是 rws-rwx-rwx,具有
SUID 权限的文件所属者 X 变为 S。

本实验通过弱口令获取普通用户权限,利用 MobaXterm 中 SSH 远程连接服务端,使用 find 命令查找特殊权限,
利用具有 SUID 特殊权限的 find 文件进行提权。

【实验设备】

  • 主机终端:CentOS7 主机1 台、Windows7 主机1 台。

【软件工具】

MobaXterm

【实验拓扑】

实验拓扑如图所示。

6408058158e5e

【实验思路】

  1. 信息收集。

  2. 提权。

【实验步骤】

1. 信息收集

(1) 登录拓扑图左侧的攻击端主机,用户名/密码:administrator/com.1234。双击桌面左侧 MobaXterm 图标,打开此工具,如图所示。

image-20240612150409760

(2) 进行 SSH 远程连接 Ubuntu 服务端。点击上方菜单栏 Session,弹出 Session settings 对话框。单击SSH菜单,在 Remote host *右侧文本框内输入目标主机地址192.168.1.10,选中 Specify username 左侧的单选框,在右侧的文本框内输入 mark,输入完毕后,单击下方 OK 按钮,完成设置,如图所示。

image-20240612150621417

(3) 单击 OK 后,切换至命令行界面,输入 mark 用户弱密码 123456(密码不会显示),按下回车后弹出对话框,单击 No 按钮不保存密码,如图所示。远程连接成功,如图所示。

image-20240612150754725
image-20240612150908089

(4) 执行 whoami、id 等命令,确定用户 mark 为普通用户,其 UID 为 1000(UID 大于 499 小于 65535 为普通用户),如图所示。

image-20240612151001139

(5) 查找具有SUID权限的文件。执行命令find / -user root -perm -4000 -exec ls -ldb {} \ ;,利用find找到有SUID权限(SUID 按 8 进制为 4)的文件并使用 ls 命令列出,执行后发现列出了很多文件,但和【实验原理】模块中叙述的所常用的文件对比来看,只能用find这个文件进行提权,如图所示。

image-20240612151502567

2. 提权

(1) find 文件所属者和所属组都为 root 用户,使用 find 命令可以执行其它的系统命令,因此可以使用 find 命令运行 whoami 查看当前用户。执行命令 cd /tmp,切换目录。创建任意文件,这里执行命令 touch 1,创建文件 1。

执行命令 find 1 -exec whoami ;利用 find 命令查找名为 1 的文件,执行 whoami 命令,如图所示,当前用户为 root,
从而提升权限成功。

image-20240612151522908

(2) 或者查看 shadow 文件(shadow 文件只有 root 用户可以查看)有更明显的对比。执行命令 cat /etc/shadow,执行被拒绝。再执行命令 find 1 -exec cat /etc/shadow ;,成功查看 shadow 文件,如图所示,成功提权。

image-20240612151702170

已在FreeBuf发表 0 篇文章

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/endpoint/472121.html
如有侵权请联系:admin#unsafe.sh