Windows 10 Netzwerkfreigaben unter DOS 6.22 einbinden

Geschrieben von Andreas am 05. Mai 2020

Ich hätte es ja fast nicht geglaubt, aber es ist tatsächlich möglich von einem DOS aus auf Windows 10 Netzwerkfreigaben zuzugreifen. Ich habe das Ganze mit zwei VMs ausprobiert. Die beiden VMs waren per virtuellem Switch gekoppelt.

Vorbereitung

DOS ist ja nun nicht mehr das neueste System und wird auch schon lange nicht mehr wirklich aktualisiert. Daher müssen einige ältere Protokolle in der Windows 10 Maschine wieder aktiviert werden. Diese alten Protokolle sind aus Sicherheitsgründen inzwischen standardmäßig abgeschaltet!

Warnung

Um mit DOS kommunizieren zu können, muss das Windows 10 an diversen Stellen unsicherer gemacht werden. U.a. ermöglichen diese Einstellungen, dass Passwörter über das Netzwerk schneller durch Ausprobieren erraten werden können. Das gilt dann für alle Netzwerkschnittstellen. Eine so modifizierte Windows 10 Installation sollte durch netzwerkseitige Maßnahmen (z.b. Isolation so dass nur noch ausgewählte andere PCs oder Server darauf Zugriff haben) geschützt werden.

Am sinnvollsten ist es, der Windows 10 Maschine eine separate Netzwerkkarte zur Kommunikation mit den DOS Installationen zu spendieren. In diesem Netzwerk sollten alle IP Addressen statisch vergeben werden. Prinzipiell kann DOS zwar mit DHCP umgehen, allerdings funktioniert die dynamische NetBIOS Namensauflösung in Zusammenhang mit Windows 10 nicht richtig. Das gilt insbesondere, wenn Windows 10 mehr als eine Netzwerkkarte hat. Daher muss die IP-Namenszuordnung im DOS fest eingestellt werden.

Windows 10 Konfigurieren

Rechnernamen konfigurieren

Der Name des Windows 10 Rechners darf nicht länger als 15 Buchstaben sein. Die entsprechende Einstellung kann man unter „System Info“ in der Systemsteuerung vornehmen.

SMBv1 Protokoll aktivieren

DOS 6.22 bzw. um genauer zu sein Microsoft Network Client 3.0 verwenden das SMBv1 Protokoll. Dieses Protokoll wird ab Windows 10 nicht mehr mit installiert und wenn es vorher installiert war und 15 Tage lang nicht genutzt wurde, sogar automatisch deinstalliert. Um dieses Verhalten abzustellen und SMBv1 Protokoll zu installieren, müssen die „Windows Komponenten/Funktionen angepasst werden“. Dazu startet man das Programm

OptionalFeatures.exe

und wählt dann im folgenden Dialog

../_images/win10-smbv1.png

SMBv1 Protokoll unter Windows 10 einrichten

Dialogfenster mit „OK“ bestätigen und Installation abwarten.

Bemerkung

Je nach verwendeter Windowsversion könnte ein Windowsupdate bei Windows 10 dazu führen, dass sich diese Einstellungen auf magische Weise von selbst ändern. Man sollte das regelmäßig prüfen

LM Authentifizierung aktivieren

Ob des hohen Alters kennt DOS nur das sogenannte „LM“ Protokoll zur Zugangsprüfung. (Dieses alte Protokoll ist auch der Ursprung der Sicherheitsprobleme.) Zum Aktivieren müssen die entsprechenden Gruppenrichtlinien angepasst werden. Das kann man entweder per Gruppenrichtlinieneditor machen oder man benutzt einfach den Registrierungseditor mittels

regedit.exe

und setzt dann die folgenden DWORD-Werte (32-Bit) in der Registrierung. Eventuell müssen die DWORD-Werte noch angelegt werden:

