Einträge in Windows-Registry für Regedit.exe unsichtbar [3. Update]

Das Tool zeigt Zeichenfolgen mit mehr als 255 Zeichen nicht an. Eine Suche nach verdächtigen Keys von Schädlingen bleibt so unter Umständen ergebnislos, obwohl sie vorhanden sind.

In Pocket speichern vorlesen Druckansicht 286 Kommentare lesen
Lesezeit: 4 Min.
Von
  • Axel Vahldiek
  • Daniel Bachfeld

Microsofts Registry-Editor Regedit.exe ist bei der Suche nach Trojaner- und Wurmeinträgen auf dem PC wenig hilfreich, worauf ein Posting auf der Sicherheitsmailingliste Full Disclosure aufmerksam macht. So zeigt das Tool Registry-Einträge vom Typ "Zeichenfolge" (REG_SZ) mit mehr als 255 Zeichen langen Namen nicht an. Eine Suche nach verdächtigen Keys bleibt so unter Umständen ergebnislos, obwohl sie vorhanden sind.

Bei einem Test der heise-Security-Redaktion unter Windows XP SP2 und Windows 2000 SP4 gelang es zwar, Schlüssel auf diese Weise zu erzeugen und unsichtbar zu machen. Allerdings ließen sich so keine funktionierenden Autostart-Einträge erzeugen, mit denen sich etwa ein Schädling bei jedem Neustart von Windows zum Leben erwecken lassen kann. Offenbar ignoriert Windows – wie Regedit.exe – die Einträge.

Anwender von Windows 2000 haben allerdings eine Alternative zu Regedit.exe: Regedt32.exe ist ein eigenständiges Programm, das auch zu lange Werte noch anzeigt (und auch sonst mächtiger ist als Regedit.exe).

Anders unter Windows XP: Dort ist Regedt32.exe nur ein Wrapper auf Regedit.exe, die die Einträge nicht anzeigt. Immerhin bringt Windows XP ein Bordmittel mit, das auch die versteckten Registry-Keys anzeigt, sofern man weiß, wo man suchen muss: das Kommandozeilentool Reg.exe. Damit lassen sich Autostarts beispielsweise mit reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run durchforsten. Alternativ hilft unter XP auch das kostenlose "Autoruns" von Sysinternals, die Registry auf Einträge hin zu überprüfen, die Regedit vorenthält -- allerdings nicht unter 2000. Mit Autoruns lassen sich die unerwünschten Keys auch leicht entfernen.

Das ISC will auch Meldungen von Lesern erhalten haben, wonach AdAware und Microsofts AntiSpyware Beta zu lange Keys ignorieren.

Um Schädlingen auf die Spur zu kommen, die sich selbst und abgelegte Daten verstecken, sollten Anwender besser dedizierte Tools einsetzen. Ähnliche Tricks zur Verschleierung benutzen auch Rootkits-- bekannt ist etwa, dass Schlüssel mit führenden NULL-Zeichen für die Windows Registry-Editoren unsichtbar sind. Sysinternals RootkitRevealer hilft allerdings dabei, Anomalien aufzuzeigen - ebenso wie F-Secures Blacklight.

[Update]
Regedit.exe blendet nicht nur Registry-Werte mit überlangen Namen vom Typ REG_SZ aus, sondern auch Einträge aller anderen Typen.

In einem Schlüssel, in dem ein Eintrag mit einem zu langen Namen erstellt wurde, blendet Regedit zudem alle später angelegten Einträge aus. Sofern die nachträglich dazugekommenen Einträge korrekt sind, wertet Windows sie jedoch im Unterschied zu den Einträgen mit den überlangen Namen aus. Auf diese Weise könnten beispielsweise Autostarts in der Registry verankert sein, die Windows zwar ausführt, Regedit jedoch nicht anzeigt.

Regedit.exe blendet auch Schlüssel aus. Allerdings ist hier nicht die Länge des Schlüsselnamens entscheidend, sondern die auf 256 Zeichen begrenzte Länge des kompletten Pfades, also etwa HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run.

Beim Aufspüren solch versteckter und dennoch funktionstüchtiger Autostarts helfen wieder die gleichen Tools: Unter Windows XP zeigen das oben erwähnte Autoruns, das Kommandozeilen-Tool Reg.exe sowie das Systemkonfigurationsprogramm Msconfig.exe die Autostarts an. Unter Windows 2000 hilft Regedt32.exe weiter.

Unter beiden Windows-Versionen hilft das Programm Runalyzer.exe von der Heft-CD der aktuellen c't-Ausgabe 18/05, darauf zu finden im Archiv Ctpebuilder.zip unter plugin/app/spybotsd/files.

Siehe dazu auch:

(dab)