Rootkits: Hacker-Tools für Spionage und Datenklau

(http://www.zdnet.de/magazin/39138593/rootkits-hacker-tools-fuer-spionage-und-datenklau.htm)

von Elmar Török, 18. November 2005

Wer ein Rootkit auf seinem Server vermutet, kann sich auf lange Nächte einstellen. Einmal installiert, sind die unsichtbaren Hacker-Werkzeuge nur schwer wieder los zu werden. Sie benutzen jeden Trick, um sich zu tarnen, zu verstecken und im System einzugraben.

Wenn Hacker einen Server übernehmen, haben sie meistens noch gar kein bestimmtes Ziel im Auge. Es gibt genügend Tools, die Schwachstellen von Betriebssystem, Web- oder Datenbankserver automatisiert ausnutzen und eine Hintertür installieren. Schwierig ist das wahrlich nicht. Ein ungepatchtes Windows XP mit Service Pack 1 wird nach Studien von Sicherheitsanbietern nach einer Verbindung mit dem Internet innerhalb von Minuten[1] infiziert.

RootkitsDoch nicht immer hat der Hacker Zeit, sofort jeden geknackten Computer auf interessante Informationen zu durchsuchen. Er muss also dafür sorgen, dass er den Zugang offen hält, ohne dass der Besitzer etwas davon merkt. Das Mittel der Wahl ist ein so genanntes "Rootkit". Nach allgemeiner Definition handelt es sich dabei um eine Technik, die hilft, ein anderes Programm oder einen Dienst zu verbergen.

Entstanden sind Rootkits Anfang der 90er im Unix-Bereich. Die ersten Tools waren noch reichlich primitiv und bestanden meist aus modifizierten Systemprogrammen. Die Hacker tauschten die Programme wie die Prozessanzeige ps oder das Directory-Tool ls gegen eigene Versionen aus, die so umgebaut waren, dass sie bestimmte Prozesse oder Dateien einfach versteckten. Die zunehmende Zahl von unterschiedlichen Unix-Varianten setzte diesem Ansatz aber bald ein Ende - es wurde einfach zu aufwändig, für alle Derivate ein passendes Tool zu schreiben und zu kompilieren. Zudem begann sich der Erfolg von Windows auch im Internet zu zeigen. Und mehr und mehr Server liefen unter dem Betriebssystem. Änderungen an Tools wie dem Task-Manager waren viel zu komplex, um sie einfach und schnell durchzuführen.

So verlegte sich die Hackergemeinde auf die Arbeit mit dem Application Programming Interface (API). Diese Schnittstellen sind unter anderem Bestandteil des Betriebssystems und stellen definierte und dokumentierte Funktionen zur Verfügung. So muss ein Programmierer keinen eigenen "Datei öffnen" Dialog entwickeln, sondern er nutzt dazu die Windows API. Das ist praktisch, sorgt für ein einheitliches Erscheinungsbild der Programme und spart Zeit. Leider auch den Hackern, sich nun darauf verlegten, API-Aufrufe abzufangen und deren Ausgabe zu modifizieren.
Rootkits sind je nach Konzept mehr oder weniger mächtig. Ein Rootkit, das im User-Mode arbeitet, kann praktisch alle API-Aufrufe filtern und nach Gutdünken ändern. So bleiben nicht nur Dateien und Verzeichnisse verborgen, sondern auch Registry-Einträge und Prozesse. Noch gefährlicher sind allerdings Rooitkits, die im Kernel-Mode arbeiten. Sie können die Datenstrukturen des Kernels selbst verändern und haben damit praktisch jede Funktion des Computers im Griff.

Das Aufspüren eines solchen Rootkits ist auf dem befallenen System selbst praktisch unmöglich. Fast alle Rootkits setzen sich in irgendeiner Form in der Registry fest (Persistent), damit sie nach einem Neustart wieder aktiviert werden. Andere Rootkits sind nur im Speicher aktiv und nach einem Neustart verschwunden (Memory-based). Durch den Verzicht auf Einträge in Registry und Dateistruktur sind diese schwerer zu finden, als Persistent-Rootkits.

Mittlerweile hat sich eine sehr lebhafte Szene etabliert, die zu einem guten Teil öffentlich ist und ihre Rootkit-Entwicklungen frei zur Verfügung stellt. Doch das sollte nicht über die wahren Absichten der Entwickler hinwegtäuschen: Fast alle Rootkits werden unter der Hand in modifizierten Abarten gehandelt, die nicht öffentlich gemacht und so auch nicht von den diversen Tools aufgespürt werden können. Dass die Bedrohung sehr real ist, steht mittlerweile fest. Eigentlich ist es eher verwunderlich, dass noch nicht mehr Hersteller von Spy- oder Adware-Programmen Rootkits zum Tarnen und Festsetzen ihrer Software nutzen. Doch der Trend geht eindeutig in diese Richtung, und Vorbeugen ist nach wie vor das beste Mittel im Kampf gegen ein Rootkit.

RootkitsSolange der Angreifer keine Sicherheitslücke findet und der Administrator mit sicheren Passwörtern und einem abgeschotteten System kontert, findet das Rootkit keinen Weg auf den Computer. Doch leider sind die meisten Rechner nur unzureichend gesichert, und das Rootkit gräbt sich trotzdem im System ein. Der erste Schritt ist dann, das Rootkit überhaupt zu bemerken. Viele Antiviren-Programme melden, wenn fremde Software versucht, Module zu installieren oder sich in der Registry einzutragen. Bei Linux-Systemen und einfachen Rootkits kommt es dann oft zu Fehlermeldungen, besonders wenn man System-Utilities mit vielen Parametern aufruft. Oft haben die Hacker beim Kompilieren Fehler gemacht, so dass das modifizierte Tool nicht exakt zu Linux-Distribution und Libraries passt.
Beim populären Rootkit Hacker Defender hilft manchmal ein einfacher Test, wenn der PC unter Windows XP läuft. Dazu öffnet man eine DOS-Box und wechselt in das Verzeichnis:

C:\Windows\Prefetch

RootkitsDort gibt man den Befehl cd HXDEF1~1.PF ein. Wenn Hacker Defender installiert ist, antwortet Windows mit der Mitteilung, dass der Verzeichnisname ungültig ist. Ohne Hacker Defender sagt Windows "Datei oder Dateiname nicht gefunden".

SONY IN DER KRITIK: CD-
KOPIERSCHUTZ »ROOTKIT«
Sony: Sicherheitsbedenken wegen CD-Kopierschutz[2]
Rootkits werden bislang eher von Hackern eingesetzt

Sonys 'Rootkit': Antivirenhersteller reagieren[3]
Experten befürchten, Tarnfunktion könne von Malware-Autoren ausgenutzt werden

Schädling nutzt 'Rootkit'-Funktionen in Sonys Kopierschutz aus[4]
'Extended Copy Protection' macht Backdoor.Win32.Breplibot.b unsichtbar

Sony BMG kündigt CD-Kopierschutz-Version für Europa an[5]
Neues digitales Rechtemanagement mit begrenztem Kontingent geplant

Sony BMG setzt Produktion von Musik-CDs mit XCP vorläufig aus[6]
Patch gegen Sicherheitslücke kann gratis heruntergeladen werden

Microsoft sieht in Sonys Kopierschutz Sicherheitsrisiko[7]
»Wir sind besorgt über jede Art von Schadsoftware und ihren Einfluss auf die Computer unserer Kunden«

Sony BMG ruft ausgelieferte CDs mit umstrittenem Kopierschutz zurück[8]
Insgesamt wurden knapp fünf Millionen Scheiben an den Kunden gebracht

Die Liste der Rootkits ist viel zu lang, als dass solche punktuellen Tests wirklich etwas ausrichten könnten. Zum Glück gibt es eine ganze Reihe von Tools, die sich auf das Finden und Entfernen von Rootkits spezialisiert haben. Microsoft macht mit seinem Malicious Software Removal Tool den Anfang. Die Software lässt sich von Microsofts Website kostenlos herunterladen. Wer automatische Updates abonniert hat, bekommt ohnehin einmal im Monat eine aktualisierte Version, die auch gleich nach Eindringlingen sucht.

Der Hersteller arbeitet aber schon seit längerem an einer weit mächtigeren Software zur Rootkit Bekämpfung. Sie ist unter dem Arbeitstitel "Strider Ghostbuster" bekannt. Informationen dazu gibt es bei Microsoft bereits, das Tool liegt aber noch nicht zum Download vor. Strider GhostBuster arbeitet nach einem differenziellen Verfahren. Dabei zeichnet die Software den Systemzustand im laufenden Betrieb auf und startet den PC dann von einer CD-Version (WinPE) des Betriebssystems. Dort sind die Rootkits natürlich nicht aktiv und können ihre Anwesenheit auf der Festplatte kaum verbergen. Nach einem ähnlichen Prinzip funktioniert das kostenlose Rootkit Revealer vom Systemspezialisten Sysinternals. Rootkit Revealer vergleicht die Ergebnisse eines High-Level System-Scans mit denen eines Low-Level Scans, in den auch Dateisystem- und Partitionsdaten einfließen. Denn auch wenn das Rootkit die Verzeichnislisten manipuliert und Dateien nicht anzeigt, irgendwo sind sie physikalisch gespeichert. Doch auch dagegen gibt es bereits Abwehrmaßnahmen. Hacker Defender stoppt beispielsweise seine API-Manipulationen, solange der RootkitRevealer scannt. Und ohne aktives Rootkit gibt es auch keine Diskrepanzen mit dem Dateisystem.
Ein weiterer Weg, um einem Rootkit auf die Spur zu kommen, läuft über das Netzwerk. Schließlich ist die Grundidee fast immer, eine Backdoor zum Internet offen zu halten, über die der Angreifer später auf das System zugreifen kann. Dazu müssen Ports geöffnet sein, die man über entsprechende Scanner wie nmap überprüfen kann. Natürlich geht das nicht vom betroffenen Computer aus, die Ausgabe des netstat-Befehls würde durch das Rootkit manipuliert werden und natürlich keine verdächtigen Ports aufweisen. Ein zweiter Computer jedoch, der über das Netzwerk einen Scan auf dem verdächtigen System durchführt, würde solche Ports sehr wohl finden.

ROOTKIT - ABWEHR
  • Strider GhostBuster Rootkit Detection[9]
  • RootkitRevealer[10]
  • F-Secure Blacklight[11]
  • UnHackMe[12]
  • Klister, Patchfinder 2 und Flister[13]
  • VICE und Kernel PS
  • RegdatXP[14]
  • TaskInfo 2003[15]
  • Rootkit Detector from 3W Design[16]
  • Tripwire[17]
  • AIDE[18]
  • chkrootkit[19]
  • Rootkit Hunter (Unix/Linux)[20]
Doch auch hier ist Vorsicht angebracht. Das so genannte "Port-Knocking" schaltet einen Port nur dann frei, wenn er vorher durch ein bestimmtes Ping-Muster aktiviert wurde. So würde ein gewöhnlicher Scanner keinen offenen Port anzeigen, während der Angreifer nach dem Port-Knocking einen offenen Telnet oder FTP-Server finden würde. Ein weiteres Tool für Windows ist Blacklight[11] von F-Secure, das noch in einer Beta-Version kostenlos zum Download bereit steht. Empfehlenswert sind auch die Hilfsmittel RegdatXP, das versucht auch getarnte Einträge eines Rootkits in der Registry aufzuspüren sowie der Task-Manager Taskinfo 2003. Er identifiziert auch Prozesse die im geschützten Kernelbereich (Ring =) laufen und spürt so unter anderem den Hacker Defender auf. Allerdings muss der Administrator dafür genau wissen, welche Prozesse auf seinem Computer legitim sind, da die Namen der Rootkits natürlich häufig harmlos klingen.

Für Unix und Linux sind natürlich ebenfalls Tools verfügbar. Ein spezialisierter Rootkit-Scanner ist chkrootkit, das mehrere Tools enthält, die in bestimmten Systembereichen nach Eindringlingen suchen. Generell ist es bei Linux und Unix einfacher, Vorsichtsmaßnahmen zu treffen. So könnte man einen zweiten, möglichst gut gesicherten, Linux Rechner als Syslog-Empfänger aufsetzen, der die Syslog-Einträge des eigentlichen Servers aufzeichnet. Das macht es dem Rootkit praktisch unmöglich, nachträglich Einträge in den diversen Log-Dateien zu löschen, was sonst standardmäßig zum Angriff gehört. Prüfsummen sind in der Unix-Welt ein bekanntes und oft eingesetztes Mittel, um die Integrität von Dateien zu gewährleisten. Tools wie Tripwire und AIDE automatisieren die Erstellung und den Vergleich von Prüfsummen und sorgen so für mehr Komfort bei deren Einsatz.

Auch wenn die Liste der Tools zum Aufspüren und Bekämpfen der Rootkits fast so lang ist wie die Liste der Rootkits selbst, sollte man sich nicht täuschen lassen: Der einzige Weg um sicher zu stellen, dass das System wieder Rootkit-frei ist, ist eine Neuinstallation von Originalmedien samt Partitionierung der Festplatte(n). Viele Administratoren winken schon beim Verdacht auf ein Rootkit ab und setzen den Rechner neu auf. Nur wer Analyse und Forensik betreiben will, vielleicht weil man hinter der Attacke einen Konkurrenten vermutet, kann mit einem Honeypot im System oder einem kompletten Honeynet versuchen, dem Angreifer über die Schulter zu sehen.

URLs in diesem Artikel:
[1] = http://www.zdnet.de/security/praxis/0,39029462,39120624,00.htm
[2] = http://www.zdnet.de/security/news/0,39029460,39137954,00.htm
[3] = http://www.zdnet.de/security/news/0,39029460,39138253,00.htm
[4] = http://www.zdnet.de/security/news/0,39029460,39138286,00.htm
[5] = http://www.zdnet.de/security/news/0,39029460,39138282,00.htm
[6] = http://www.zdnet.de/security/news/0,39029460,39138368,00.htm
[7] = http://www.zdnet.de/security/news/0,39029460,39138319,00.htm
[8] = http://www.zdnet.de/security/news/0,39029460,39138485,00.htm
[9] = http://research.microsoft.com/rootkit/
[10] = http://www.sysinternals.com/utilities/rootkitrevealer.html
[11] = http://www.f-secure.com/blacklight/
[12] = http://www.greatis.com/unhackme/
[13] = http://invisiblethings.org/tools.html
[14] = http://people.freenet.de/h.ulbrich/
[15] = http://www.iarsn.com/taskinfo.html
[16] = http://www.3wdesign.es/security/
[17] = http://www.tripwire.org/
[18] = http://www.cs.tut.fi/%7Erammer/aide.html
[19] = http://www.chkrootkit.org
[20] = http://www.rootkit.nl/projects/rootkit_hunter.html