织梦做双语网站,wordpress主题 视频,ui个人作品集网站,自助微信小程序开发教程目录
Linux权限基础
Linux用户权限
Linux文件权限
特殊的Linux文件权限
Linux本机信息收集
利用Linux漏洞进行提权
脏牛漏洞
pkexec Linux权限基础
Linux用户权限
在Linux中#xff0c;根据权限的不同#xff0c;大致可以分为三种#xff1a;超级用户#xff08;…目录
Linux权限基础
Linux用户权限
Linux文件权限
特殊的Linux文件权限
Linux本机信息收集
利用Linux漏洞进行提权
脏牛漏洞
pkexec Linux权限基础
Linux用户权限
在Linux中根据权限的不同大致可以分为三种超级用户root、普通用户、虚拟用户从Linux中的/etc/password文件中我们可以很详细的了解当前系统内每一个用户的不同之处文件内容如下所示
1.root:x:0:0:root:/root:/usr/bin/zsh
2.user1:x:1000:1000:user1,,,:/home/user1:/usr/bin/zsh
3.www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
每个用户在/etc/passwd文件中的格式通常为account:passwd:UID:GID:GECOS:shell账号密码用户ID组ID一般信息HOME目录shell类型
上面的1为超级用户2为普通用户、3为虚拟用户1的UID和GID为02的UID和GID范围是 500-600003的UID和GID的范围为 1-499
注虚拟用户一般是由各种服务创建的。比如www-data就是Apache服务创建的虚拟用户专门用来运行Apache服务
Linux文件权限
Linux系统中的文件针对访问者设置了三种权限
、
每个文件针对每访问者定义了三种主要权限
rread4
wwrite2
xxexcute1
特殊的Linux文件权限
ussuid所属用户的禁锢位
数字标记4
仅对可执行文本文件命令文件设置有意义将某文件的所属用户进行锁死到root不可以让其他用户代替自己称为所属用户运行命令文件进程的所属用户是命令自身的身份 普通用户使用在passwd执行时打开一个新的终端在新终端中使用ps -ef 来查询该进程的运行权限
可以看到进程的权限并非user1 而是文件创建者root。也就是说带有SUID属性的文件不管运行这个文件的用户是谁它的运行者都睡变成文件的创建者那么在执行的过程中执行用户将会短期的拥有文件所属组的权限 gssgid所属组的禁锢位
数字标记2
对可执行文本文件和目录文件设置都有意义对文本文件而言将某文件的所属组进行锁死不可以让其他用户代替自己称为所属组对目录文件设置表示在目录下所创建的文件所属组都是目录文件的所属组
即如果一个用户对一个具有SGID属性的目录添加文件则添加的文件的所属组将会带有SGID属性的目录的创建所属组
otsticky冒险位
数字标记1
对目录文件和设置有意义作用用户只能删除属于自己的文件不能删除其他用户的文件
注意如果为文本文件添加特殊权限执行位的x会变成S为目录文件添加特殊权限执行位为s
Linux本机信息收集
在Linux中执行 cat /etc/issue可以查看发型版本 执行命令 cat /etc/*release可以查询系统的详细信息 执行uname -r 可以查看系统的内核版本 如果想要查询当前系统进程列表可以使用ps命令 通过下面的命令可以查看当前系统中的所有用户
cut -d: -f1 /etc/passwd 利用Linux漏洞进行提权
脏牛漏洞
脏牛漏洞原理Dirty COW 代号CVE-2016-5195在Linux内核中已经存在了长达9年的时间产生的原因是Linux内核的内存子系统在使用get user_page函数处理写时复制Copy-on-Write时存在条件竞争漏洞导致可以破坏私有只读内存映射
脏牛漏洞影响版本
CentOS 5.x 32位/64位
CentOS 6.x 32位/64位
CentOS 7.x 32位/64位
CoreOS 717.3.0 64位
Debian 6.x 32位(Debian官方已停止更新建议使用Debian7、Debian8版本)
Debian 7.x 32位/64位
Debian 8.x 32位/64位
openSUSE 12.3 32位/64位
openSUSE 13.2 64位
SUSE Linux Enterprise Server 11 SP3 64位
SUSE Linux Enterprise Server 12 64位
Ubuntu Server 10.04.1 LTS 32位/64位(Ubuntu官方已停止更新建议使用Ubuntu 14.04版本)
Ubuntu Server 12.04.1 LTS 32位/64位
Ubuntu Server 14.04.1 LTS 32位/64位
注脏牛漏洞的利用工具可以通过github获取。
注对应存在漏洞的主机可以在阿里云下载centos安装包下载_开源镜像站-阿里云 (aliyun.com)
1利用过程
在利用前可以使用uname查看一下当前操作系统的版本是否存在脏牛漏洞
uname -a
Linux centos111 3.10.0-1160.99.1.el7.x86_64 #1 SMP Wed Sep 13 14:19:20 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
执行ls /root来验证当前用户的权限 执行下面命令来编译漏洞利用程序。编译完成后会生成名为dirty的漏洞利用程序
gcc -pthread dirty.c -o dirty -lcrypt 执行下面命令会添加一个名为firefart的用户且系那个密码设置为123456新用户将会具备root权限
./dirty 123456
注该程序需要运行一段时间
然后执行sufirefart切换用户切换后执行命令ls /root 验证当前权限 切换后使用firefart用户是可以正常查看的说明提权成功了
注我这里没有成功的原因是我的主机版本没有该漏洞如果是包含漏洞的版本就会成功的
2脏牛漏洞的修复方式
该漏洞可以通过升级内核版本的方式来修复。
pkexec
1pkexec本身是polkit工具集中的一个程序pokit工具集是主要用于在类Unix操作系统中控制系统范围权限的组件该组件为非特权进程和特权进程之间进行通信提供给了一种有效的方式而pkexec的作用就是以其他用户身份执行命令它允许守群用户以其他用户身份执行程序pkexecCVE-2021-4034已经隐藏了12年多产生漏洞的原因是自身因为无法处理调用参数最终尝试将环境变量作为命令执行攻击者可以通过制作环境变量来利用这一点从而控制要执行的命令
安全版本
CentOS系列
CentOS 6polkit-0.96-11.el6_10.2
CentOS 7polkit-0.112-26.el7_9.1
CentOS 8.0polkit-0.115-13.el8_5.1
CentOS 8.2polkit-0.115-11.el8_2.2
CentOS 8.4polkit-0.115-11.el8_4.2
SS
Ubuntu系列
Ubuntu 20.04 LTSpolicykit-1 - 0.105-26ubuntu1.2
Ubuntu 18.04 LTSpolicykit-1 - 0.105-20ubuntu0.18.04.6
Ubuntu 16.04 ESMpolicykit-1 - 0.105-14.1ubuntu0.5esm1
Ubuntu 14.04 ESMpolicykit-1 - 0.105-4ubuntu3.14.04.6esm1
2利用过程
漏洞利用程序下载地址berdav/CVE-2021-4034: CVE-2021-4034 1day (github.com)
下载完成后将pkexec漏洞利用程序移动到目标主机然后在makefile所在目录中执行命令make进行编译
可以看到目录中生成名为cve-2021-4034的可执行文件执行该文件即可以获得root权限 3pkexec漏洞修复方式
最新版的pkexec对该漏洞进行了修复
centos用户可以执行rpm -qa polkit来检查当前pkexec是否为安全版本如果为非安全版本则可以执行命令 yum clean all yum makecacheyum update polkit -y来升级至安全版本
Ubuntu用户可以执行命令dpkg -l policykit -1来检查当前pkexec是否为安全版本如果为非安全版本则可以执行命令sudo apt-get updatesudo apt-get install policykit-1