HKLM\SYSTEM\CurrentControlSet\Control\Lsa\LmCompatibilityLevel:
 Dieser Schlüssel muss auf den Wert 0x00000001 gesetzt werden damit Windows das LM Protokoll akzeptiert.
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\NoLmHash:
 Das LM Protokoll benötigt die Passwörter in einer anderen Form als diese unter Windows 10 normalerweise abgespeichert werden. Deswegen muss hier der Wert auf 0x00000000 gesetzt werden, damit Windows das Passwort in beiden Formaten abspeichert.

Genaue Details zu diesen Werten und den Folgen erfährt man von Microsoft hier [1] und hier [2].

Achtung

Im Anschluss muss der Windows 10 Rechner neu gestartet werden!

Bemerkung

Diese beiden Einstellungen in der Systemregistrierung bzw. lokale Gruppenrichtlinien können bei Windows Installationen die Teil einer Windows Domäne (Active Directory) sind durch domänenweite Gruppenrichtlinien überschrieben und damit unwirksam werden. Hier muss dann mit den Domänenadministratoren gesprochen werden.

Passwort neu setzen/Benutzer anlegen

Achtung

Nachdem das Windows 10 neu gebootet hat muss das Passwort, für den Benutzerzugang den DOS benutzen soll, neu gesetzt werden. Dabei muss das Passwort auf einen anderen Werte gesetzt werden! (Man kann es ja zweimal nacheinander ändern) Dieser Schritt ist zwingend notwendig damit das Passwort in dem für das LM Protokoll notwendigen Format abgespeichert werden kann.

Es macht Sinn einen eigenen Benutzer für den Netzwerkzugriff von DOS aus anzulegen. Zum Anlegen oder Ändern des Passworts kann man normalerweise die Benutzerverwaltung verwenden, zu starten mit

lusrmgr.msc

Ein Windows 10 Home überascht einen damit, dass dieses Snap-In nicht verwendet werden kann. Microsoft versucht hier die Kunden zum Anlegen eines Microsoft/Cloud basierten Zugangs zu erzwingen. Glücklicherweise kann man als Abhilfe unter Windows 10 Home stattdessen ein anderes Programm verwenden: (Das kann jedoch keine Gruppen anlegen)

netplwiz.exe
../_images/win10-home-user.png

Lokalen Benutzer unter Windows 10 Home einrichten

Freigabe einrichten

Zum Schluss muss dann noch die Freigabe eingerichtet werden. Der Benutzer, den DOS später nutzen soll muss sowohl in der Freigabe als auch in den allgemeinen Ordnereinstellungen die benötigten Berechtigungen erhalten: Lesen, Schreiben(?) …

Achtung

Die Länge des Freigabenamens darf 12 Buchstaben nicht überschreiten. DOS kann mit längeren Namen nicht umgehen.

DOS konfigurieren

Netzwerktreiber und Microsoft Network Client v3.0 einrichten

Bei DOS sind der Netzwerktreiber und der Netzwerkclient mehr oder weniger unter einem Programm zusammengefasst. Zunächst muss man den Microsoft Network Client v3.0 herunterladen. Den findet man im Web an verschiedenen Stellen, ich kann hier keine wirklich vertrauenswürdige Quelle nennen. Die Software besteht aus zwei .EXE Dateien die in Wirklichkeit Zip Archive sind. Man muss diese Entpacken und den Inhalt auf je eine 1.44MB Floppy packen. Wenn man eine VM benutzt kann man auch eine weitere Festplatte für DOS anlegen und dort den Inhalt beider Zip Archive zusammen in ein Verzeichnis kopieren. (Geht natürlich auch bei Zip Disketten, DOS mit CDROM Treiber…)

Als zweites benötigt man den passenden NDIS2 Treiber für seine Netzwerkkarte. Diese erkennt man u.a. an einer Treiberdatei die auf .DOS endet.

Bemerkung

