导语:近日,西班牙安全研究员赫克托马尔·马克在 Linux系统上发现一个高危漏洞,攻击者可以通过持续按下Enter键70秒来获取 root initramfs shell,进而破坏Linux boxes。

近日, Linux系统被爆存在高危漏洞,攻击者可以通过持续按下Enter键70秒来获取 root initramfs shell,进而破坏Linux boxes。

该漏洞的编号为CVE-2016-4484,是由西班牙安全研究员赫克托马尔·马克发现的,他在去年还发现了GRUB2,只需要按住退格到用户名字的28倍就可以绕过其身份验证。

这一次,马克进行研究的对象是Crytsetup——一个允许用户通过LUKS(Linux统一密钥设置)来进行硬盘加密的工具,而漏洞就存在于Linux流行变体中的统一密钥设置(LUKS)中,可允许用户对密码进行多次试错。

Cyptsetup脚本会怎样处理boot呢?

当用户要求进行密码加密时,Cyptsetup脚本会怎样处理boot呢?马克在研究中发现,密码是被用于去在保护硬盘信息时进行解密,引导系统,然后再授予他们经过身份验证之后的用户可访问数据。

这个过程中所存在的问题是没有正确处理密码检验脚本文件/脚本/local-top/crypt rot。当用户对密码进行三次尝试之后,这个启动顺序仍然会继续正常运作。这就会导致用户可以通过重新加载身份验证过程去重新进行加密密码的尝试。

经过试验发现,这个过程在x86系统上可以重新加载30次(即尝试93次密码 ),而在PowerPC机器上可以加载150次(约452次密码试错)。而这样的密码重试并不足以进行强有力的攻击,更大的问题出现在当用户在进行了所有的认证之后。

从上图可以看到,Cyptsetup使用root权限去开始一个Initrd shell而不是阻止用户访问系统攻击者可以利用这个shell去执行一系列的操作。

由于自启动分区通常是不加密的,它可以使用SetUID去存储一个可执行文件来进行启动,并且随后就可以用来升级到本地用户权限。因此,如果boot是不安全的,随着而来的就是内核和initrd image被替换。除此之外,还可以进行信息窃取甚至是DDOS攻击。

总之,攻击者只需要按住Enter键大约70秒或更多就可以在重置密码提示之后访问该shell。

马克表示,该漏洞影响Ubuntu,Fedora,Debian等Linux发行版,甚至还会对使用linux系统的云计算业务造成严重影响。另外,该漏洞它不依赖于特定的系统或配置。攻击者可以复制、修改或者破坏硬盘。此漏洞在图书馆、ATM、机场机器、实验室等环境中影响尤为严重。

目前该漏洞已修复,并且Marco和Ripoll已开发了一套解决方案用于抵抗攻击。不过不排除在修复期间,漏洞被伪造的可能性。

源链接

Hacking more

...