Login
Newsletter
Werbung

Mi, 25. Januar 2006, 13:35

Rootkit für Linux 2.6 demonstriert

Amir Alsbih hat ein Rootkit für Linux entwickelt, das beispielhaft zeigt, wie die üblichen Rootkit-Funktionen in Version 2.6 des Kernels implementiert werden können.

Rootkits sind Code, der normalerweise ohne Einverständnis des Administrators auf einen Rechner eingeschleust wird und die Funktion des Systems verändert. Typische Rootkits sind so weit automatisiert, daß sie ohne Expertenwissen installierbar sind. Sie enthalten Ersatzversionen für Systemprogramme wie ls und ps, Möglichkeiten zum Manipulieren der Logdateien, um ihre Anwesenheit zu verschleiern, und die Installation von »Hintertüren« ins System, durch die der Angreifer wieder auf den Rechner zugreifen kann. Fortgeschrittene Möglichkeiten zum Verbergen eines Rootkits benötigen die Unterstützung des Kernels: Sie laden Module, die beispielsweise neue Systemaufrufe installieren oder vorhandene ändern.

Im Gegensatz zu früheren Kernelversionen konnte man bisher, wie Amir Alsbih schreibt, im 2.6er Kernel von Linux weder Rootkits noch Abwehrmaßnahmen, also Sicherheitsmodule, implementieren. Der Grund hierfür ist, dass im 2.6er Kernel die Systemcall-Tabelle nicht mehr exportiert wird und damit die Adressen der Systemcalls nicht mehr bekannt sind.

Amir Alsbih zeigt nun mit einem Demo-Rootkit auf, wie man sehr einfach durch das Durchsuchen des Datensegmentes im Kernel wieder an die Adresse des Linux-Systemcalls kommt und damit sämtliche Systemcalls unter Linux 2.6 manipulieren kann. Den Quellcode des »Override«-Rootkits kann man von seiner Homepage herunterladen. Er ist momentan 567 Zeilen lang. Override ist eine Weiterentwicklung des Codes, den der Informatikstudent zusammen mit »newroot« auf dem ccc 2005 entwickelt hat.

Das Rootkit bietet sämtliche Funktionalitäten, die ein Rootkit besitzen sollte: Prozesse verstecken, Prozesse auflisten, Kindprozesse automatisch verstecken, Netzwerkports verstecken und UserIDs automatisch Root-Rechte verschaffen. Durch das Rootkit wird gezeigt, wie einfach man die Systemcalls in Linux 2.6 manipulieren kann und damit auch, wie man das »Problem« mit der SystemCall-Tabelle lösen kann.

Um ein Rootkit in das System einzuschleusen, benötigen Angreifer eine Sicherheitslücke in einem privilegierten Programm, um Root-Rechte auf dem angegriffenen System zu erlangen.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung