更新Windows 2018/05/08之后的远程桌面连接错误-CVE-2018-0886的CredSSP更新


90

Windows Update之后,尝试使用远程桌面连接连接到服务器时出现此错误。

读取错误消息提供的链接时,似乎是由于2018/05/08有更新:

2018年5月8日

将默认设置从“易受攻击”更改为“已缓解”的更新。

相关的Microsoft知识库编号在CVE-2018-0886中列出。

有解决方案吗?

错误RDC


1
(元:更新贴在帖子的末尾,以确保新读者仍然可以理解它们,答案贴在答案空间中,而不是合并成问题。谢谢)。
halfer

Answers:


21

(代表问题作者发布了答案)

就像在某些答案中一样,针对此错误的最佳解决方案是将服务器和客户端都更新为Microsoft的> = 2018-05-08更新。

如果您不能同时更新它们(即,您只能更新客户端服务器),则可以应用以下答案中的一种解决方法,并尽快将配置更改回原来的位置,以最大程度地缩短解决方法引入的漏洞的持续时间。


这是极少数情况下可接受的答案也是最佳答案之一。其他答案使您容易受到CVE-2018-0886的攻击:“未修补的CredSSP版本中存在一个远程执行代码漏洞。成功利用此漏洞的攻击者可以中继用户凭据以在目标系统上执行代码。任何依赖CredSSP的应用程序进行身份验证可能很容易受到此类攻击。”
布里亚姆'18

我们找到了一个方便的,非侵入性的解决方法-我们能够使用我们的一台服务器作为跳线盒进行RDP
OutstandingBill

如果客户端和服务器都在同一个本地网络中并且仅在路由器后面没有任何开放端口的情况下暴露给Internet,那么您是否知道此漏洞的严重程度?
Kevkong

@Kevkong:这是我为问题作者发布的Wiki答案。您可以根据需要在问题下对其进行ping操作。
半夜

嗨@Peter:感谢您的修改。大多数情况下,他们都同意这一点,但是为了使IMO遵守版权许可规则,必须对它进行元介绍。我在Stack Overflow上有几百个这样的组件,Meta认为这不仅需要保留,而且有些人认为它不够用,应该命名OP。这种不同的观点并没有赢得太多关注,但是显示了如何最好地实现归因的广泛观点。但是,基本上,我们不能删除作者身份。可以恢复吗?
半夜

90

使用cmd替代gpedit的方法:

reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /f /v AllowEncryptionOracle /t REG_DWORD /d 2

4
救生员。对于使用Windows 10 Home的用户,这应该可以完美工作。只记得以管理员身份运行cmd。

1
此命令在Windows 8上运行。谢谢
Jairath '18

1
实际上,问题在于服务器上仍在安装更新,因此无法建立连接。只是等待,它奏效了。serverfault.com/questions/387593/…–
tobiak777

1
@pghcpa忽略该命令,该命令将创建丢失的注册表节点并为您插入参数。如果您无法使用导致此问题的安全补丁更新服务器,则可以真正节省生命。
Gergely Lukacsy

1
我不知道为什么,但是
它能

39

我找到了一种解决方案。如帮助链接中所述,我尝试通过更改此组策略的值从2018/05/08更新回滚:

  • 运行gpedit.msc

  • 计算机配置->管理模板->系统->凭据委派->加密Oracle修复

将其更改为“ 启用”,然后在“保护”级别中,更改回“ 易受攻击”

我不确定它是否可以回滚攻击者利用我的连接的任何风险。我希望Microsoft尽快解决此问题,以便将设置恢复为建议的“ 缓解”设置。

在此处输入图片说明


我的系统没有Windows Encryption Oracle Remediation的选项,它是Windows 2012服务器。看起来它应用了5/8安全更新。

4
我发现对我们而言,客户就是“问题”。服务器没有最新更新。客户确实有最新更新,所以他们将无法使用。服务器更新后,一切正常。

对于那些不确定从哪里开始的人,请运行“ gpedit.msc”,然后按照上面的说明进行操作。
格伦·利特尔

这在我的Windows 10系统上不起作用。手动更新CredSSP注册表项确实可以连接-我只打算做足够长的时间以将计算机修补到当前标准。
Tom W

