Kostenloser Spürhund

Rootkits verbergen die Anwesenheit von Einbrechern im System vor dem Eigentümer und seinem Antiviren-Scanner. Das Tool RootkitRevealer liefert Hinweise, ob Ihr Rechner vielleicht schon enteignet ist.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 7 Min.
Von
  • Daniel Bachfeld
Inhaltsverzeichnis

Die meisten Windows-Würmer installieren mittlerweile Hintertürchen und Trojaner, mit denen Angreifer die vollständige Kontrolle über das System erhalten. Viele dieser Schadprogramme entdeckt man bereits, wenn man in die Prozessliste des Systems schaut, die aus- und eingehende Netzwerkverbindungen beobachtet oder nach neu installierten Dateien sucht.

So einfach ist die Bekämpfung solcher Schädlinge allerdings nicht immer. Rootkits greifen in die Funktionen des Betriebssystems ein, um sich so gut wie unsichtbar zu machen und ihre Aktivitäten zu verschleiern. Der eigene PC kann so umbemerkt etwa zum Spam-Zombie mutieren. Neuere Entwicklungen fangen Systemaufrufe an den Kernel ab, um nicht mehr in der Prozessliste zu erscheinen oder bei Abfragen der Registry manipulierte Schlüssel auszufiltern [1].

Damit wird es nicht nur für den normalen Anwender unmöglich, festzustellen, ob sein System infiziert ist. Auch Antiviren- und Antispyware-Programme versagen beim Aufspüren aktueller Rootkits. Einige Hersteller entwickeln deshalb dedizierte Rootkit Detection Tools für Windows-PCs, die beim Finden helfen sollen. So auch der Softwarehersteller Sysinternals, der sein Programm RootkitRevealer kostenlos auf seinen Seiten zum Download anbietet [2].

Wer allerdings ein Tool erwartet, das auf Knopfdruck ein Rootkit entdeckt, wird enttäuscht. Anders als die Beta-Version des F-Secure-Tools Blacklight liefert Sysinternals Spürhund nur Hinweise auf Anomalien des Systems und entfernt nichts. Ob die Ursache einer Warnung wirklich ein bösartiges Programm ist, das sich eingenistet hat, muss der Anwender selbst entscheiden. RootkitRevealer läuft unter Windows ab Version NT 4.0 und meldet Diskrepanzen beim Auflisten der Registry und beim Anzeigen von Verzeichnisinhalten.

Dazu greift der Detector über das Windows-API auf die Daten zu und vergleicht die Ergebnisse eines weiteren Low-Level-Zugriffs auf ein FAT- oder NTFS-Dateisystem an dem API vorbei. Bei Unterschieden in den zurückgelieferten Daten könnte ein Rootkit dahinter stecken. Das Tool erkennt aber keine bösartigen Programme, die sich gar nicht die Mühe machen, ihre Existenz zu verbergen. Für deren Entdeckung sollte eigentlich ein Antispyware-Tool oder ein Virenscanner ausreichen. Auch muss es sich um ein persistentes Rootkit handeln; solche, die sich nur zur Laufzeit im Speicher verbergen, bleiben ebenfalls vom RootkitRevelealer unentdeckt.

Sysinternals aktuelle Version 1.32 des Detektorprogramms gibt es nur als GUI-Version, bis 1.20 enthielt das herunterladbare Archiv noch eine eigene Anwendung für die Kommandozeile. Bei der grafischen Version reicht ein Klick für den Start der Analyse. Zum Durchforsten der Festplatte und Registry benötigt das Tool Administratorrechte. Verdächtige Schlüssel oder Dateien zeigt RootkitRevealer mit dem kompletten Pfad und dem Grund der Diskrepanz an - bislang aber nur in englisch.

Ein "Hidden from Windows API" als Ursache ist ein eindeutiger Hinweis, dass auf dem untersuchten System etwas nicht stimmt. Allerdings legt Windows auf NTFS-Dateisystemen ebenfalls versteckte Bereiche an - etwa Alternate Data Streams (ADS) - um dort Metadaten zu speichern. Damit die durch NTFS-spezifische Metadaten verursachten Diskrepanzen nicht in der Ergebnisliste erscheinen, unterdrückt RootkitRevealer deren Ausgabe. Wer sie doch angezeigt bekommen möchte, deakiviert unter Optionen den Punkt "Hide Standard NTFS Metadata Files".

Hier liegt RootkitRevealer völlig daneben: Alle aufgeführten Dateien lassen sich auch mit dem Windows Explorer anzeigen und normal starten

