CredSSP Fehlermeldung bei RDP

Beim Versuch, auf einen Server (oder eine Workstation) zu verbinden, bekommt man folgende Fehlermeldung:

Authentifizierungsfehler. Die angeforderte Funktion wird nicht unterstützt. Ursache könnte eine CredSSP Encryption Oracle Remediation sein.

Was zunächst kryptisch erscheint, sagt eigentlich nur, dass entweder der Server oder der Client ein Sicherheitspatch nicht installiert haben. Die Verbindung wird daher nicht akzeptiert.

Fehlender Patch auf Server

Sollte es der Server sein, der diesen Patch nicht installiert hat, hat man spätestens jetzt ein Problem – wie soll man diesen ohne Zugriff installieren?

Lösung dafür – auf dem Client unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters einen DWORD-Eintrag AllowEncryptionOracle erstellen und diesen auf 2 setzen.

Alternativ kann man auch eine .reg-Datei mit folgendem Inhalt erstellen:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters]
"AllowEncryptionOracle"=dword:00000002Code-Sprache: JavaScript (javascript)

Oder als schnellere Variante in der CMD:

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

Oder als Powershell:


Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters' -name "AllowEncryptionOracle" 2 -Type DWordCode-Sprache: JavaScript (javascript)

Ein Neustart ist bei allen drei Varianten (obviously, sie machen ja das selbe) nicht erforderlich.

Fehlender Patch auf Client

Wenn der Client den Patch nicht installiert hat, kann dieser einfach über Windows Update nachinstalliert werden. Sollte dies gerade nicht möglich sein können wir auf dem Server versuchen, über Remote Powershell die Verbindung von ungepatchten Clients zu erlauben.

Dazu stufen wir den entfernten Server, hier beispielsweise 10.1.2.3, als vertrauenswürdig ein. Powershell als Admin:

Set-item wsman:\localhost\Client\TrustedHosts -value 10.1.2.3Code-Sprache: CSS (css)

Sollte er was von WinRM-Dienst fragen, bestätigen. Nächster Schritt Aufbau der Remote-Verbindung zum Server:

Enter-PSSession -ComputerName 10.1.2.3Code-Sprache: CSS (css)

Und Setzen des Registry-Keys:

Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters' -name "AllowEncryptionOracle" 2 -Type DWordCode-Sprache: JavaScript (javascript)

Ein Neustart ist nicht erforderlich.

Aktualisierung am 22.11.2021 – Hinzufügen der CMD/Powershell-Befehle sowie Erläuterung des Setzen des Registry-Keys über Remote Powershell

Kategorien:Windows Server