Nach Rootkits suchen

Linux Nach Rootkits suchen

Neben einem [GLOSS:IDS] macht es Sinn, wichtige Rechner auch ohne besonderen Anlass dahingehend zu untersuchen, ob ein [GLOSS:rootkit] installiert wurde. Gerade diese rootkits bieten ja schließlich dem Angreifer einen permanenten Zugriff auf den Rechner.

chkrootkit hilft

Wer diese Aufgabe erledigen will, wird schnell auf [LINK:START:344]chkrootkit[LINK:END] stoßen. Es handelt sich um ein Shell-Script, welches die Eigenheiten bekannter rootkits kennt und danach sucht. Da es ein Shell-Script ist, kann man es auf einer Vielzahl von Betriebssystemen ausführen. Es hat allerdings den Nachteil, dass es andere Systemprogramme verwendet, um seine Analysen durchzuführen. Auf einem geknackten Rechner könnten diese Programme ausgetauscht worden sein, so dass falsche Ergebnisse geliefert werden. Deshalb sollte man sicher stellen, dass man dieses Systemprogramme von einem "sauberen" System nimmt.

Knoppix hilft

Mit einem aktuellen Knoppix hat man gleich zwei Fliegen mit einem Klappe geschlagen. Zum einen ist dort eine aktuelle Version von chkrootkit drauf und zum anderen sind dort Systemprogramme dabei, auf die ein Eindringling in der Regel keinen Zugriff hat, weil sie auf einer CD-Rom im Regal sind. Möchte man also nun einen Rechner auf rootkits prüfen, dann startet man einfach Knoppix. Zuvor sollte man aber in Erfahrung bringen, wo welche Partitionen des betreffenden Rechners eingehängt werden. Dies lässt sich zum Beispiel gut durch die Eingabe von "df" herausfinden. Man erhält eine Ausgabe wie etwa diese hier:

Dateisystem          1k-Blöcke    Benutzt Verfügbar Ben% montiert auf
/dev/hda2             XXXXXXXX  XXXXXXXX  XXXXXXXX  XX% /
/dev/hda5             XXXXXXXX  XXXXXXXX  XXXXXXXX  XX% /tmp
/dev/hda6             XXXXXXXX  XXXXXXXX  XXXXXXXX  XX% /var
/dev/hda7             XXXXXXXX  XXXXXXXX  XXXXXXXX  XX% /usr
/dev/hda8             XXXXXXXX  XXXXXXXX  XXXXXXXX  XX% /home

wobei statt der Xe Zahlen stehen dürften, die hier aber nicht interessieren. Viel wichtiger sind die erste und die letzte Spalte. Nachdem Knoppix gestartet ist, muss man nämlich dafür sorgen, dass das Dateisystem des zu prüfenden Rechners so eingebunden wird, wie es aus im Betrieb aussieht (Auf die /home Partition kann sicherlich verzichtet werden.). Dazu wechselt man durch gleichzeitigen Druck auf die Tasten [Strg],[Alt] und [F2] auf eine Textkonsole von Knoppix und mountet erstmal das Root Dateisystem. Das ist die Partition, bei der in der obigen Tabelle "/" in der letzten Spalte steht. Da Knoppix entsprechend für jede Partition ein passendes Verzeichnis unterhalb von /mnt anlegt, lässt sich diese Partition im vorliegenden Fall durch Eingabe von

mount /dev/hda2 /mnt/hda2

einbinden. Bei einem anderen System nimmt man einfach eine andere Gerätedatei. Laufwerksbezeichnungen sind [DOC:START:20]hier[DOC:END] erklärt. Dann mountet man entsprechend die Partition, bei der /tmp in der letzten Spalte mit

mount /dev/hda5 /mnt/hda2/tmp

in das Verzeichnis /mnt/hda2/tmp usw. Auf diese Weise wird das Dateisystem im Verzeichnis /mnt/hda2 so aussehen, als ob man direkt von der Festplatte gestartet hätte. Ist dies erledigt, kann man chkrootkit ausführen, wobei man angibt, dass nicht das aktuelle System (also Knoppix), sondern ein anderes Dateisystem untersucht werden soll:

chkrootkit -r /mnt/hda2

Als Ausgabe erhält man eine Auflistung der durchgeführten Tests und deren Ergebnisse. Wer diese Ausgabe aus irgendwelchen Gründen archivieren oder einfach in Ruhe lesen will, der kann sie mit

chkrootkit -r /mnt/hda2 &> Ausgabe.txt

in eine Datei namens Ausgabe.txt umlenken.

Nichts genaues weiß man nicht

Wenn man ein rootkit auf diese Weise findet, dann hat man in der Regel schon einen Grund zur Sorge, wobei es aber auch Ausgaben gibt, die nicht zwangsweise auf ein rootkit schließen lassen. Von daher ist auf jeden Fall eine kleine Recherche mit der Ausgabe als Suchwort im Internet angebracht. Wird hingegen kein rootkit gefunden, bedeutet dies nicht, dass es keines gibt. Denn es kann ja nur gefunden werden, wonach auch gesucht wird. Ist das rootkit einfach neuer als die chkrootkit Version oder gut versteckt, dann hat man mit chkrootkit keine Chance. Hier hilft dann nur ein IDS wie Integrit. Einen Artikel dazu findest du [DOC:START:120]hier[DOC:END]. Chkrootkit ist also nur geeignet, die Existenz eines rootkits aus einer begrenzten Auswahl nachzuweisen. Diese Aufgabe erledigt es aber sehr gut.

Artikelbewertung: 
No votes yet
War dieser Artikel hilfreich?