Alles über Rootkits

Dieses Thema im Forum "Windows Tutorials" wurde erstellt von spotting, 5. März 2007 .

Schlagworte:
  1. 5. März 2007
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    AW: spotting' - FAQ

    Alles über Rootkits.

    In diesem Artikel widme ich mich den Rootkits

    Dabei habe ich zunächst eine Sammlung von Artikeln anderer gesammelt und versucht die möglichst kurz und knapp zusammenzufassen.

    Definition Rootkit.

    Mit einem Rootkit versucht ein Programm seine Anwesenheit auf einem System zu verbergen und ihm Zugriff auf das System zu gewähren.

    Ein Rootkit selbst ist also keine Malware sondern eine Funktion, die von Malware genutzt werden kann.

    Rootkits und Privilegien.
    Unter Windows gibt es zwei Ebenen, in denen Code ausgeführt werden kann.
    Anwendungsebene (eingeschränkte Rechte) und Kernelebene (uneingeschränkt, Zugriff auf alles)
    Rootkits gibt es für beide Ebenen.

    Zwei Arten von Rootkits - 1

    Hooking - Windows hängt am Haken.
    Die häufigste Methode von Rootkits die internen Abläufe zu manipulieren ist das "einhängen" an andere Prozesse, Systemdienste, Systemfunktionen oder an (Hardware) Treiber.
    Beispiele
    IAT-Hooks, System Service Descriptor Table, Inline Function Hooking, Filtertreiber (Layered Filter Drivers)

    Kernel-Objekte manipulieren - 1+1=2+2
    Direct Kernel Object Manipulation (DKOM)
    Windows bietet für Verwaltungs- und Kontrollaufgaben spezielle Kernelobjekte. Die Manipulation dieser Kernelobjekte ermöglicht es, den Informationsfluss innerhalb des Systemes zu manipulieren. So lässt sich somit z.B. die Abfrage nach aktuell laufenden Prozessen im Taskmanager beeinflussen.

    Zwei Arten von Rootkits - 2

    Persistente Rootkis - Ich bin und Ich bleibe
    Dieser Unterschied basiert auf der Lebensdauer. Persistente Rootkits verweilen im System, wenn sie einmal da sind. Somit können sie auch später wieder neu benutzt werden.
    Dafür müssen sie zum einen Speicherplatz auf der Festplatte für sich beanspruchen, zum anderen müssen sie bei jedem Systemstart geladen werden können.

    speicherbasierte Rootkits - Hin und zurück
    Ihr Code ist nur im Flüchtigen Speicher (Arbeitsspeicher / Pagefile) vorhanden. Sie sind bedeutend schwerer aufzusprüen, überleben einen Neustart des Systems aber nicht.

    Rootkits verstecken
    Um ein Rootkit effektiv zu verstecken müssen einige Dinge getan werden. 1. Ihre eigene Anwesenheit im Speicher darf nicht entdeckt werden und 2. Ihre Manipulationen dürfen nicht entdeckt werden.
    Gelingt ihnen dass nicht, können einfachste Signaturen-Scans sie aufspüren und unterbinden.
    Außerdem müssen sie Ihre Bootsequenz möglichst unsichtbar gestalten.

    - Techniken
    Polymorphismuss oder "Kostümball für Malware"
    Dies wurde von den ersten Malwareprogrammieren entwickelt. Durch ein Verändern des Aussehens ohne die Funktion des Codes zu beeinflussen wird ein Auffinden durch Signatur-Scans verhindert.
    Findet man eher selten bei Rootkits da der Rootkit-Code im Speicher bei einem Integritäts Check weiterhin anfällig wäre.

    - Speicherverwaltung unterwandern. oder "Mach die Augen zu und du siehst mich nicht"
    Das Rootkit muss die Daten kontrollieren, die ein direkter Speicherzugriff einer Applikation wie einem Security-Scanner liefert. Wenn ein Rootkit einen lesenden Zugriff auf seinen eigenen ausführbaren Code entdeckt, ist dies ein deutlicher Hinweis, dass da möglicherweise ein Scanner nach ihm sucht!

    Wie finde ich jetzt Rootkits?

    Signaturbasierte Erkennung (Suchen per Fahndungsfoto)
    Sie haben zwei Nachteile. der Erste, Sie scannen i.d.R. nur Dateien und gespeicherten Code auf Anwendungsebene. Würden sie den Hauptspeicher auf Kernel Ebene durchsuchen würden sie die Rootkits wahrscheinlich sofort finden.
    Der zweite Nachteil, Signaturenscans können nur finden, was sie kennen. liegt keine Signatur für dieses Rootkit vor, können sie es nicht finden.

    Heuristische Scans
    - Vice... Im Grunde selbst ein Rootkit überwacht ob auch alles seinen richtigen Gang nimmt. Dabei werden Potentiell schädliche Funktionen aufgelistet und dem Nutzer zur Überprüfung dargestellt.
    Nachteil, Vice liefert eine Menge Fehlmeldungen. es gibt im Windows System Dinge, (Hot Patching, DLL Forwarding) die zwar aussehen wie ein Rootkit aber vom System so gewollt sind.
    Nachteil 2. Vice startet immer auf die gleiche Weise. entdeckt das Rootkit Vice kann es auf seine Präsenz reagieren, indem es entweder die Antworten von Vice an den Nutzer manipuliert, oder seine Aktivitäten bis zur Beendigung von Vice einfach sein lässt.

    -Patchfinder...Es werden die Anzahl an Befehle um Code auszuführen und die Anzahl an ausgeführtem Code miteinander verglichen. Dies sollte auf einem X86 System eigentlich identisch sein. ist es das nicht, kann man durch Analyse des ausgeführten Codes das Rootkit ausfindig machen.

    Kreuzverhör (Guter Cop - Böser Cop)
    Es wird einfach zweimal mit unterschiedlichen Mitteln nachgefragt, ob ein Rootkit vorhanden ist. sind die Ergebnisse unterschiedlich ist der Verdacht groß.

    Problematisch, findet das Rootkit den Rootkit Finder kann er seine anzeige manipulieren.
    Nachteil, Fehlalarme, wenn Daten geprüft werden, die zu dieser Zeit geändert werden.
    Beispiele für diese Methoden sind der Rootkit Revealer von Sysinternals, Blacklight von F-Secure, Klister, Strider GhostBuster, ...

    Integritätschecks (Früher war alles besser)
    Bei Integritätschecks wird der aktuelle Zustand eines Systemes mit einem vorherigen garantiert sauberen Zustand verglichen und Veränderungen aufgeführt.

    - Tripwire
    Integritätschecker für Festplatten. Jede Datei bekommt einen CRC-Wert. Beim einem Scan werden diese Werte mit neu ermittelten verglichen. Abweichungen werden dann aufgelistet. Bei älteren Rootkits, die Dateien veränderten, sehr effizient, bei neueren Rootkits, die ihre Aktivitäten auf den Arbeitsspeicher verlegen kaum Aussichten auf Erfolg.

    - System Virginity Verifier
    Eine Kombination von VICE und eines Speicher Integritäts Checks.

    Hardware-Erkennung - Copilot
    Eine PCI Karte, die das Betriebsystem unabhängig vom Betriebssystem überwacht.

    Die momentan beste Lösung gegen Rootkits, die jedoch gerade in Anschaffung und Administration sehr teuer ist.

    ---

    Inzwischen gibt es von nahezu jedem Namenhaften Hersteller den Versuch, AntiRootkit Programme in Ihre Produkte zu integrieren. Leider sind alle diese Programme noch in einem frühen Beta status. Wenn Ihr den Verdacht habt, da ist etwas nicht in Ordnung, dann schaut euch dieses Anti Rootkit Programm genauer an.
    IceSword - Download - CHIP
    Und hier gibt es eine sehr gute Deutsche Anleitung dazu:
    C-Ko: Einführung in IceSword

    Nun, was tun, ich nutze jetzt diverse Programme gegen Rootkits und alle sind der meinung da ist etwas, aber ich finde das nicht und kann es nicht entfernen?


    Und gibt es überhaupt eine Möglichkeit, mich vor Rootkits zu schützen?

    nun, ehrlich gesagt, fast nicht.
    Die Empfehlenswerteste ist noch, Windows in einer "Sandbox" umgebung zu nutzen, die nicht mit dem Betriebssystem kommunizieren kann...
    Wie weit dies jetzt vor Rootkits schützen kann ist bislang nicht bestätigt.

    zurück zur übersicht:

    mfg spotting



    Quellen:

    Windows Rootkits 2005, Teil 1 | heise Security
    Windows Rootkits 2005, Teil 2 | heise Security
    Windows Rootkits 2005, Teil 3 | heise Security
    Kostenloser Spürhund | heise Security
    Rootkit – Wikipedia
    http://www.f-secure.de/v-desk/rootkit.shtml
    http://www.vnunet.de/praxis/security/article20060309035.aspx
    Mydoom-Wurm mit neuartigem Rootkit - Archiv - PC-WELT
    Rootkit-Detection | TecChannel.de
    Was ist ein Rootkit? Was macht ein Rootkit?
    C-Ko: Rootkits
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.