Wenn Windows weiß waschen nicht reicht

Daß die IT-Branche ein schnelllebiges Geschäft ist, weiß eigentlich jeder. Ein Bereich, für den das ganz besonders gilt, sind allerdings Schädlingsprogramme aller Art (Viren, Trojaner, Rootkits, Scareware, etc.). Auf die Veröffentlichung von Sicherheitslücken hin vergehen inzwischen oft nur mehr Stunden anstatt Tage, bis Exploits dafür auftauchen oder auch gleich in Frameworks wie Metasploit eingebaut werden.

Das Resultat sind, trotz verbesserter Abwehrmaßnahmen, weiterhin haufenweise infizierte PCs, auch oder gerade hier an der Uni. Daher möchte ich zu meinen früheren Veröffentlichungen rund um das Thema Virenbefall einmal ein aktuelles Update geben und etwas ausführlicher auf die Abhilfe bei einem derzeit sehr häufigen Problem bei virenbefallenen PCs mit Windows XP eingehen.

Gefahrenherde

Wie auch schon beim letzten Mal erwähnt,  ist die beste Methode, um einen mit Schädlingsprogrammen infizierten Rechner zu säubern, immernoch eine Datensicherung der selbst erstellten Dateien und eine anschließende Neuinstallation (oder natürlich das Zurückspielen eines hoffentlich vorhandenen Images des Systems in einem sicheren Zustand). Leider zeigt die Erfahrung, daß von denjenigen Benutzern, die immer wieder von Schädlingsprogrammen betroffen sind, die wenigsten daran gedacht haben, rechtzeitig Images und Backups anzufertigen. Wer sich beim Lesen dieser Zeilen selbst ertappt fühlt, den Aufwand eines „richtigen“ Images aber weiterhin scheut, dem kann ich auf alle Fälle den XP-eigenen Assistenten für das „Übertragen von Dateien und Einstellungen“ ans Herz legen. Man findet ihn im Startmenü unter Zubehör, Systemprogramme. Hiermit lässt sich zumindest einmal schnell, einfach und kostenlos das „Look und Feel“ der eigenen Arbeitsumgebung sichern, das man sich nach einer Neuinstallation ansonsten mühsam und langwierig zusammenklicken müsste (aus meiner Sicht einer der nervigsten Punkte bei einer Neuinstallation, der die Freude über ein sauberes und schnelles System viel zu schnell vergehen lässt).

Eine Neuinstallation ist zwar die sinnvollste Methode, nicht immer ist sie aber auch gangbar. Nach wie vor wird es Fälle geben, in denen man eine Reinigung des infizierten Systems durchführen muß oder möchte. Wer mit derartigen Problemen häufiger zu tun hat, wie etwa die Beratung des RRZK, wird sich im Laufe der Zeit dafür sicherlich eigene Tools, z. B. auf Basis von BartPE, zurechtgelegt haben. Wer hingegen zum ersten Mal vor einem solchen Problem stand, hatte es in der Vergangenheit schwer. Zum Zeitpunkt ihrer Veröffentlichung war die Sicherheits-CD der Beratung daher ein ganz besonders wertvolles Werkzeug, da sie es ermöglichte, mit einem aktuellen Virenscanner von CD zu starten und so den Rechner auf vertrauenswürdige Weise nach Schädlingsprogrammen zu durchsuchen.

Tools für alle

Diese Situation hat sich inzwischen gewandelt: Mittlerweile bieten eine ähnliche Funktion auch die kostenlos herunterladbaren Rescue-CDs der Antivirushersteller Avira, Bitdefender, F-Secure oder Kaspersky an. Und eine DVD, mit der ein betroffener Windows-PCs „offline“ (also korrekterweise vor dem erneuten Kontakt mit dem Netzwerk) aktualisiert werden kann, kann inzwischen auch jeder mit etwas Geduld und Bandbreite nach wenigen Mausklicks selbst zusammenstellen.

Während man – was die Werkzeuge zur Virensuche angeht – inzwischen also auf ein reichhaltiges Arsenal an kostenfrei verfügbaren Lösungen durückgreifen kann, ohne selbst sehr viel Zeit investieren zu müssen, bleibt neben dem Aspekt der Unvollständigkeit sämtlicher Virensuchprogramme noch das ebenfalls sehr große Problem der „Hinterlassenschaften“ von Schädlingsprogrammen. Die Virenscanner, von einer Rescue-CD gestartet zumal, beschränken sich im Regelfall darauf, Dateien zu entfernen, die einen als schädlich bekannten Code beinhalten (eine lobenswerte Ausnahme ist hier das kostenlose Anti-Spyware-Programm Spybot Search and Destroy, welches auch unerwünschte Registry-Einstellungen erkennen und korrigieren kann). Wie schon früher erwähnt, können verstellte Einstellungen in Windows eine erneute Infektion begünstigen, so daß es oft nur eine Frage der Zeit ist, bis ein lediglich von infektiösen Dateien befreites System erneut befallen ist. Und im ungünstigsten Fall, um den es hier im Folgenden gehen soll, sind die Einstellungen in Windows so geändert worden, daß man sich nach der Virensäuberung per Rescue-CD noch nicht einmal mehr am Windows-System anmelden kann.