12

另一种方法是从MS Store安装Microsoft远程桌面客户端-https: //www.microsoft.com/zh-cn/store/p/microsoft-remote-desktop/9wzdncrfj3ps


2
谢谢,希望它有一天会复制/粘贴文件而不是共享文件夹。只有共享剪贴板才能复制/粘贴文本
Pham X. Bach,

Windows App Store RDP客户端缺少内置的许多自定义和集成功能,mstsc.exe因此很难认真对待。从安全的角度来看,它甚至不让您查看用于安全连接的证书(我上次检查),它还缺少智能卡支持,多监视器跨接,驱动器重定向等。微软自己的比较表揭示了它是多么贫乏
Dai)

6

仅在我的Hyper-V VM中会发生此问题,并且可以将其远程传输到物理计算机。

转到此PC →系统设置→服务器上的高级系统设置,然后取消选中目标VM“仅允许运行带有网络级别身份验证的运行远程桌面的计算机进行连接(推荐)”,从而解决了该问题。

取消选中


他妈的。我启用了该选项,忘记了,两个小时后,我意识到这是问题所在。😩
沙菲克AL-Shaar

3

按照ac19501的回答,我创建了两个注册表文件来简化此操作:

rdp_insecure_on.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters]
@=""
"AllowEncryptionOracle"=dword:00000002

rdp_insecure_off.reg

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters]

2

在打印屏幕上更新GPO示例。

根据答案“ reg添加“ HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ System \ CredSSP \ Parameters” / f / v AllowEncryptionOracle / t REG_DWORD / d 2”

打印画面

关键路径:Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ System \ CredSSP \ Parameters
值名称:AllowEncryptionOracle
值数据:2


2

我遇到了同样的问题。更好的解决方案是更新您要连接的计算机,而不是使用Pham X Bach Answer来降低安全级别。

但是,如果由于某种原因而无法更新计算机,则可以使用他的解决方法。


抱歉误会您的答案。是最好的解决办法应该是更新服务器和所有客户端版本> =从MS的2018年5月8日更新
范X.巴赫


1

您需要使用Windows Update更新Windows Server。将安装所有必需的补丁程序。然后,您可以再次通过远程桌面连接到服务器。

您需要安装kb4103725

有关更多信息,访问:https : //support.microsoft.com/zh-cn/help/4103725/windows-81-update-kb4103725


对于那些无法访问远程服务器的人,我仍然可以使用Android远程桌面访问我的服务器。然后,您可以安装补丁程序并通过Windows客户端解决远程桌面连接问题。

1

对于服务器,我们还可以通过远程PowerShell更改设置(假设启用了WinRM等)。

$Server = remoteHostName
Invoke-Command -ComputerName $Server -ScriptBlock {(Get-WmiObject -class Win32_TSGeneralSetting -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'").SetUserAuthenticationRequired(0)} -Credential (Get-Credential)

现在,如果此设置是由域GPO管理的,则很有可能将其还原,因此您需要检查GPO。但是,为了快速解决此问题。

参考:https : //www.petri.com/disable-remote-desktop-network-level-authentication-using-powershell


1

如果您有权访问命令行(我们在盒子上运行SSH服务器),那么另一个选择是从命令行运行“ sconfig.cmd”。您会得到如下菜单:

在此处输入图片说明

选择选项7,然后为所有客户端打开它,而不仅仅是安全。

一旦完成,您就可以远程桌面了。对于我们来说,问题似乎是我们的客户端系统已针对新的安全性进行了更新,但服务器盒的更新却滞后了。我建议获取更新,然后重新打开此安全设置。


1

卸载:

  • 对于Windows 7和8.1:KB4103718和/或KB4093114 
  • 对于Windows 10:KB4103721和/或KB4103727服务器没有更新 

此更新包含漏洞CVE-2018-0886的补丁程序。在未打补丁的服务器上,它允许它们不带它们进入。


2
欢迎来到超级用户!您能解释一下为什么卸载这些KB会有所帮助吗?
伯蒂卜

因为此更新包含针对漏洞CVE-2018-0886的补丁,因此非补丁服务器上的漏洞无需它们即可进入
EXPY 18'May
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.