Backdoor im unrealen IRC Server

Am Wochenende entdeckten die Entwickler des quelloffenen IRC-Servers UnrealIRCd einen Backdoor-Trojaner in ihrem öffentlich zugänglichen Mirror-Package. Abzurufen ist die vollständige Meldung auf ihrer Website,aber eine wichtige Aussage hat meine Aufmerksamkeit geweckt:

„Anscheinend erfolgte der Austausch des Downloads .tar.gz im November 2009 (zumindest bei einigen Mirrors). Bis vor kurzem wurde dies von niemandem bemerkt.”

Dies bedeutet praktisch, dass die trojanisierte Version 8 Monate lang zum Donwload zur Verfügung stand, bevor sie entdeckt wurde.

Obwohl die offiziellen Quellen gesäubert worden waren, wurde ich bei meiner Suche nach der Trojaner-Version nach nur wenigen Minuten fündig.

Der Schädling war relativ leicht zu erkennen, da er den folgenden MD5 aufwies:

752e46f2d873c1679fa99de3f52a274d Unreal3.2.8.1.tar.gz

Wie hatte der Backdoor-Trojaner also funktioniert? Hier ein Bruchstück des fraglichen Codes:

Código del servidor IRC infectado Unreal

Es wird deutlich, dass dazu lediglich zwei Zeilen Code nötig waren, plus weitere zwei Zeilen zur Definition der Bedingung, wann der Code eingefügt wird – dies erfolgt, wenn DEBUGMODE3 definiert ist.

In diesem Fall enthält das Modul „s_bsd.c” eine Funktion mit der Bezeichnung „read_packet”, die alle an den Server gesendeten Datenpakete zum Lesen erhält. Wird der Befehl „AB” erkannt (was in unserem Fall durch DEBUGMODE3_INFO definiert ist), werden die verbleibenden Daten im Puffer zwecks Ausführung via „system()“ direkt zum Betriebssystem gesendet. Ziemlich simpel und geradeheraus.

Die Moral der Geschichte? Zunächst einmal kann es bei den derzeitigen Applikationen mit Hunderttausenden von Zeilen leicht passieren, dass zwei kleine Zeilen eines Schadcodes übersehen werden. Dies geschieht nicht zum ersten Mal, und ich bin davon überzeugt, dass es dort draußen noch weitere quelloffene trojanisierte Applikationen gibt.

Erschreckend allerdings ist, dass es 8 Monate dauerte, bis es entdeckt wurde. Wie lange wird es wohl das nächste Mal dauern?

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.