Cortana沉要安全缝隙安全公告
颁布功夫 2018-06-15缝隙编号
CVE-2018-8140
缝隙级别
沉要 CVSS分值:官方未评定
影响领域
受影响系统:
Microsoft Windows 10
缝霞述
相信好多用户对微软的语音副手Cortana(幼娜)都很熟悉了,甚至于对PC端的很多操作都寄托给了Cortana,但最近有钻研人员发现,Cortana也是存在安全隐患的,能够援手攻击者解锁你的系统密码。
最糟糕的情景是,若是用户在指标系统上提升了语音副手权限的话,攻击者甚至齐全有能力实现对电脑的齐全接见,同时还能够批改登陆密码等。而这种情况产生的概率很高,由于为了优化履历,用户好多时辰城市把语音副手的权限提得很高。
微软已经将该缝隙标识为“沉要”缝隙,由于想要成功利用该缝隙的话,攻击者必要对指标系统进行物理或节造台接见,并且还必要指标系统启用了Cortana服务能力实现。
利用“你好幼娜”语音号令检索敏感信息
若是你已经和Cortana对话过,那么可能已经把稳到“她”能极度美满地执行一些单一的工作,例如查找某个单词的寓意、查找某个公司的有关信息、搜索某部电影、某个演员或者某位活带头。甚至,她还能够实现数学运算。在最新版本的Windows 10系统中,我们把稳到默认是在锁定屏幕中启用“Hey Cortana(你好,幼娜)”语音号令职能的,这一职能允许任何人在锁屏时与虚构助理进行交互,导致了一些有趣景象的产生,最终导致了肆意代码执行缝隙。
我们首先要分析一下Windows索引。若是各人已经打开过Windows索引节造面板中的高级视图,就会看到“文件类型”选项卡,其中有一长串文件扩大名。针对其中的每一个扩大名,我们都能查看到索引过程中所使用的关联过滤器的具体信息。其中蕴含文件属性过滤器和其他一些过滤器,我们能够将其概括为“文件属性和文件内容过滤器”。
这也就意味着,索引过程会打开文件并对其内容进行查找,蕴含文档中的特定字符串。我们首先要相识这一点,而后再持续钻研。
借助已有的这些信息,我们想要在锁定的设备上尝试,是否能出现与未锁定设备一样的Cortana搜索了局。
尝试的了局让我们感应惊讶,这也是这次缝隙的主题地点。在锁定的设备上,我们只有向Cortana说出关键词,就会出现一个Windows的有关文件列表,如下图所示。
在解锁的推算机上,向Cortana搜索框中键入“pas”的了局:
在锁定的推算机上,喊出“Hey Cortana,P——A——S”的了局:
在前面的例子中,我们询问Cortana的词语是“pas”,只是单纯说出了三个英文字母。那我们为什么不说“pass”呢?原因在于,Cortana对于说出来的词语极度挑剔,在她的字典中没有与“pass”相对应的操作,因而会要求用户解锁设备而后使用Edge搜索该词语。另一种方式,我们也能够不用说出上述内容,而是点击“Tap and Say”(点击并说出)按钮,而后输入此文本。
此刻,我们能获得一个关键词有关文件的列表,能够显示在锁定的Windows 10设备上。
由于Cortana提供的所有了局都来自于索引文件和利用法式,并且针对某些利用法式,其文件的内容也被收入到索引之中。因而,我们此刻能够将鼠标悬停在职何有关的匹配了局上。若是是凭据文件名匹配的,那么此时能够看到文件的齐全蹊径;若是是凭据文件内容匹配的,那么可能会看到文件中的内容。
在这里必要把稳的是,整个用户文件夹也被收入索引,其中蕴含大无数文档的默认地位,OneDrive蹬壮射也蕴含在内。
使用Cortana语音号令检索敏感信息:
在把握了这些道理之后,攻击者就可能阐扬自己的设想力,从锁定设备中网络到特定的机密关键字。
在Windows屏幕锁定情况下执行代码
接下来,我们产生了这样一个疑难:是否能够进一步以授权用户的身份来执行特定代码?请各人记住,我们这个时辰只能使用语音号令,并共同鼠标、触控板、触摸屏等设备来接见Cortana给出的搜索了局列表。我们观察到,只需将鼠标悬停在文件上,就会显示出文件的齐全蹊径或内容。那么若是我们点击文件会产生什么呢?这其实取决于文件的类型,若是文件是利用法式或可执行文件,那么该文件将运行,并且只有效户正确登录后能力够接见。若是文件是文档、剧本或文本文件,那么该文件将会被相应的编纂器打开,而不能被执行。
基于此,我们能够执行各类预加载的Windows实用法式(例如推算器),但是我们不能将任何参数传递到号令行。我们能够打开蕴含PowerShell在内的剧本,但不会被执行,这些剧本将在文本编纂器(记事本)中打开。我们此刻遇到的困境就是短缺参数,攻击者只能利用本机现有的内容来实现恶意主张。然而,即便有上述限度,攻击者依然能够执行大量的恶意活动。举例来说,很多卸载法式都能够直接卸载软件,而不必要任何参数。
让我们回归到一路头的指标:在锁定屏幕执行代码。要想让某个内容在搜索了局列表中显示,唯一要求就是让该文件蕴含在索引领域中。
对于未经身份验证的攻击者来说,有多种方式能够得到想要的索引了局。其中一种步骤是依赖于OneDrive。由于OneDrive目录结构的根目录位于用户文件夹内,因而默认情况下会对OneDrive的所有内容进行索引。若是用户已经共享过一个具佑装编纂”权限的文件夹,那么共享的人员以及任何其他通过转发的链接接见的用户都能够将一个文件放入被索引的目录下。通过索引的文件,我们能实现多种类型的攻击。
规划1:投放可执行文件
此步骤假定攻击者能够将可执行文件写入磁盘,但不必要执行。通过网络垂钓攻击或者其他缝隙,攻击者能够投放一个后门(例如Cobalt Strike Beacon或Meterpreter),并起头后续的恶意活动。若是必要以治理员身份执行Payload,攻击者能够右键点击(或触摸屏上长按)该文件,并选择“以治理员身份运杏妆。
当攻击者试图运行一个没有自动提升权限的利用法式时,将会触发用户账户节造(UAC)提醒,并且系统将不会执行任何操作。然而,由于用户很少会耐心阅读提醒的内容,通�;嵯肮咝缘慊髦腋娑曰翱蛑械脑蕹砂磁�,因而这同样可能导致有效的攻击。其具体方式是,攻击者首先执行该法式,而后合法期待用户登录并点击忠告对话框中按钮后实现恶意代码的执行。若是该利用法式可能自动提升权限,则不会再出现UAC的忠告,会直接执行该利用法式。
这是一个极度有趣的行为,但可能不会作为一个攻击者常用的攻击场景,所以让我们持续钻研其他的规划。此时,我们思考到既然可能对设备进行物理接触,为什么不使用USB Key来投放Payload呢?USB Key的内容没有参与到索引之中,因而不会作为搜索查问的了局出现出来。(后文中还有其他USB设备的利用规划,请持续阅读)
规划2:投放一个非PE的Payload
只管可移植可执行(PE)后门很棒,但我们在思考,是否还能够通过非PE的Payload(例如PowerShell剧本)来实现代码执行?我们能够使用一样的右键职能来辅助实现,只必要稍作调整即可。即便是针对特定的文件类型,它们的右键菜单也不总是一样的。
当我们向Cortana询问“PS1”时,能够看到索引中出现PowerShell剧本。通过右键点击,我们可能“打开文件地点地位”或“复造齐全蹊径”,但不能执行该剧本。
正如前文所描述过的,若是我们单击该文件,该文件将以编纂模式打开。奇怪的是,系统并不会选择PowerShell剧本的默认编纂器(PowerShell ISE),而会在记事本中打开剧本。我们理解为这是一种安全措施,与PowerShell ISE分歧,记事本不能执行剧本,更拥有安全性。
我们上文中提到,Cortana会凭据用户的输入查问来批改了局。当用户登录后,若是以逐个单词的方式询问Cortana“txt”,将会显示出文本文档、记事本和最近由记事本打开的文档。然而,针对“最近使用的文件”类别和“文档”类别中的文件,其右键单击后出现的菜单是不一样的。
“最近”类别中文件的右键菜单:
“文档”类别中文件的右键菜单:
基于此,宝运莱官方网站步骤如下:
1、将一个PowerShell剧本放在会被索引的地位,例如公用文件加注公用共享或OneDrive。
2、执行搜索操作,并点击搜索到的剧本:
(1) 说出“Hey Cortana, PS1”;
(2) 选择刚刚搁置的PowerShell剧本,并且左键单击;
(3) PowerShell剧本会在记事本中打开。
3、执行最近使用的文本文档的搜索操作,右键单击,而后启动:
(1) 使用Cortana,搜索关键词“txt”;
(2) 在“最近使用的文件”选项卡中,找到该PowerShell剧本,并右键点击;
(3) 选择“使用PowerShell运杏妆。
此刻,我们使用该Payload来实现本地代码执行。在最新版本的Windows 10系统上,即便已经锁定,该代码也能成功执行。
我们刚刚进行的分析过程,有助于我们理解Windows在锁定和解锁的系统中,针对利用法式、文档等分歧扩大,拥有分歧的处置方式。然而,由于其中蕴含用户交互过程,因而这种规划可能不切合真实世界中的攻击场景。宝运莱官方网站尝试还没有实现。
无用户交互登录到锁定设备
目前,我们已经能够进行本地代码执行,但这一过程还有一些限度。首先,我们必要让Payload参与到索引中,同时,我们无法传递号令行参数。这可能是在PowerShell进行攻击过程中的一个限度成分,由于相应的执行战术可能会阻止它的执行,并且在没有号令行参数的前提下,我们无法进杏装-ExecutionPolicy Bypass”(或其他类似风格的攻击)。此刻,我们必须找到一种步骤在用户的主机上搁置PS1剧本,并且能够远程接见物理主机或进行登录。
回首刚刚的尝试,我们使用键盘输入,在锁定屏幕上触发了搜索关键词菜单。任何按键都能在Cortana收听用户语音指令的过程中触发这一菜单。在此时,我们能够按空格键,其原因在于我们此时无法使用退格键,并且Windows会自动忽略掉文本了局中的空格。若是我们在Cortana收听前按键,或在早于挪用键盘输入的时辰按键,系统城市提醒我们输入密码。若是按键的功夫太晚,Cortana可能又会进入到休眠模式(不侦听语音指令),或者返回不含关键词菜单的正常了局。
除了语音指令表,使用键盘的方式可能不是太直观,但若是触发了Cortana的侦听,就能够依照在解锁后Windows中的方式来输入搜索内容。
下面的截图中展示了如下步骤:
1、通过“Tap and Say”或“Hey Cortana”触发Cortana的侦听;
2、问一个问题,例如:“此刻几点”;
3、按下空格键,出现关键词菜单;
4、按下ESC键,菜单隐没;
5、再次按下空格键,出现关键词菜单,但此时没有关键词,所以查问了局是空的;
6、起头输入,把稳在输入过程中不能使用退格键Backspace;
7、在输入号令后,单击“号令”类别中的条款(只有当输入被鉴别成号令后,才会显示这一类别);
8、我们能够点击右键,选择“以治理员身份运杏妆(但必要把稳,必须在用户登录后能力关关UAC防护机造)。
我们能够使用下面示例中的单一PowerShell号令来进行尝试,该试验在锁定的Windows上执行。
至此,我们就能够进行任何想要的操作了。demo(https://players.brightcove.net/21478975001/rJsQG2JOl_default/index.html?videoId=5796435398001)中展示了若何借助此技术在Windows 10操作系统上实现密码沉置及登录。
解决措施
在受缝隙影响且未建复的主机上,最单一的缓解步骤是关关“锁定屏幕上启用Cortana”职能。Microsoft已经为此颁布了一个安全布告以及相应补�。�
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2018-8140
参考资料
https://securingtomorrow.mcafee.com/mcafee-labs/want-to-break-into-a-locked-windows-10-device-ask-cortana-cve-2018-8140


京公网安备11010802024551号