0x01

逛圈子社区论坛 看到了 linux sudo root 权限绕过漏洞(CVE-2019-14287) 跟着复现下

综合来说 这个漏洞作用不大  需要以下几个前提条件

1.知道当前普通用户的密码

2.当前普通用户在souduers文件中

3.本地提权需要本地操作 估计远程ssh连接的终端会失败

0x02

此漏洞可以使受限制的用户运行root命令

1.8.28之前的sudo版本均会受到影响

0x03 原文复现

普通用户:

poc,执行 sudo -u#-1 /bin/bash 后直接切换到root权限:

0x04 自己复现

创建一个普通用户pei

提示没在souduers文件中

以root权限 加入pei用户到sudoers文件中

此时 普普通用户登录

0x04 漏洞细节

因为需要用户拥有root权限,这也意味着用户的sudoers中的runas说明符中具有特殊值ALL

我们这里来查看一下/etc/sudoers

我们可以看到下面几个用户权限的配置信息,它们的含义是这样的

授权用户/组 主机=[(切换到哪些用户或组)][是否需要输入密码验证] 命令1,命令2

第一个字段中,不以%开头的,代表“将要授权的用户”,例如其中的root;以%开头的表示“将要授权的组”,比如其中的%admin、%sudo

第二个字段表示允许登陆的主机,ALL表示所有,这里指明的是用户可以在哪些服务器上登陆本服务器来执行sudo命令,比如

pei ALL=/usr/sbin/reboot,/usr/sbin/shutdown

表示的是普通用户pei在所有主机上,都可以通过sudo运行reboot和shutdown两个命令

第三个字段如果省略的话,表示切换到root用户,如果为ALL,则表示可以切换到任何用户,里面的(ALL:ALL)表示的是允许切换到任何(用户:组)

PS:如果没有省略,必须使用括号将两个值括起来

第四个参数为NOPASSWD,这个文件中的这个省略掉了,意味着都是需要密码来进行操作的,如果为下面这个样子就不需要输入密码了

pei ALL=(ALL:ALL) NOPASSWD:ALL

第五个参数为授权操作的命令,如果值为ALL的话,就可以执行任意的命令了

这里解释了这么多,也就是说明了我们这个环境下的所有的用户都是可以执行sudo的。

在这种情况下,我们就可以使用#uid语法以任意用户ID来运行它

例如执行

sudo -u#1234 id -u

将会返回1234

但是sudo执行前用于更改用户ID的setresuid(2)和setreuid(2),特别对待用户ID-1(或其等效的4294967295),不会更改此用户的ID值,实际上他们返回的值为0

这是因为sudo本身已经用用户ID 0运行,因此在尝试更改用户ID为-1时,是不会发生任何更改的,另外由于通过-u指定的用户ID在密码数据库是不存在的,因此不会允许任何PAM会话模块

0x06 参考

https://www.sudo.ws/alerts/minus_1_uid.html

https://mp.weixin.qq.com/s/xdJdOr_aaH1mkRwxxp_Qeg