Hellhörig sollte der Anwender auch bei "Access is Denied"-Meldungen werden, da der Scanner normalerweise keine Zugriffsbeschränkungen kennt. Näher zu untersuchen sind auch Hinweise auf Unterschiede der Länge und der Typen von Einträgen in der Registry (Type Mismatch, API length not consistent). Hintertürchen können der API nämlich falsche Werte vorgaukeln und so die korrekte Anzeige verhindern, um Daten oder sich selbst in Schlüsseln zu verbergen. Zudem zeigen Windows-Bordmittel wie Regedit Registry-Keys nicht richtig an, wenn diese Nullen im Namen enthalten. RootkitRevealer warnt den Anwender, wenn es solche Namen findet ("contains embedded Nulls").

Einige der von RootkitRevealer aufgezeigten Merkwürdigkeiten sind oft auf normale aktive Prozesse zurückzuführen. So generiert das Tool ein "Data Mismatch", wenn sich im Laufe eines Registry-Scans ein Wert ändert. Da aber zahlreiche Anwendungen, beispielsweise auch Virenscanner, eigene Einstellungen in der Registry regelmäßig aktualisieren, kann dies ein Fehlalarm sein. Dennoch sollte der Anwender jedem Hinweis nachgehen und prüfen, ob es sich um eine bekannte Anwendung handelt.

Ist eine Datei nicht gleichzeitig über die API, die Master File Table (NTFS) und das Inhaltsverzeichnis sichtbar, so moniert der Scanner ebenfalls eine Ungereimhtheit. Allerdings kann es durchaus während eines Suchlaufs passieren, dass eine Datei erzeugt und gelöscht wird und daher noch nicht allen Instanzen sichtbar ist.

Leider gibt das Tool nur Hilfestellungen zum Aufspüren von Rootkits. Ein Vorschlag wie man sie entfernt, macht es nicht. Ob das Löschen der als verdächtig gemeldeten Dateien und Registry-Keys ausreicht, hängt vom Rootkit ab. Hier muss der Anwender selbst recherchieren -- etwa mit Google -- um welches Kit es sich handelt und wie man dagegen vorgeht. Die einzig zuverlässige Methode ein Fernsteuerprogramm zu beseitigen, ist ohnehin, den Rechner komplett platt zu machen und neu aufzusetzen [5].

In der Beschreibung zu RootkitRevealer wird es bereits angedeutet: Theoretisch kann sich ein Rootkit auch vor RootkitRevealer verstecken. Die grundsätzliche Schwäche des Tools ist nämlich, dass es nur dann funktioniert, wenn auch das Rootkit aktiv ist. Eines der am meisten verbreiteten -- das kostenpflichtige HackerDefender -- fährt daher neuerdings eine ganz simple Strategie: Läuft RootkitRevealer, biegt es einfach keine API-Aufrufe mehr um. Ob ein Scanner nach ihm sucht, stellt es über die Prozessliste fest. Ähnlich ergeht es der Beta-Version von F-Secures Rootkit-Jäger BlackLight. Als Abhilfe empfehlen die Hersteller, den Namen der EXE-Datei zu ändern. HackerDefender würde so nicht mehr die Gegenwart des Detektors bemerken.

Wie lange dieser Trick hilft, bleibt abzuwarten. In der Regel passen die Rootkit-Programmierer ihre Tools sehr schnell an neue Anforderungen an, beispielsweise indem sie die Dateigröße abfragen oder nach Signaturen im Speicher suchen. Ob andere Ansätze zum Aufspüren besser sind, muss sich erst noch zeigen. Microsofts noch nicht öffentlich verfügbarer Strider Ghostbuster ist beispielsweise in der Lage, die ohne Verwendung des Betriebssystems auf der Festplatte vorgefundenen Informationen mit denen im aktiven Betrieb zu vergleichen. [6].

Sysinternals Tool kann einen Verdacht auf Befall erhärten, allerdings kann es auch unnötige Panik verursachen. Im Test mokierte es sich über Registry-Einträge, die sich bei näherer Untersuchung als harmlos heraus stellten. Für die nähere Untersuchung sind weitere Werkzeuge nötig [3,4], die Bereinigung muss man zudem selber erledigen -- wer es einfacher haben will, muss auf Programme wie Blacklight zurückgreifen [7]. Findet RootkitRevealer nichts, muss das nicht heißen, dass der Rechner frei von Rootkits ist. Das Tool ist ein zusätzliches Werkzeug in der Anti-Rootkit-Werkzeugkiste und nur für fortgeschrittene Anwender geeignet.

[1] Heimliche Hintertüren - Rootkits aufspüren und beseitigen Artikel auf heise Security

[2] RootkitRevealer

[3] RegdatXP

[4] ERUNT

[5] Reparieren oder Plattmachen? Kommentar auf heise Security

[6] Strider GhostBuster Rootkit Detection von Microsoft

[7] F-Secure BlackLight (Beta Release) (dab)