Auf die Anmeldung folgt die sofortige Abmeldung

Die Symptome dieses Problems sind stets die gleichen: nach der Virenreinigung wird Windows XP normal hochgefahren, man meldet sich an, der Desktophintergrund erscheint, doch wenige Sekunden später heißt es nur noch „Einstellungen werden gespeichert“  – man wird sofort wieder abgemeldet und sieht wenige Sekunden später erneut den Anmeldebildschirm. Der Hintergrund dieses Vorgangs ist ebenso perfide wie clever (das muß man den Malware-Autoren einfach neidlos zugestehen): Ein Teil des Schädlingsprogramms wird in Windows als Debugger des für den Anmeldevorgangs zuständigen Programms userinit.exe deklariert. Das führt dann dazu, daß das Schädlingsprogramm bei jedem Anmeldevorgang mit gestartet wird, in den üblichen Listen von Autostartprogrammen, wie sie etwa msconfig oder RunAlyzer anzeigen, aber nicht auftaucht. Außerdem führt diese Vorgehensweise eben dazu, daß nach dem Löschen der Schädlingsdatei diese beim nächsten Anmeldeversuch nicht mehr gefunden wird und die Anmeldung fehlschlägt, weil der von Windows als obligatorisch betrachetete „Debugger“ fehlt. Wem das nach einer Virenentfernung auf eigene Faust einmal passiert ist, wird beim nächsten Mal vermutlich auch eher bereit sein, den Anbietern von Scareware-Programmen Geld für eine „Lösung“ dieses Problems hinterherzuwerfen, wenn ansonsten nur die Möglichkeit bleibt, nochmals vor einem „verschlossenen“ Windows zu stehen.

Problem erkannt, Problem gebannt?

Selbstverständlich sollte man nicht die Machenschaften von Kriminellen unterstützen und irgendwelche dubiosen Programme erwerben, um sich nach einem Virenbefall wieder an seinem Windows-System anmelden zu können (im harmlosesten Fall sind diese überteuerten Programme einfach nur nutzlos, mit etwas Pech lädt man sich freiwillig ein weiteres Spionageprogramm auf den PC). Die Lösung ist vielmehr eigentlich ganz einfach: Man muß „nur“ in der Registry des betroffenen Systems den Schlüssel

HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionImage File Execution Optionsuserinit.exe

