Creopard header Logo

Auf alte Windows XP Freigaben im Netzwerk zugreifen (SMB1 + NTLMv2)

Update: 11.03.2025 | Erstellt: 12.12.2024 von creopard

Unterstüzen Sie dieses Projekt mit Ihrer Spende

Hurra,
Ihr Werbeblocker funktioniert!

Wenn Sie unsere Inhalte nützlich finden, würden wir uns über eine kleine Unterstützung freuen. Sie können auch gerne Ihren Werbeblocker für diese Seite deaktivieren, um kostenlose Dienste weiterhin zu ermöglichen.
Dieser Hinweis erscheint, weil Sie einen Werbeblocker verwenden.

Auf alte Windows XP Freigaben im Netzwerk zugreifen (SMB1 + NTLMv2)
Klick zum Vergrößern
Windows XP mit standardmäßig aktiviertem NTLMv2 ("Nur NTLMv2-Antworten senden")

Im Retro-Computing Bereich möchte ja man oft Daten zwischen einzelnen Retro-PCs im heimischen Netzwerk austauschen. Am Besten auch mit den windowseigenen Bordmitteln der Netzwerkfreigabe.

Es gibt bereits einen Artikel, der die Schritte beschreibt, um auf Windows 98 Netzwerkfreigaben (SMB) von Windows 10 aus zuzugreifen. Hier genügte es bereits, das veraltete SMB1-Protokoll auf Windows 10 mit einem Powershell Befehl wieder zu aktivieren.

Wiederholt man allerdings die im Link angegebenen Schritte, um von Windows 11 (23H2) auf eine Windows XP Freigabe im Netzwerk zuzugreifen, erhält man sehr wahrscheinlich die Fehlermeldung:

Systemfehler 86 aufgetreten.
Das angegebene Netzwerkkennwort ist falsch.

Man ist sich aber sicher, dass die Kombination aus Benutzername und Passwort für die Windows XP Freigabe richtig ist.

Hier hilft folgende Lösung:


Problem: unterschiedlichen Authentifizierungseinstellungen

Ob man von dem Problem betroffen ist, kann man auch schnell herausfinden, wenn man in der Windows 11 Kommandozeile folgenden Befehl eingibt:

net use Z: \\IPAdresse\Freigabename Passwort /user:Benutzername /persistent:no

(Die IP-Adresse, Freigabename, Passwort und Benutzername sind natürlich entsprechend zu ersetzen.)

Erscheint dann die oben genannte Fehlermeldung, kann Windows 11 (23H2) mit aktiviertem SMB1 nicht auf die Freigabe von Windows XP zugreifen, obwohl das Passwort 100%ig richtig ist. Das Problem liegt an den unterschiedlichen Authentifizierungseinstellungen der beiden Systeme.

Hinweis: Man sollte sich dessen bewusst sein, dass das SMB1-Protokoll aus Sicherheitsgründen absichtlich ab Windows 10 deaktiviert wurde. Das Gleiche gilt auch für die schwächere NTLMv2-Authentifizierung.

Lösung ab Windows 11 (24H2):

Durch das SMB-Hardening, das Microsoft ab 24H2 vorantreibt, funktioniert die unten genannte Lösung nicht mehr. Er kann von einem 24H2-Windows auf ein Windows XP nicht mehr zugegriffen werden.

Auch die Deaktivierung einzelner neuer 24H2-Features wie EnableSecuritySignature oder RequireSecuritySignature über die Powershell hilft leider nicht weiter.

Versucht wurden folgende Schritte:

  1. Set-SmbClientConfiguration -EnableSecuritySignature $false
  2. Set-SmbClientConfiguration -RequireSecuritySignature $false
  3. mit Regedit im Pfad HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters einen neuen DWORD-Wert (32 Bit) namens "AllowInsecureGuestAuth" anlegen und den Wert auf 1 setzen.


Leider bleibt nach einem Neustart die o.g. Fehlermeldung 86 weiterhin bestehen und ein Zugriff von Windows 11 (24H2) auf Windows XP ist nicht möglich.

Workaround: Immerhin funktioniert es noch, von Windows XP auf Windows 11 (24H2) zuzugreifen, wenn unter Windows 11 das SMB1-Protokoll installiert ist.
(Wahrscheinlich ist es unter Windows 11 trotzdem notwendig, die unten genannte Option mit Nur NTLMv2-Antworten senden zu setzen.)

 

Lösung bis Windows 11 (23H2):

Unter Windows 11 ist standardmäßig die Richtlinie "LAN Manager-Authentifizierungsebene" nicht mehr voreingestellt, so dass diese Anfragen nicht mehr bearbeitet werden können.

