漏洞来源

这个安全问题来源于Cryptsetup存在的一个漏洞(CVE-2016-4484)。Cryptsetup是在Linux统一密钥设置(Linux Unified Key Setup, LUKS)中用来加密磁盘的软件,而LUKS则是Linux系统中标准的磁盘加密。

   

漏洞其实是出现在系统后Cryptsetup处理密码输入错误的时候,它会允许用户多次重试输入密码。而当用户输入错误93次后,程序就会给用户一个带root权限的shell(busybox)。

也就是说,如果你重复93次输错密码,或者持续按回车键大概70秒,你就能够获得root initramfs (initial RAM filesystem) shell。获取1120.www.qixoo.qixoo.com/shell之后,你就可以复制、修改或者破坏整个硬盘,或者也可以使用网络传输数据。
漏洞能被远程利用

西班牙安全研究员Hector Marco和Ismael Ripoll发现了这一漏洞,影响范围覆盖几乎所有的Linux发行版,包括Debian, Ubuntu, Fedora, Red Hat Enterprise Linux (RHEL)和SUSE。

   

研究人员在今年奥地利维也纳举行的DeepSec会议上演示了细节:

“黑客可以从受影响系统中获取root initramfs shell。并且漏洞的成功率非常高,因为他不依赖某个特定的系统或者某个配置……这个漏洞在图书馆、ATM机、机场、实验室等场景下特别有用,因为在这些场景下,开机的过程受到(加密)保护,而我们只有键盘/鼠标。”

看到这里,你可能会认为漏洞只能在攻击者有物理接触的情况下才有可能发生。但实际上,漏洞也可以被远程触发。如果你使用的是基于linux的云服务,就可以在没有物理接触的条件下利用漏洞。
漏洞到底有多严重

值得注意的是,攻击者无法利用这个漏洞来获取加密磁盘的内容,但能进行下面的这些操作:
权限提升:

由于boot分区一般都是不加密的,因此利用漏洞黑客可以用SetUID存储一个可执行文件,然后再用本地用户身份执行进行提权。

攻击者也可以替换内核和initrd镜像。
信息泄露:

虽然攻击者无法直接读取加密的磁盘,但他能做的事还是很多的。比如,他可以把磁盘复制到外部设备,之后进行暴力破解,
DoS攻击:

黑客可以删除磁盘上的内容。

这个漏洞的影响范围包括Debian, Ubuntu, Fedora和其他一些Linux发行版本。Arch Linux和Solus用户不受影响。
解决方案

尽管漏洞能轻易触发并且影响范围大,但它的修复方案也异常简单:

首先,在LUKS密码提示窗处按压回车键70秒,检查系统是否存在漏洞。

如果存在漏洞,检查下你所使用的Linux是否发布了补丁。

如果官方没有发布补丁,你可以自行修改cryptroot文件:

# sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="panic=5 /' /etc/default/grub# grub-install

●本文编号137,以后想阅读这篇文章直接输入137即可。

●输入m可以获取到文章目录

Linux爆新漏洞,长按回车键70秒即可获得root权限的更多相关文章

  1. 替换linux系统文件etc下passwd文件的字段获取真正的root权限

    sudo与root 很多人都知道使用linux可以利用sudo来执行一些root权限执行的事情,但是sudo和root还是有很大的区别的. 区别一:sudo可以执行的命令是root账户利用/etc/s ...

  2. Linux 曝出严重安全漏洞,受限用户亦可提权至 Root 身份运行任意命令!(内附解决方案)

    本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和 ...

  3. linux 添加用户并赋予root权限

    1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户#passwd tommy   //修改密码Changing pass ...

  4. linux下添加用户并赋予root权限

    1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户#passwd tommy   //修改密码Changing pass ...

  5. Linux创建用户并赋予Root权限

    添加普通用户 [root@server ~]# useradd test //添加一个名为test的用户[root@server ~]# passwd test //修改密码Changing pass ...

  6. linux下如何添加一个用户并且让用户获得root权限 备用

    (2010-12-02 09:58:30) 转载▼ 标签: 帐号 权限 杂谈 分类: Linux 测试环境:CentOS 5.5 1.添加用户,首先用adduser命令添加一个普通用户,命令如下: # ...

  7. linux 下如何添加一个用户,并给予用户root权限

    分类专栏: Linux   1.添加用户,首先用adduser命令添加一个普通用户,命令如下: adduser tommy //添加一个名为tommy的用户 passwd tommy //修改密码 C ...

  8. linux下如何添加一个用户并且让用户获得root权限

    1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 #passwd tommy //修改密码 Changing pass ...

  9. MySQL 0Day漏洞出现 该漏洞可以拿到本地Root权限

    2016年9月12日, legalhackers.com网站发布了编号为CVE-2016-6662的0day漏洞公告 .由于该漏洞可以获得MySQL服务器的Root权限,且影响MySql5.5.5.6 ...

随机推荐

  1. bootstrap - typeahead自动补全插件

    $('#Sale').typeahead({ ajax: { url: '@Url.Action("../Contract/GetSale")', //timeout: 300, ...

  2. 将DBF文件导入Sqlserver数据库

    项目中的问题:用户选择N个dbf文件导入sql2005数据库,由于每年dbf表结构都在变化,所以在sql2005中根本就不存在,需要每年根据dbf的结构自动建表.(文章来自http://blog.cs ...

  3. 30行代码实现Javascript中的MVC

    从09年左右开始,MVC逐渐在前端领域大放异彩,并终于在刚刚过去的2015年随着React Native的推出而迎来大爆发:AngularJS.EmberJS.Backbone.ReactJS.Rio ...

  4. 踩到一个Emit的坑,留个纪念

    重现代码: var dmFoo = new DynamicMethod("Foo", typeof(void), Type.EmptyTypes); var ilFoo = dmF ...

  5. ajax post(copy part)

    srcpage var q=new XMLHttpRequest(); var data='usr=weidiao&pwd=haha'; data=encodeURI(data); var u ...

  6. Graphql介绍(Introduction to GraphQL)

    Introduction to GraphQL  GraphQL介绍 Learn about GraphQL, how it works, and how to use it in this seri ...

  7. android 获取时间

    首先,先说下java下可以正常使用的方法: import java.text.DateFormat; import java.text.SimpleDateFormat; import java.ut ...

  8. 【Alpha版本】冲刺阶段——Day 8

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...

  9. ES6新特性:Javascript中的Map和WeakMap对象

    Map对象 Map对象是一种有对应 键/值 对的对象, JS的Object也是 键/值 对的对象 : ES6中Map相对于Object对象有几个区别: 1:Object对象有原型, 也就是说他有默认的 ...

  10. 关于二叉排序树 BST

    #include<stdio.h> #include<stdlib.h> typedef struct node { double w; struct node *l,*r; ...