linux sudo root 权限绕过漏洞(CVE-2019-14287)的更多相关文章

  1. Python 实现 Discuz论坛附件下载权限绕过漏洞

    背景:最近压力有些大,想玩点游戏放松下,去Mac论坛下载,发现需要各种权限,于是蛋疼了. 所以,上网查了discuz! x3.1破解,手动替换,发现出现“链接已过期”.所以写了下面程序. 0.将下列代 ...

  2. Android电话拨打权限绕过漏洞(CVE-2013-6272)分析

    原文:http://blogs.360.cn/360mobile/2014/07/08/cve-2013-6272/ 1. CVE-2013-6272漏洞背景 CVE-2013-6272是一个安卓平台 ...

  3. Couchdb 垂直权限绕过漏洞(CVE-2017-12635)漏洞复现

    couchdb简介: Apache CouchDB是一个开源的NoSQL数据库,专注于易用性和成为“完全拥抱web的数据库”.它是一个使用JSON作为数据存储格式,javascript作为查询语言,M ...

  4. CVE-2017-12635(Couchdb垂直权限绕过漏洞)

    简介 Apache CouchDB是一个开源数据库,专注于易用性和成为"完全拥抱web的数据库".它是一个使用JSON作为存储格式,JavaScript作为查询语言,MapRedu ...

  5. CVE-2021-4034 Linux Polkit本地权限提升漏洞

    0x00 前言 公司放假两天,突然一天下午,群里面实验室的大哥发了个通告,就是这个臭名昭著刚爆出来的漏洞.通杀目前市场上大多数Linux操作系统.随后我看到各种微信公众号纷纷发表文章,POC已经出现了 ...

  6. 亚马逊云VPS AWS更改LINUX为ROOT权限密码登陆

    LINUX VPS没有ROOT权限是很难受的事,并且密码登陆也方便一些.首先用AWS证书验证的账户登录,1.修改ROOT密码sudo passwd root2.sudo chmod 777 /etc/ ...

  7. Linux赋予root权限

    按照帖子都一一尝试了下 https://blog.csdn.net/yajie_china/article/details/80636783 首先增加用户和给新用户创建密码,都不用说 用useradd ...

  8. PJzhang:CVE-2019-14287 sudo权限绕过漏洞复现

    猫宁!!! 参考链接:Ms08067实验室公众号 sudo 1.8.28版本之前有漏洞. 更新完kali linux,deepin截图工具失效,只能用自带的,不能划重点. 看一下sudo版本,1.8. ...

  9. linux 开启普通用户sudo root权限操作获取免密

    root 身份登陆 $ visudo然后进入修改配置找到 root    ALL=(ALL) ALL 在下面增加: yourusername ALL=(ALL)   NOPASSWD:  ALL ex ...

随机推荐

  1. python简单爬虫(爬取pornhub特定关键词的items图片集)

    请提前搭好梯子,如果没有梯子的话直接403. 1.所用到的包 requests: 和服务器建立连接,请求和接收数据(当然也可以用其他的包,socket之类的,不过requests是最简单好用的) Be ...

  2. .Net Core 商城微服务项目系列(五):使用Polly处理服务错误

    项目进行微服务化之后,随之而来的问题就是服务调用过程中发生错误.超时等问题的时候我们该怎么处理,比如因为网络的瞬时问题导致服务超时,这在我本人所在公司的项目里是很常见的问题,当发生请求超时问题的时候, ...

  3. [TLSR8267] 泰凌微 telink tlsr8267 ble ADC 用法浅谈

    1.读 datasheet 在<DS_TLSR8267-E21_Datasheet for Telink BLE SoC TLSR8267.pdf>第11章详细介绍了ADC相关属性及参数. ...

  4. Bitmap简介

    1.  BitMap Bit-map的基本思想就是用一个bit位来标记某个元素对应的Value,而Key即是该元素.由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省.(PS:划重点 ...

  5. netty源码解解析(4.0)-24 ByteBuf基于内存池的内存管理

    io.netty.buffer.PooledByteBuf<T>使用内存池中的一块内存作为自己的数据内存,这个块内存是PoolChunk<T>的一部分.PooledByteBu ...

  6. vue3.0 vue.config.js 配置实战

    今天讲述一下vue-config.js配置,我们前面搭建好脚手架会发现,这个对比2.x版本少了很多东西,没有build的配置,也没有webpack的配置,那么问题来了,我们如何去开发我们的项目呢,比如 ...

  7. 洛谷P1613 跑路

    题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟 ...

  8. [JOJZ]3855.选择困难症

    [问题描述]又到吃饭时间,Polo 面对饭堂里琳(fei)琅(chang)满(keng)目(die)的各种食品,又陷入了痛苦的抉择中:该是吃手(jiao)打肉饼好呢,还是吃豆(cai)角(chong) ...

  9. .Net TCP探索(一)——TCP服务端开发(同时监听多个客户端请求)

        最近在园子里看了大神写的(面试官,不要再问我三次握手和四次挥手),忍不住写段程序来测试一番.     在网上找了很多例子,大多只实现了TCP点对点通讯,但实际应用中,一个服务器端口往往要监听多 ...

  10. Tomcat基本知识(一)

    顶层架构先上一张Tomcat的顶层结构图(图A),如下: Tomcat中最顶层的容器是Server,代表着整个服务器,从上图中可以看出,一个Server可以包含至少一个Service,用于具体提供服务 ...