ubuntu 改屏幕分辨率命令_Ubuntu被曝严重漏洞!!!

GitHub安全研究员Kevin Backhouse发现的一个Ubuntu系统大漏洞。

无需系统密码,就能添加新的sudo用户、获取root权限,事后还能删除不留痕迹。

4f9b68e0de968e4a26c249202bbc489a.png

这种攻击方法非常简单,Backhouse在官方博客中写道:“使用终端中的一些简单命令,并单击几次鼠标,标准用户就可以为自己创建一个管理员帐户。”目前还在维护的Ubuntu操作系统均受到影响,包括20.10以及20.0418.0416.04三个LTS版。

6a30db9f39a4d2d4dfd390a7e4014e89.png

Backhouse是如何操作的?我们接着往下看

攻击方法

首先打开终端,在你的主目录下创建一个软链接:

ln -s /dev/zero .pam_environment

(注:如果以上命令无法运行,说明已经存在名为.pam_environment的文件,请把这个文件重命名做好备份!)

接下来,在系统设置中打开“区域和语言”,然后尝试更改语言。

8f558c19cb289f1edc81a86bd44db4c2.png

该对话框会冻结,只需忽略它,然后返回到终端即可。

此时,一个名为accounts-daemon的程序正在消耗100%的CPU内核,因此你的计算机可能会变慢并开始变热。

在终端中,删除软链接。否则,你可能无法使用自己的帐户!

rm .pam_environment

下一步是将SIGSTOP信号发送到accounts-daemon,阻止它破坏该CPU内核。但是要做到这一点,首先需要知道accounts-daemon的PID。

你可以通过运行top来找到PID。由于accounts-daemon被卡在一个无限循环中,因此它很快进入top列表的顶部。

9b7afb586ac758d43d4bea579e2f8bba.png

或者使用pidof命令来查找PID:

$ pidof accounts-daemon
597

接着用kill命令杀死SIGSTOP信号:

kill -SIGSTOP 597

然后注销帐户,但首先需要设置一个计时器,保证在注销后重置accounts-daemon。否则,前面的努力都将白费。

nohup bash -c “sleep 30s; kill -SIGSEGV 597; kill -SIGCONT 597”

注销后等待几秒钟,让SIGSEGV起效。如果漏洞利用成功,则会显示一系列对话框,让你创建一个新的用户帐户。这个新帐户具有管理员权限,可以运行sudo命令。

d502b9627b3540692bd42a1617a092d8.png

Backhouse将整个过程录成了2分多钟的视频,不明白操作方法的可以前去观看:

攻击原理

该漏洞利用了Ubuntu系统中的两个错误:

  • 第一个是accountservice,它是管理计算机上用户帐户的服务。

  • 第二个是GNOME显示管理器(gdm3),它可以处理登录屏幕。

accounts-daemon漏洞

accountsservice守护程序(accounts-daemon)是一项系统服务,可以执行诸如创建新用户帐户或更改用户密码的操作,但也可以执行对安全性较不敏感的操作,例如更改用户的图标或首选语言。

ff367d33183aa36efc50f28010cfc8c4.png

Ubuntu使用了经过修改的accountservice服务版本,添加了一个名为is_in_pam_environment的函数,该函数会在用户的主目录中查找一个名为.pam_environment的文件并进行读取。

将.pam_environment链接到/dev/zero可以让accountservice服务被拒绝。

因为/dev/zero实际上是磁盘上不存在的特殊文件。它由操作系统提供,其行为就像一个无限长的文件,其中每个字节均为0。

当is_in_pam_environment尝试读取.pam_environment时,它会通过软链接重定向到/dev/zero,然后由于/dev/zero无限长而陷入无限循环。

如此操作会让accounts-daemon丧失其root权限,转而采用用户的较低特权。然后将SIGSEGV发送给帐户守护程序使其崩溃。

GNOME漏洞

GNOME显示管理器(gdm3)是Ubuntu用户界面的基本组件。它可以处理用户登录和注销时启动和停止用户会话之类的事情,还管理登录屏幕。

当用户进行新系统的初始设置时,会启动一个对话框,它其实是一个单独的应用程序,称为gnome-initial-setup。

37f163390e1b3cfc570ed0a451628575.png