In der KVM/QEMU virtuellen Maschine hatte ich weder mit dem Realtek 8139 noch dem Intel e1000 Treiber Erfolg. (Ja es gibt von Intel sogar für Gigabit noch DOS Treiber) Erst mit der „pcnet“ Emulation von QEMU und der dazugehörigen DOS Treiber hat es dann geklappt. Diese kann man aber im virt-manager tool nicht auswählen, man muss die Konfiguration händisch mit virsh edit bearbeiten

Den Treiber kopiert man auch auf eine Diskette.

So bewaffnet kann man endlich DOS starten und die SETUP.EXE vom Microsoft Network Client v3.0 starten. Diese wird zunächst das Program selbst auf die Festplatte, typischerweise nach C:\NET, installieren. Dann kann man in einem Dialog den gewünschten Netzwerktreiber auswählen. Unter der Option „Other adapter…“ gibt man zunächst den Pfad zu dem Treiber an. Als nächstes müssen die richtigen Protokolle ausgewählt sein. Dazu benutzt man die <TAB> Taste um zwischen dem oberen Fenster und dem unteren Fenster hin und her zuschalten.

../_images/dos-msnet-setup.png

DOS Netzwerkkonfiguration

Im oberen Fenster wird gewählt was bearbeitet werden soll, im unteren Fenster wählt man die Aktion. Als ersten Schritt ist das NWLink-Protokoll zu entfernen und das TCP/IP- und danach das NetBEUI Protokoll hinzuzufügen. Um TCP/IP für DHCP oder statische Adressen zu konfigurieren muss im oberen Fenster das TCP/IP Protokoll ausgewählt sein und im unteren Fenster „Change Settings“. Ist man mit allem fertig, verlässt man den Dialog mit „Network configuration is correct“. Als weitere Einstellungen muss man noch den Benutzernamen und die Arbeitsgruppe (typischerweise WORKGROUP) festlegen. Wenn man mit allem fertig ist und das Setup-Program die Einstellungen vorgenommen hat wird DOS neu gestartet.

Namens und IP Zuordnung vornehmen

In der Theorie kann DOS die IP Adresse des Windows 10 Rechners selber herausfinden. Leider funktioniert das nicht zuverlässig. Insbesondere wenn der Windows 10 Rechner mehrere IP Adressen hat, kommt DOS nicht mit der Antwort des Windows 10 Rechners zurecht und versucht es dann oftmals mit der falsche IP Adresse. Daher sollte man die Zuordnung zwischen IP und Rechnername im DOS fest konfigurieren. Dazu bearbeitet man mit dem Editor die Dateien C:\NET\LMHOSTS und C:\NET\HOSTS:

edit C:\NET\LMHOSTS

Die Dateien haben ein sehr einfaches Format wie in folgendem Bild zu sehen ist.

../_images/dos-edit-lmhosts.png

DOS Namensauflösung

Im Anschluss muss das DOS wiederum neu gestartet werden.

Netzwerkfreigabe einbinden

Nun kommen wir endlich zum letzten Schritt, nämlich die Netzwerkfreigabe von Windows 10 unter DOS als Laufwerk einzubinden. Dazu wird der net use Befehl benutzt. (Leerzeichen beachten!)

net use e: \\buero\test

Es wird dann nochmals der Benutzername und dann auch das Passwort abgefragt. Das Ergebnis sieht man im nächsten Bildschirmfoto:

../_images/dos-net-use.png

Netzwerkfreigabe unter DOS einbinden

Die Fehlermeldung hier kommt daher, dass ich den Befehl bereits vorher eingegeben hatte und sich DOS das irgendwie merkt und das Laufwerk beim Starten des „Workstation Dienstes“ automatisch wieder einbindet. Dabei wollen wir es hier jedoch belassen. Mehr Details dazu und wie man das automatisiert beim Starten machen kann findet man sicher im Web.

Links

[1]https://support.microsoft.com/en-us/help/823659/client-service-and-program-issues-can-occur-if-you-change-security-set
[2]https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/jj852207(v=ws.11)?redirectedfrom=MSDN