Die Idee ist nun, Windows 11 und Windows XP auf einen gemeinsamen Nenner zu bekommen, indem bei beiden Systemen die größtmögliche Authentifizierungsebene (= NTLMv2) eingestellt wird, die Windows XP noch beherrscht. Standardmäßig ist Windows XP bereits auf der Stufe Nur NTLMv2-Antworten senden eingestellt, aber zur Sicherheit nochmal kontrollieren.

Authentifizierungsebene im Netzwerk prüfen bzw. einstellen:

  1. In das Windows Suchfeld secpol.msc eingeben und mit Enter bestätigen (Administratorrechte notwendig), um das Programm für die "Lokale Sicherheitsrichtlinien" zu starten.
  2. Zur Ordnerstruktur Sicherheitseinstellungen -> Lokale Richtlinien -> Sicherheitsoptionen navigieren.
  3. Die Einstellung Netzwerksicherheit: LAN Manager-Authentifizierungsebene auf der rechten Seite finden und doppelklicken.
  4. Den Eintrag von Nicht definiert auf Nur NTLMv2-Antworten senden ändern.

    secpol-win11
    Bild: Sicherheitseinstellungen unter Windows 11

  5. Ein Neustart ist nicht erforderlich.
  6. Ab jetzt erscheint die Fehlermeldung nicht mehr und nun kann problemlos auf die XP-Freigabe zugegriffen werden.

 

Hintergrund:

Die Authentifizierung mit NTLM bzw. NTLMv1 und NTMLv2 gelten mittlerweile als veraltet. NTLMv1 wird ab Windows 11 24H2 und Windows Server 2025 entfernt. NTLMv2 bleibt vorerst erhalten, allerdings hat Microsoft bereits angekündigt, dass alle Versionen von NTLM, einschließlich LANMAN, NTLMv1 und NTLMv2, nicht mehr aktiv weiterentwickelt werden.

Bei der Option Nur NTLMv2-Antworten senden werden von Netzwerk-Clients nur NTLMv2-Authentifizierung sowie NTLMv2-Sitzungssicherheit verwendet, wenn diese vom Server unterstützt wird; von Domänencontrollern werden LM-, NTLM- und NTLMv2-Authentifizierung akzeptiert.

Bei Windows XP ist diese Richtlinie standardmäßig auf Nur NTLMv2-Antworten Senden voreingestellt. Somit sendet ein Windows XP Antworten, die ein moderneres Windows 11 nicht mehr versteht. Mit der Änderung wird Windows 11 wieder in die Lage versetzt, die alte NTLMv2-Authentifizierung wieder zu unterstützen.

Siehe auch: Microsoft KB823659, Kapitel 10 (via archive.org).

Das bedeutet aber auch, dass man auf ein Sicherheitsmerkmal bewusst verzichtet - was im Kontext eines privaten Retro-Netzwerks vielleicht nicht so wichtig ist, wie in einem Firmennetzwerk.

Im Fall des Falles - Änderung zurücknehmen:

Sollte es nach Änderung diese Einstellung zu Problemen mit anderen Netzwerkverbindungen kommen, kann die Änderung ganz einfach rückgängig gemacht werden:

Dazu die Registry über regedit.exe starten und zum Pfad Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa navigieren. Auf der rechten Seite sieht man den Eintrag LmCompatibilityLevel der aktuell auf (3) gesetzt ist. Um die Änderung rückgängig zu machen, reicht es aus die Zeile mit LmCompatibilityLevel komplett zu entfernen. Nach dem erneuten Öffnen der secpol.msc erscheint dann der Eintrag Netzwerksicherheit: LAN Manager-Authentifizierungsebene wieder als Nicht definiert.


MastodonDiesen Beitrag auf Mastodon teilen





Ähnliche Blogartikel mit folgenden Schlagwörtern anzeigen:




Unterstützen Sie uns:

Wenn Ihnen unsere Projekte gefallen, dann freuen wir uns über Ihre Unterstützung!
Unterstüzen Sie dieses Projekt mit Ihrer Spende

Unterstüzen Sie dieses Projekt mit Ihrer Spende

Hurra,
Ihr Werbeblocker funktioniert!

Wenn Sie unsere Inhalte nützlich finden, würden wir uns über eine kleine Unterstützung freuen. Sie können auch gerne Ihren Werbeblocker für diese Seite deaktivieren, um kostenlose Dienste weiterhin zu ermöglichen.
Dieser Hinweis erscheint, weil Sie einen Werbeblocker verwenden.