当gdm3查询到用户数量为0时,会启动这个程序。那么gdm3如何检查系统上有多少用户?通过询问accounts-daemon!

不幸的是,accounts-daemon已经被我们前面的操作整崩溃了,所以gdm3在检查超时后认为帐户数量为0,并启动gnome-initial-setup。

而初始化设置的用户必须有管理员权限。

官方紧急修复

Backhouse于10月17日向Ubuntu和GNOME维护人员报告了这些错误,官方已经最新代码中提供了修复程序。建议所有Ubuntu用户都尽快安装更新。

不过,该漏洞仅对桌面版Ubuntu有效。如果使用的是命令行界面,或者是GNOME之外的其他桌面环境,则暂时不受影响。

博客地址:https://securitylab.github.com/research/Ubuntu-gdm3-accountsservice-LPE

网友讨论:https://news.ycombinator.com/item?id=25053238

文章信息来源:量子位

98b31000a500352215d5641d71b7876f.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533403.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

swag您的装置不支持_一件充满意境的中国风水墨粒子、电子屏风交互装置

不久前有人留言怎么用粒子做水墨,今天投石科技给大家分享个水墨粒子装置作品案例,大家可以发挥自己的想象去做中国风的一些东西,希望能对大家有些帮助吧。《墨迹》这是一个数字山水画的交互装置,它通过摄像头捕捉手部运动进行互动…

弱电工程集成商_弱电工程楼宇自控系统基础知识培训资料

前言:弱电行业里面楼宇自控系统是非常难的一个子系统,涉及到很多其他专业,楼宇自控系统的设计一般为厂家设计,但是也有系统集成商来设计的,楼宇自控系统主要学习它的控制原理,学习完以后学习DDC箱子的绘制&…

删除单元格_VBA(实验1)用VBA 删除某列空单元格的3种方法:删除法,转移到其他列方法,数组方法...

1 要解决的问题:删除某列中的空单元格/空行暂时只实现了删除一列中的空行,并没有实现多行的判断空行和删除方法。----之后再做更复杂的1.1 需求分析用VBA删除如下内容,解决思路都不同删除1列的空行(本文要做的)删除整个…

winpe制作u盘启动盘_怎么制作u盘启动盘 u盘启动盘制作方法【介绍】

使用u盘装系统时就需要先将u盘制作成一个启动u盘,这样才能够通过u盘启动装系统操作,那么 如何制作u盘启动盘 呢?为此,今天我们就为小伙伴们详细的介绍 怎样制作u盘启动盘 的操作。制作u盘启动盘准备工作:① 、准备一个空间容量大…

插入空行_如何一键插入表格空行,这个方法才最高级!

100万职场人都在看后台回复礼包领199元职场干货很久很久之前,小可教过大家如何一键删除空行,回顾请戳→《如何一键删除表格空行,这个方法才最高级!》这次,小可反过来,教大家如何一键插入很多空行&#xff0…

的控制台主题_【12.11最新版】芯片机/大气层主题软件NXThemesInstaller

Switch的主题的安装和管理主要通过自制软件——NXThemesInstaller软件地址:https://github.com/exelix11/SwitchThemeInjector本文只传了工具,主题需要自行去下载,可以按照自己喜欢的更换!!教程简单概括如下这是最常见…

数据卡片_E015 如何批量汇总工作簿数据,形成独立工作簿信息卡片

Hi,How are you doing?我是职场编码(CodeVoc)。在E000中,我们介绍了Node.js、Ruby、Electron等工具下载安装。这期,给你演示一下由Electron联合Ruby制作的小工具。知乎视频​www.zhihu.com借助Electron官方Demo&#…

redis哨兵模式没有切换主机_Redis哨兵(Sentinel)模式

Redis哨兵(Sentinel)模式在这里插入图片描述一、主从复制高可用当我们使用主从复制出现的问题手动故障转移写能力和存储能力受限主从复制 -master 宕机故障处理主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,…

mysql rpm 安装6_linux6.5 RPM方式安装 mysql5.6

步骤一、检查下linux是不是已经安装了MySQL# rpm -qa|grep mysqlmysql-libs-5.1.71-1.el6.x86_64# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64 //卸载# find / -name mysql//有mysql文件夹的话,把mysql的文件夹删掉步骤二、下载需要的安装包,下载地…