inklusive aller seiner Unterschlüssel löschen (und darauf achten, daß man auch wirklich unter …Windows NT… sucht, nicht bei einem anderen, ähnlich lautenden Schlüssel in der Nähe). Doch wie stellt man das an, wenn man sich noch nicht einmal mehr im abgesicherten Modus anmelden kann? Dazu gibt es mehrere denkbare Möglichkeiten. Ich schlage im folgenden gleich mehrere davon vor, die alle den gleichen Effekt haben, aber unterschiedliche Voraussetzungen mit sich bringen und in ihrer Komplexität steigend angeordnet sind. Da dies eine Beschreibung für IT-Profis ist, beschränke ich mich zudem darauf, die groben Schritte zu erklären und nicht jedes Detail, und weise auch nur an dieser Stelle noch einmal darauf hin, daß man natürlich eine Sicherungskopie anlegen sollte, bevor man Änderungen an einer so wichtigen Systemdatei vornimmt.

  1. Änderung unter Windows PE durchführen

    Voraussetzungen: Man verfügt über eine beliebige Installations-DVD bzw. -CD von Windows Vista oder Windows 7, es reicht sogar die eines Release Candidate. Alternativ geht natürlich auch eine funktionierende BartPE-CD.
    Vorgehensweise:
    Von der Windows-DVD bzw. -CD starten.

    Bei der Installations-DVD von Windows 7 kann direkt nach Erscheinen des Willkommensbildschirms mit der Tastenkombination Shift+F10 eine Eingabeaufforderung gestartet werden, bei dem Installer von Vista muß man erst noch so tun, als wolle man tatsächlich Vista installieren und ein paar Schritte der Installation durchklicken, bevor das Drücken von Shift+F10 die gewünschte Wirkung zeigt (alternativ kann man sich dort aber auch durch die Computerreparaturoptionen klicken, dort kann man schlußendlich auch eine Eingabeaufforderung aufrufen).

    In der Eingabeaufforderung regedit eingeben.

    Im Registrierungseditor den Zweig HKEY_LOCAL_MACHINE auswählen und über den Punkt Datei, Struktur laden die Datei C:WindowsSystem32ConfigSoftware laden (wenn C: die Festplatte mit dem betroffenen Windows ist, ansonsten natürlich die Pfadangabe anpassen). Bei der Frage nach dem Namen eine sinnvolle Bezeichnung wie etwa Software_auf_C eingeben.

    Nun in leichter Abwandlung des zuvor genannten Pfades sich durchklicken zum Schlüssel HKEY_LOCAL_MACHINESoftware_auf_CMicrosoftWindows NTCurrentVersionImage File Execution Options und dabei wie erwähnt auf das …Windows NT…  achten. Hier den Schlüssel userinit.exe unter Bestätigung der Rückfrage löschen.

    Ganz nach oben scrollen und den Schlüssel Software_auf_C auswählen. Über Datei, Struktur entfernen den Registryzweig wieder entfernen und die Rückfrage dazu bestätigen.

    Regedit beenden, die Eingabeaufforderung schließen und den Computer neu starten.

  2. Registry remote über das Netzwerk ändern

    Voraussetzungen: Der Rechner war vor dem Vorfall schon in ein lokales Netzwerk eingebunden (ist also entsprechend konfiguriert), man hat Zugang zu einem anderen Windows-PC im gleichen Subnetz, die Windows-Firewall auf dem betroffenen PC enthält eine entsprechende Ausnahme und die notwendigen Dienste laufen auf dem PC (Remote-Registrierung, RPC).

    Vorgehensweise:
    Den betroffenen PC an das Netzwerk anschließen und einschalten.

    Auf dem zweiten PC regedit starten.

    Über den Menüpunkt Datei, Mit Netzwerkregistrierung verbinden die Registry des fremden PCs öffnen und den o. g. Schlüssel HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionImage File Execution Optionsuserinit.exe samt seiner Unterschlüssel löschen.

    Zum Schluß noch Von Netzwerkregistrierung trennen und Regedit beenden.

  3. Mit Hilfe einer Linux-Live-CD die benötigte Datei kopieren

    Voraussetzungen: Eine aktuelle Live-CD, die vernünftig mit dem NTFS-Dateisystem umgehen kann, z. B. Ubuntu 9.10, ein USB-Stick sowie Zugang zu einem funktionierenden Windows-System.

    Vorgehensweise:
    Von der Live-CD starten.

    Das Dateisystem mit der problembehafteten Windows-Installation lokalisieren. Von dort die Datei Windows/System32/Config/Software auf den USB-Stick kopieren. Den Stick „auswerfen“, vom PC abziehen und das Linux weiterlaufen lassen.

    Mit dem USB-Stick zu einem normalen Windows-PC gehen, dort regedit starten.

    Auf dem anderen Windows-PC im Prinzip so vorgehen wie bei der Alternative (1) beschrieben, nur beim Struktur laden natürlich die Datei „Software“ vom USB-Stick öffnen. Dann wie dort beschrieben den Schlüssel userinit.exe löschen und die Struktur wieder entfernen. Regedit beenden und den USB-Stick „sicher entfernen“.

    Mit dem Stick zurück zum betroffenen PC gehen. Vom USB-Stick die bearbeitete Datei „Software“ zurück in das Verzeichnis Windows/System32/Config kopieren (also die gleichnamige Datei dort überschreiben). Den Stick und das Windows-Dateisystem „auswerfen“ und den Computer neu starten.

Hat man eine dieser drei Alternativen erfolgreich durchgeführt, sollte die Anmeldung unter Windows auf dem PC nun wieder normal funktionieren, d. h. man sollte nun nicht mehr wenige Sekunden nach der Anmeldung wieder automatisch abgemeldet werden.

Knoten im Taschentuch

Auch wenn es an anderen Stellen schon dutzende Male erwähnt wurde, auch hier nochmal einige Punkte, an die man unbedingt denken sollte, wenn man es mit einem solcherart „gereinigten“ Rechner zu tun hat:

  • Neben dem Browser (also Firefox, Opera, Safari, Chrome oder was immer man anstatt des Internet Explorers verwendet) müssen auch alle browsernahen Programme auf den aktuellen Stand gebracht werden. Zu den zu aktualisierenden Komponenten zählen zumindest mal der Adobe Reader, Flash und Java, wobei bei Java auch unbedingt alle alten Versionen deinstalliert werden müssen.
  • Nach weiteren veralteten Versionen von Anwendungsprogrammen Ausschau halten, z. B. mit Hilfe des Online-Scan-Tools von Secunia
  • Mit einer Software wie dem oben erwähnten SpybotSD nach unerwünschter Software und daraus resultierenden Systemänderungen suchen. Auch der MBSA kann hilfreiche Dienste leisten (vorausgesetzt, man weiß dessen Hinweise zu interpretieren).
  • Endlich mal ein Backup anlegen.

Und eben weil die Wiederholung so wichtig ist, schließe ich einfach mit den Worten: Neuinstallation ist immernoch die sicherste Methode.