Freitag, 10. September 2010


Topthema

Dienstag, 5. August 2008 | Topthema

DFN-CERT warnt vor neuem Linux-Rootkit

(Link zum Artikel: http://www.entwickler.de///044527)

Das Computer Emergency Response Team (DFN-CERT) des Deutschen Forschungsnetz (DFN) hat eine Warnung vor aktuellen Angriffen auf Linux-Systeme veröffentlicht, bei denen eine neues Rootkit zum Einsatz kam.

Einfallstor

Mithilfe gestohlener SSH-Schlüssel wurde in Linux-Systeme in verschiedenen Netzwerken eingebrochen und auf den so kompromittierten Systemen ein Kernel-Rootkit installiert, das die Prozesse des Angreifers vor den regulären Benutzern verbergen soll.

Vergleichbare Angriffe wurden auch von der University of Chicago gemeldet. Dort gibt es eine ausführliche Beschreibung, wie das Rootkit gefunden wurde und welche Maßnahmen nach dem Erkennen des Einbruchs ergriffen wurden.

Rootkit erkennen

Laut DFN-CERT und University of Chicago wurden auf kompromittierten Systemen die folgenden Dateien gefunden:

  • .p2rc
    Ein Skript mit Alias-Definitionen u.a. zum Kopieren von Dateien mit SSH-Schlüsseln
  • .phalanx2
    Ein Teil des Rootkits
  • .sniff
    Ein Logfile der Terminal- und SSH-Tastatureingaben
  • sshgrab.py
    Ein Skript zum Sammeln der lesbaren .ssh-Verzeichnisse und Shell-Histories aller Benutzer
    Den Sourcecode gibt es in der Beschreibung der University of Chicago.

Die Datei .phalanx2 dürfte ein Hinweis darauf sein, dass es sich um eine neue Version des bereits seit Längerem bekannten Rootkits Phalanx handelt. Laut DFN-CERT kann ein mit der gleichen Konfiguration installiertes Rootkit an folgenden Anzeichen erkannt werden:

  • Das Verzeichnis /etc/khubd.p2/ ist nicht über 'ls /etc' sichtbar, kann aber über 'cd /etc/khubd.p2/' betreten werden.
  • In /dev/shm/ liegen Dateien der Angreifer
  • Ein vom Benutzer z.B. in /tmp angelegtes Verzeichnis mit dem Namen khubd.p2 wird ebenfalls nicht angezeigt, kann aber betreten werden.

Da die Namen und Pfade des Rootkits geändert werden können, beweist ein Fehlschlag der obigen Tests nur, dass nicht das unveränderte Rootkit installiert ist. Es gibt aber zwei allgemeine Hinweise darauf, dass ein Rootkit installiert wurde:

Versteckte Prozesse
Ein Prozess mit der ID [PID] wurde versteckt, sodass er beim Aufruf von 'ps' oder 'ls /proc' nicht angezeigt wird, aber noch Signale entgegennimmt. Auch das nicht sichtbare Verzeichnis /proc/[PID] kann betreten werden. Das DFN-CERT hat ein Skript veröffentlicht, das nach Prozessen sucht, die zwar ein Signal entgegen nehmen, aber nicht in /proc angezeigt werden:

#!/bin/bash
# Das Skript testet, ob es Prozesse im System gibt, die ein Signal annehmen,
# aber die nicht in /proc aufgelistet werden.
for PID in `seq 1 65535`; do
     if kill -0 ${PID} 2>/dev/null
     then
         if ls /proc/*/task/*/cmdline ¦ grep "task/${PID}/cmdline" >/dev/null
         then
             true
         else
             CMD=`cat /proc/${PID}/cmdline`
             echo "PID ${PID} versteckt?! cmdline: '${CMD}'"
         fi
     fi
done

Versteckte Verzeichnisse
Wird in einem Verzeichnis '/pfad' ein Unterverzeichnis '/pfad/versteckt' versteckt, ist der Link-Count für das Verzeichnis '/pfad' zu hoch. Ein Beispiel:

 user@linux:/tmp$ ls -al ¦ grep "^d"
 drwxrwxrwt  7 root root 296 2008-08-01 15:05 .
 drwxr-xr-x 32 root root 864 2007-12-23 12:58 ..
 drwxrwxrwt  2 root root  72 2008-07-08 08:23 .font-unix
 drwx------  2 user user  80 2008-07-25 23:16 ssh-eToaww5944
 drwx------  2 user user  80 2008-07-08 08:24 ssh-wMQEEV1371
 drwxrwxrwt  2 root root  72 2008-07-08 08:23 .X11-unix
 user@linux:/tmp$

Der Link-Count sollte 6 sein, nicht 7. Es muss also ein verstecktes Unterverzeichnis existieren.

Für die Tests einschließlich des Skripts übernimmt das DFN-CERT natürlich keine Garantie. Weder dafür, dass ein vorhandenes Rootkit wirklich gefunden wird noch dafür, dass es keinen Fehlalarm gibt. Wird ein Rootkit gefunden, bittet das DFN-CERT um eine Rückmeldung an die Adresse für technische Fragen auf der Kontakt-Seite des DFN-CERT.

Carsten Eilers

Kommentare