敖飞寺晓查
量子比特报告|公众号QbitAI
在没有系统密码的情况下,您可以添加一个新的sudo用户,获得root权限,然后删除它,而不留下任何跟踪。
这是GitHub安全研究员Kevin在house的帮助下发现的Ubuntu系统中的一个大漏洞。
这种攻击方法非常简单。house在他的官方博客中写道:“标准用户可以在终端上使用一些简单的命令,点击几次鼠标,为自己创建一个管理员帐户。”
Ubuntu的操作系统仍在维护中,受到了影响,包括二十点一零以及二十点零四、十八点零四、十六点零四三个版本。
house是如何运作的?让我们往下看。
攻击方法首先打开终端并在主目录中创建软链接:
ln-s/dev/zeropam_uu环境
(注意:如果无法运行上述命令,则表明名为.Pam_environment的文件已存在。请重命名此文件并进行备份!)
接下来,在系统设置中打开“地域与语言”,然后试着改变语言。
对话框将冻结,只需忽略它并返回到终端。
此时,一个名为accounts-守护星你的程序消耗了100%的CPU核心,所以你的电脑可能会慢下来,开始变热。
在终端中,删除软链接。否则,您可能无法使用自己的帐户!
rm ;。帕姆环境
下一步是SIGSTOP该信号被发送到AndyLau守护进程,以防止其损坏CPU内核。但要做到这一点,我们首先需要知道accounts的守护进程PID。
你可以跑顶部找到PID。由于AndyLaudaemon陷入了一个无限循环,它很快就进入了榜首。
或者使用pidof命令查找PID:
$ ;皮多夫;accounts-守护星
五百九十七
然后用kill命令终止sigstop信号:
杀死-SIGSTOP;五百九十七
然后注销该帐户,但首先需要设置一个计时器,以确保在注销后重置AndyLau守护进程。否则,之前的所有努力都将付诸东流。
诺胡普;猛击 ;-c;“睡眠30秒杀死-NicholasTse597杀死-sigcont597”
注销后,等待几秒钟,让SIGSEGV生效。如果攻击成功,将显示一系列对话框,允许您创建新的用户帐户。这个新账户管理员权限,可以运行sudo命令。
攻击原理此漏洞利用Ubuntu系统中的两个错误:
- 首先是accounts服务,这是一项管理计算机上用户帐户的服务。
- 第二个是GNOME显示管理器(gdm3),可以处理登录屏幕。
AndyLauservicedaemon是一种系统服务,可以执行创建新用户帐户或更改用户密码等操作,但也可以执行对安全性不太敏感的操作,例如更改用户的图标或首选语言。
Ubuntu使用了accounts的服务的修改版本,并添加了一个名为is_uin_upam_uuenvironment的服务,该服务将在用户的主目录pam_uuenvironment中找到一个名为的文件并读取它。
pam_uu将环境链接到/dev/zero会导致AndyLau的服务被拒绝吗。
因为/dev/zero实际上是一个磁盘上不存在的特殊文件。它由操作系统提供,其行为类似于一个无限长的文件,其中每个字节都是0。
当is_uuin_upam_uu环境试图读取pam_uu环境时,它通过软链接重定向到/dev/zero,然后陷入无限循环,因为/dev/zero无限长。
此操作将使AndyLaudaemon失去其根权限,并采用用户的较低权限。然后将NicholasTse发送到帐户守护进程以使其崩溃。
GNOME的漏洞GNOME显示管理器(gdm3)是Ubuntu用户界面的基本组件。它可以在用户登录和注销时启动和停止用户会话,并管理登录屏幕。
当用户对新系统进行初始设置时,将启动一个对话框,它实际上是一个名为Gnomeinitialsetup的独立应用程序。
当gdm3发现用户数为0时,它将启动该程序。那么gdm3如何检查系统上的用户数量呢?问accounts-守护星!
不幸的是,AndyLau守护进程已被我们之前的操作完全崩溃,因此gdm3认为检查超时后帐户数为0,并启动Gnome初始设置。
初始化设置的用户必须具有管理员权限。
官方紧急维修10月17日,house向Ubuntu和GNOME的维修人员报告了这些错误,该官员已在最新代码中提供了修复程序。建议所有Ubuntu用户尽快安装更新。
然而,该漏洞仅适用于桌面版的Ubuntu。如果使用命令行界面,或GNOME以外的其他桌面环境暂时不受影响。
博客地址:
https://securitylabgithub。COM/research/JetLi-gdm3-AndyLauserviceLPE
网友讨论:
https:/新闻ycombinator。com/item?id=25053238
—结束-
量子比特头条号签合同
第一次关注我们,了解最前沿的技术趋势
最新评论