阿里云rds for mysql平台介绍_阿里云RDS for MySQL 快速入门——笔记

1初始化配置1.1设置白名单创建RDS实例后,需要设置RDS实例的白名单,以允许外部设备访问该RDS实例。默认的白名单只包含默认IP地址127.0.0.1,表示任何设备均无法访问该RDS实例。设置白名单包括两种操作:设置IP白名单:添加…

mysql数据库下载压缩包_mysql 8.0.22 zip压缩包版(免安装)下载、安装配置步骤详解...

大家好,今天我在学习 MySQL 8.0.22安装及配置遇到了一些问题,特地将我整个安装过程分享出来希望可以帮助不会安装的小伙伴😜。参考链接第一步 MySQL的下载进入MySQL官网下载,按下图所示步骤操作,耐心等待下载完成就可以…

mysql 5.5 主从同步问题_MySQL 5.5 主从复制异步、半同步以及注意事项详解

大纲一、前言二、Mysql 基础知识三、Mysql 复制(Replication)四、Mysql 复制(Replication)类型五、Mysql 主从复制基本步骤六、Mysql 主从复制(异步)七、Mysql 主从复制(半同步)八、Mysql 复制工具九、Mysql 复制注意事项十、Mysql 复制过滤一、前言从这一篇博客开始我们就来学…

mysql导入xml 工具下载_XML导入Mysql工具下载|XmlToMysql 最新版v2.1 下载_当游网

XmlToMysql是一款十分不错的XML导入Mysql工具,它可以帮助用户们将XML中的数据快速的导入到MySQL数据库中,可以直接跳过解析环节,因此可以有效的提升程序员传输数据的效率,让程序员可以拥有更多的时间去处理其他环节的事宜。所以喜…

mysql忽略表名大小写_Mysql 表名忽略大小写-连接字符集随笔记录

1.参数说明:lower_case_table_names0表名存储为给定的大小和比较是区分大小写的lower_case_table_names 1表名存储在磁盘是小写的,但是比较的时候是不区分大小写lower_case_table_names2表名存储为给定的大小写但是比较的时候是小写的unix,linux下lower_…

ddl是什么意思网络语_DDL(数据定义语言)

DDL,是对数据库内部的对象进行创建,删除,修改等的操作语言。它和DML语言最大的区别是DML只是对表内部数据的操作,而不涉及到表的定义,结构的修改,更不会涉及到其它对象。1.连接数据库:注:1.mysql代表客户端…

测试网络的带宽指令_单机千万级MQTT服务器测试报告

目标:测试创建1000万客户端连接到Coolpy7 MQTT服务器端,服务器操作系统 Linux(任意一款发行版服务器版本)。分别在两台硬件一样的服务器,其中一台用于服务器端运行,另一台用于创建千万客户端连接客户端机器。在硬件一致的情况下请…

查看redis aof内存_Redis持久化问题定位与优化技巧

今天主要分享继Redis持久化方式RDB、AOF之后的一些常用的Redis问题定位于优化方式。这里主要CPU、内存、磁盘在三个维度去分析问题!Fork操作当Redis做RDB或AOF重写时,一个必不可少的操作就是执行fork操作创建子进程,对于大多数操作系统来说fo…

windows设置mysql使用率_Windows下配置Mysql

这里说的配置Mysql,是在安装时进行的,请先查看:Windows平台下安装Mysql紧接上文,安装完成后将配置选项打上对勾,按下“Finish”,出现下面的界面,这里有一个很好的功能,mysql配置向导…

mysql 云无忧ps教程_华为云数据库MySQL一键开通读写分离,无忧应对企业业务高峰情景...

业务大促,订单暴增,网站流量暴涨几倍,数据库服务器容量又要扛不住了,眼睁睁看着生意白白溜走,再苦逼也无法解决,“肿”么办?别担心,一键开通读写分离,而且只需一个连接地…

python 基因序列提取_科学网—简单的Python脚本提取对应位置基因序列(fasta文件) - 王彬忠的博文...

最近,用Python脚本提取,在基因号已知,位置已知条件下,相对应位置的基因序列时发现,这样很简单但是很实用的脚本,在网上却比较难找。而且,能被找到的脚本,相对于具有初级编程能力的人…