Grundlagen, Hintergrund und Information

Conficker - das größte Botnet aller Zeiten

05.01.2010 von Moritz Jäger
Der Conficker-Wurm hat innerhalb kürzester Zeit Millionen von Computer-Systemen infiziert - unbemerkt von Anwendern und Administratoren. TecChannel erklärt, warum die Malware so erfolgreich ist und wie Sie Conficker finden und entfernen.

In der IT-Industrie hatte sich die Meinung verbreitet, dass die Zeiten der großen Infektionen wie „I Love you“ im Jahr 2000 vorbei seien. Dennoch tauchen immer wieder Malware-Produkte auf, die sehr erfolgreich und innerhalb kürzester Zeit eine unglaubliche Anzahl an Systemen infizieren. Ein solches Beispiel war der Storm Wurm. Ein anderes Exemplar dieser Gattung ist der Wurm Conficker.

Seit Ende 2008, das erste Auftreten wurde am 21. November 2008 registriert, verbreitet sich diese Malware wie ein Lauffeuer. Inzwischen gibt es drei entdeckte Hauptvarianten und unzählige kleinere Modifikationen. Vorsichtigen Schätzungen zufolge hat der Wurm bereits Millionen Systeme infiziert und seinem Botnet einverleibt. Allerdings ist immer noch unklar, wozu diese Armee an Zombie-Rechnern dienen soll. Derzeit hat noch keine Antivirenfirma eine Attacke auf das Botnet zurückführen können.

Was ist also so besonders an diesem Wurm, dass Microsoft sogar eine Prämie von 250.000 Dollar auf die Ergreifung der Hintermänner ausgesetzt hat?

Dieser Artikel soll Ihnen die Hintergründe und Informationen rund um Conficker liefern. Im Beitrag werden wir für diese Malware durchgehend den Namen Conficker verwenden, auch wenn der Wurm von unterschiedlichen Antivirenherstellern anders getauft worden ist. Die folgende Tabelle zeigt Ihnen die Alias-Namen, unter denen der Wurm im Netz noch zu finden ist:

Andere Namen für Conficker

F-Secure

Downadup.gen

Kaspersky

Kido

Symantec

Downadup

Trend Micro

Downad

Wie konnte sich Conficker so schnell ausbreiten?

Die erste Version von Conficker wird am 21. November 2008 entdeckt. Der Wurm setzt auf MS08-067, eine ältere Schwachstelle im Windows-Server-Service. Conficker prüft über Port 445, ob das Zielsystem von der Schwachstelle betroffen ist. Trifft dies zu, dringt der Wurm in das System ein. Nach erfolgreicher Installation startete er einen HTTP-Server, der einen zufällig gewählten Port nutzt. Anschließend schickt sich der Wurm an neue Rechner.

Massiver Anstieg: der Traffic auf Port 445 seit Oktober 2008. (Quelle: SANS)
Foto: Firma

Ist ein neuer Rechner infiziert, verbindet sich dieser mit dem eben erstellten Webserver und lädt weitere Daten nach. So kann sich Conficker innerhalb kurzer Zeit massiv ausbreiten. Dieser verteilte Ansatz machte eine Unterbrechung der Infektionskette nahezu unmöglich, denn es erscheinen ständig neue Versionen des Wurms mit verändertem Hashwert, was viele signaturbasierte Sicherheitslösungen aushebelt.

Infektion: die gefundenen Infektionen mit der ersten Version von Conficker. (Quelle: Trend Micro)
Foto: Firma

Ist ein System infiziert, generiert Conficker pro Tag 250 Web-Adressen. Der Wurm verbindet sich anschließend mit diesen Domains und sieht nach, ob dort neue Anweisungen vom Botmaster warten. Ist dies der Fall, lädt Conficker die zusätzlichen Informationen herunter und führt sie aus. Über diesen Mechanismus kann sich der Wurm beispielsweise aktualisieren.

Der Algorithmus, nach dem die Domains erstellt werden, konnte von Virenexperten relativ schnell ausgehebelt werden. F-Secure beispielsweise stellte regelmäßig aktualisierte Listen bereit, in denen die entsprechenden Domains hinterlegt waren. Zusätzlich registrierte sich das Antivirenlabor einige dieser Domains und konnte so die Verbindungen zählen. Im Januar waren laut F-Secure etwa 2.395.000 Rechner infiziert, wobei das nur eine grobe Schätzung ist.

Doch der Download von Inhalten von zufällig erzeugten Domänen ist nur eine Methode, mit der Conficker an neue Inhalte kommt. Als zweiten Verbreitungsweg verfügt Conficker über ausgefeilte P2P-Funktionalitäten.

P2P: die Funktionsweise einer Peer-to-Peer-Infektion. (Quelle: Symantec)
Foto: Firma

Während der Wurm seine Instruktionen über P2P erhält, sichert er den befallenen PC zusätzlich ab. Conficker patcht MS08-067, die Schwachstelle, die der Wurm selbst zur Verbreitung nutzt. Künftig überwacht Conficker diesen Patch, um eingehende Angriffe zu analysieren. Ist der Code des Angriffs identisch mit dem von Conficker, kann der Wurm die angreifende Maschine auslesen und sich bei dieser anmelden. Das kontaktierte System wiederum antwortet mit zusätzlicher Payload, um die sich Conficker erweitert.

Mutation: Conficker.B nutzt USB-Speichermedien

Am 30. Dezember erscheint Conficker.B. Zunächst scheint es so, als hätten die Entwickler lediglich die Adressgenerierung verändert. Eine genauere Analyse offenbart aber einen völlig neuen Verbreitungsweg und zusätzliche Abwehrmechanismen. Statt nur noch auf anfällige Server zu zielen, kopiert sich Conficker.B nun auch auf angeschlossene USB-Speichergeräte und erstellt eine neue Startdatei „Autorun.inf“.

Gefälscht: der Autoplay-Bildschirm, wie ihn Conficker darstellt. (Quelle: Microsoft)
Foto: Firma

Diese ist von einem normalen Autostartdialog kaum zu unterscheiden. Klickt man allerdings auf „Open Folder to view Files“, wird der Wurm ausgeführt, der sich dann entsprechend im System einnisten kann.

Zusätzlich bringt das Wurm-Update eine weitere Gemeinheit mit: Conficker.B überprüft die DNS-Anfragen auf befallenen Rechnern und blockiert bestimmte Websites mit einem Timeout. Davon betroffen sind beispielsweise Webseiten und Patch-Dienste von Antivirenherstellern oder der Update-Service von Microsoft. Infizierte Rechner können dadurch keine Patche mehr herunterladen oder ihre Virensignaturen aktualisieren.

Unauffällige Netzwerk-Scans mit Blacklists

Im Verbreitungsweg gibt es noch eine Neuerung: Auf der Suche nach neuen Opfern setzt Conficker Netzwerk-Scan-Funktionen ein. Frühere Würmer haben diese Technik oft übertrieben, sodass es deutlich merkbare Einbußen bei der Geschwindigkeit gab. Conficker dagegen geht einen anderen Weg: Die Malware misst die durchschnittliche Netzwerkgeschwindigkeit des befallenen Systems, indem sie mehrere Webseiten kontaktiert und die Antwortzeiten misst.

Anschließend nutzt der Wurm die Werte, um die durchschnittliche Geschwindigkeit des befallenen Rechners im Netzwerk zu berechnen. Anschließend beginnt Conficker mit einem Netzwerk-Scan, um anfällige Rechner im lokalen Netz zu finden. Nach jedem Scan legt er dabei eine Pause zwischen 100 Millisekunden und zwei Sekunden ein. Durch diese Methode bemerken nur wenige Nutzer eine Verschlechterung der Geschwindigkeit. Conficker scannt auf diese Weise sämtliche Adressen aus dem aktuellen IP-Netz. Ist er damit fertig, greift er zufällige Adressen an. Reservierte Blocks, etwa 127.x.x.x, lässt die Malware aus.

Die Entwickler beweisen zudem eine große Weitsicht. Jede Kopie des Wurms trägt eine Blacklist bei sich. Darauf sind die bekannten IP-Adressen von Anti-Malware-Organisationen eingetragen, etwa BitDefender, CERT, CA oder Symantec. Der Gedanke dahinter ist, dass sich der Wurm so verbreiten kann, ohne dass er in Honeypot-Netzen der Antivirenfirmen landet. Außerdem nutzt Conficker diese Listen, um Download-Anfragen von diesen IPs abzulehnen. Dadurch wird es für die Sicherheitsfirmen schwerer, an Code des Wurms zu kommen. Eine ähnliche Taktik nutzte bereits der Storm Wurm.

UPnP und Brute Force als Hilfsmittel

Router stellen für viele Würmer ein nicht zu unterschätzendes Problem dar. Denn per NAT teilen sie meist das private LAN von einem öffentlichen Netz. Dadurch können sich externe Systeme nicht ohne Weiteres mit lokalen Rechnern verbinden. Vor allem im Heimumfeld schafft das eine nicht zu unterschätzende Barriere. Conficker hat allerdings auch hier einen Weg gefunden: Der Wurm nutzt einfach den Standard Universal Plug and Play. Er ist heutzutage in den meisten Routern und Betriebssystemen vorhanden und aktiviert.

UPnP ermöglicht es Geräten, andere Systeme im Netzwerk ohne einen zentralen Server zu finden. Außerdem kann ein System dadurch automatisch die benötigten Ports am Gateway öffnen lassen und Anfragen aus dem Netz an das entsprechende lokale System weiterleiten.

Per UPnP findet Conficker den lokalen Gateway. Diesem teilt der Wurm mit, dass er einen bestimmten Port öffnen und weiterleiten soll. Über diesen Port findet anschließend die komplette Kommunikation mit anderen infizierten Rechnern statt.

Umgebogen: Mittels UPnP kann Conficker nahezu unbemerkt mit der Außenwelt kommunizieren. (Quelle: Symantec)
Foto: Firma

Im LAN verwendet der Wurm noch eine weitere Technik, um sich fortzupflanzen. Dazu kopiert er sich über die administrative Netzwerkfreigabe „$ADMIN“ von Windows-PC zu Windows-PC. Meistens benötigt der Wurm dazu allerdings einen gültigen Benutzernamen samt Passwort. In einem ersten Versuch probiert Conficker die Zugangsdaten des aktuell angemeldeten Nutzers aus. Sind diese ungültig, weicht der Wurm auf einen Brute-Force-Angriff aus.

Passwort-Brecher: Conficker versucht, in geschützte Netzwerkfreigeben einzudringen. (Quelle: Symantec)
Foto: Firma

Dazu testet Conficker mehr als 250 allgemeine Kombinationen, etwa „Admin Admin“, „password“ oder „1234“. Findet der Wurm eine passende Kombination, kopiert er sich über die administrativen Rechte in den Ordner System32. Anschließend erstellt er einen zeitgesteuerten Auftrag, der die soeben kopierte Datei ausführt. Diesen Vorgang wiederholt Conficker alle 40 Minuten.

Gesicherte Kontrolle durch Verschlüsselung und Signatur

Im Blog des Symantec Security Response Teams tauchte eine interessante Frage auf: Wenn die Domains, von denen Conficker neue Instruktionen abruft, bekannt sind, was hindert andere Malware-Gangs oder die Sicherheitsindustrie daran, das Botnet zu übernehmen? Die Antwort ist einfach: ein passender Schlüssel samt Signatur.

Die Malware-Autoren haben diese Möglichkeit anscheinend seit Conficker.B in Betracht gezogen und entsprechende Gegenmaßnahmen ergriffen. Jede Payload, die Instruktionen für den Wurm enthält, ist mit der Technologie RC4 verschlüsselt. Der eigentliche Key ist dabei 64 Byte lang. Allerdings entschlüsselt Conficker die Daten nur, wenn sie mit einer passenden 4096 Bit langen Signatur gekennzeichnet sind.

Diese Signatur erinnert laut Symantec an den RSA-Schlüssel. Die Analyse des entsprechenden Codes zeigte noch eine andere Besonderheit: Die Macher von Conficker sind sehr darauf bedacht, keinerlei Pufferüberläufe zu erzeugen, erlauben sich also keine Schwachstelle in ihrer verschlüsselten Übertragung.

Conficker.C – besser, härter, gemeiner

Die dritte aktuelle Variante von Conficker ist Version C. Erstmals entdeckt wurde diese Variante des Wurms im März 2009. Die neue Variante scheint weniger auf die Weiterverbreitung ausgerichtet zu sein, sondern soll das bestehende Botnetz anscheinend absichern. Unterstrichen wird diese Vermutung unter anderem durch die Tatsache, dass Conficker.C keinerlei zusätzliche Verbreitungsanstrengungen unternimmt. Um die befallenen Systeme zu sichern, bedient sich der Wurm mehrere Taktiken.

Conficker.C ist deutlich aggressiver im Umgang mit Sicherheitstools. Die neue Variante sucht auf den befallenen Systemen aktiv Strings oder Prozesse, die auf ein Sicherheitstool hinweisen. Entdeckt der Wurm ein solches Programm, etwa Wireshark oder ein Anti-Virus-Tool, sendet Conficker.C ein Kill-Signal an den Prozess.

Zusätzlich haben die Entwickler auf die Entdeckung ihres Domain-Algorithmus reagiert. Die neue Conficker-Variante erzeugt keine 250 Domains mehr pro Tag, sondern 50.000 Domain-Namen. Aus diesen pickt sich der Wurm 500 Stück aus, die er dann zu kontaktieren versucht.

Die dritte Neuerung ist, dass die Conficker-Schreiber den Wurm gegen weitere Angriffe abhärten. Dazu wurden sowohl die HTTP-Infektionswege als auch die Verbindungen über P2P abgesichert und gegen Übernahmen geschützt. Die Tabelle zeigt die Unterschiede der drei Conficker-Varianten:

Wurm-Version

Conficker.A

Conficker.B

Conficker.B

Verbreitung

MS08-067

MS08-067
Brute-Force-Angriffe auf Netzwerk-Freigaben
Verbreitung über USB-Medien

Verbreitungsmechanismen entfernt

Kontrolle

HTTP-Verbindungen
250 generierte Domains

HTTP-Verbindungen
einfaches P2P
250 generierte Domains

verbesserte HTTP-Verbindungen
verbessertes P2P
50.000 generierte Domains

Schutzfunktionen

keine

einige DNS-Lookups werden unterbrochen,
Auto-Update wird unterbrochen,
HTTP- und P2P-Code signiert

einige DNS-Lookups werden unterbrochen,
Auto-Update wird unterbrochen,
Sicherheitsprozesse werden beendet,
erweiterte Funktionen gegen Analyse-Maßnahmen,
HTTP- und P2P-Code signiert

Neu: Conficker D und E

Die Entwickler der Malware waren 2009 nicht untätig. Nachdem Conficker.C verteilt war, folgten die Varianten Conficker.D und Conficker.E. Beiden ist gemeinsam, dass sie deutlich mehr auf die Verteilung über P2P-Netzwerke setzen. Außerdem haben die Macher Maßnahmen gegen Anti-Viren-Programme deutlich verschärft. Beide Malware-Varianten prüfen die laufenden Prozesse auf Anti-Malware-Programme und schicken den jeweiligen Prozessen im Abstand von einer Sekunde einen Kill-Befehl. Die Befehle zielen dabei nicht nur Anti-Viren-Programme, sondern auch auf Patch- oder Diagnose-Programme. Wie schon zuvor manipuliert die Malware den DNS Lookup sowie die Auto-Update-Funktion von Windows. Conficker.E nutzte zur Verbreitung auch wieder die NetBIOS-Schwachstelle aus MS08-067, Conficker.D verzichtete darauf.

Im Video von Symantec erklärt der Forscher Ben Nahorney wie die verschiedenen Versionen von Conficker zusammenarbeiten und wie der Update-Vorgang abläuft.

Wurm-Version

Conficker.D

Conficker.E

Verbreitung

Keine lokale
Updates über P2P und HTTP

NetBIOS (MS08-067)
Updates über P2P und HTTP

Update und Anweisungen

HTTP: Wurm prüft täglich 500 von 50000 generierten Domains
P2P: Wurm scannt per UDP, erhält Anweisungen und Updates über TCP

NetBIOS-Push: Wurm prüft das lokale Netzwerk auf anfällige Hosts, patcht notfalls MS08-67 um eine erneute Infektion zu ermöglichen
P2P: Wurm scannt per UDP, erhält Anweisungen und Updates über TCP

Schutzfunktionen

DNS-Lookups werden unterbrochen und im Speicher manipuliert,
Auto-Update wird unterbrochen,
Safe-Mode wird deaktiviert,
Sicherheitsprozesse werden beendet

DNS-Lookups werden unterbrochen,
Auto-Update wird unterbrochen,
Sicherheitsprozesse werden beendet

Update: 1. April 2009 - Viel Hype um nichts

Wie bereits eingangs erwähnt, haben die drei Conficker-Varianten bislang wenig unternommen. Zuerst hat sich der Wurm massiv verbreitet, anschließend wurden die befallenen Systeme gesichert. Durch den Algorithmus konnten Malware-Analysten herausfinden, dass sich Conficker am 1. April 2009 neue Informationen holt. An diesem Datum erzeugte Conficker.C pro Tag 50.000 Domainnamen und prüfte anschließend bei 500 Domains, ob dort neue Anweisungen oder Programm-Updates vorlagen.

Tatsächlich erschienen neue Versionen von Conficker - allerdings erst Tage nach dem eigentlich angekündigten Termin. Außerdem unterschied sich die Verbreitung deutlich vom früheren Vorgehen. Vor allem die Verbreitung über P2P wurde von den Kriminellen genutzt.

Diverse Unternehmen haben versucht, die Reaktionen des Wurms nachzustellen. Allerdings war dies nicht so einfache, da Conficker die aktuelle Systemzeit mit mehreren Webseiten abgleicht. Zudem waren im Wurm selbst noch keine Payload oder Anweisungen vorhanden.

Neu: Geld verdienen mit Waldac und Scareware

Noch immer im unklaren ist, was die Hintermänner von Conficker eigentlich mit der enormen Anzahl von infizierten Zombie-PCs, im Dezember waren es mehr als sieben Millionen einzigartige IPs, anstellen möchten. Seit April 2009 wurde das Conficker-Netzwerk zweimal auffällig. Beide Male wurden die infizierten Rechner anscheinend an andere kriminelle Netzwerke ausgeliehen.

Das erste Mal arbeite das Conficker-Netzwerk anscheinend mit der Waledac-Gruppe zusammen. Conficker wurde dabei unter anderem Rechner nachgeladen, die mit Waledac infiziert waren. Anscheinend wurden beide Systeme für den Versand von Spam-Mails genutzt. Waledac steht übrigens im Verdacht, Verbindungen zur Gang des Storm-Wurms zu haben.

Das zweite Mal sollte Conficker wahrscheinlich direkt Geld verdienen. Dazu kooperierte die Malware mit den Hintermännern der Scareware „SpyProtect 2009“. Die Software arbeitet Rouge-AV-Programm, spiegelt dem Nutzer eines infizierten Systems also vor, dass er mit diversen Viren infiziert sei. Der erste Scan ist dabei kostenlos, will der Nutzer allerdings, dass sein System bereinigt wird, muss er dafür die Vollversion kaufen. Zu Beginn wurden diese Programme noch relativ günstig verkauft, inzwischen haben die Hintermänner die Preise deutlich erhöht.

Update: Gegenmaßnahmen und Reinigung

Neben dem Kopfgeld auf die Programmierer von Conficker hat Microsoft eine Reihe von Maßnahmen online gestellt. Erste und wichtigste Gegenmaßnahme ist die Installation des Updates MS08-067 auf jedem Rechner im Netzwerk. Wichtig ist auch, dass Sie die Autorun-Funktionen von USB-Geräten deaktivieren. Falls Sie keine passende Managementsoftware oder Gruppenrichtlinien verwenden, müssen Sie dazu den Registry-Schlüssel „NoDriveTypeAutoRun“ ändern. Die offizielle Anleitung dazu finden Sie hier bei Microsoft. Zusätzlich empfiehlt sich das Update der KB967940. Anschließend sollten Passwörter geändert werden, wobei starke Passwörter in jedem Fall vorzuziehen sind.

Die Entwickler der Sicherheitstools Nmap und Nessus können das überwachte Netzwerk ebenfalls auf eine Conficker-Infektion überprüfen. Bei Nessus geschieht das über das Plugin „Conficker P2P Service Detection“, Nmap hat das passende Script namens „smb-check-vulns.nse“ in der aktuellen Version bereits installiert.

Jeder Rechner sollte unbedingt mit einem aktuellen Virusscanner geprüft werden. Womöglich sollten Sie dabei Live-CDs nutzen, um eine Beeinflussung durch den Wurm zu verhindern. Ratsam ist in jedem Fall, auch die geplanten Tasks zu prüfen, ob sich dort auffällige Einträge finden.

Sollten Sie eine Infektion feststellen, ist es wichtig, die jeweiligen Systeme vom Netzwerk zu trennen. Anschließend können Sie entweder einen Virenscanner oder dedizierte Programme der Anti-Malware-Forscher nutzen.

Neu: Fazit

Conficker bleibt ein Mysterium. Die Malware schlug hohe Wellen, sowohl bei den Medien wie auch bei den Viren-Analysten. Doch hinter den Kulissen arbeiten die Entwickler fleißig weiter an Verbesserungen der Malware. Dennoch ist noch immer unbekannt, was die Software eigentlich erreichen soll.

Möglich sind mehrere Szenarien. Conficker könnte lediglich als Proof-of-Concept oder Versuchsumgebung dienen, mit der neue Technologien, Infektionswege und Abwehrmaßnahmen gegen die Anti-Viren-Industrie getestet werden. Dafür würde sprechen, dass 2009 einige extrem erfolgreiche Malware-Familen, etwa Koobface oder URLzone ihr Unwesen trieben.

Die Szenarien reichen von Distributed-Denial-of-Service-Angriffen auf ganze Länder bis hin zu einem Aprilscherz. Ein anderer Ansatz ist, dass das Botnetz für einen groß angelegten Betrug genutzt wird, indem die Bot-Armee auf bestimmte Affiliate-Links angesetzt wird.

Supercomputer: Die geschätzte Rechenpower von Conficker (Quelle: Kaspersky)
Foto: Firma

Andererseits könnten die Hintermänner auch einfach nur abwarten, bis die Zeit gekommen ist. Oder sie nutzen die enorme Rechenkapazität bereits jetzt, um andere Dienste anzubieten. Denn ähnlich wie etwa beim SETI-Projekt würde sich diese Menge an Rechenzeit beispielsweise hervorragend rechenintensive Anwendungen wie etwa das Knacken von Passwörtern oder Codes eignen. Für Letzteres gibt es allerdings keinerlei Hinweise.

Andere Experten warnen vor Panikmache. Conficker habe eine Menge Aufsehen in den Medien weltweit erregt, daher würden die Besitzer des Botnets von einer Aktivierung abschrecken. Ziel von solchen Netzen sei, dass sie möglichst unauffällig agieren, um unerkannt ihre Aufgaben zu verrichten. (mje)

Anhang: Quellen und Lesehinweise

Von einem technischen Standpunkt aus betrachtet ist der Wurm so interessant, dass sich diverse Analytik-Teams mit ihm beschäftigen. Hier möchten wir Ihnen eine Linksammlung zur Verfügung stellen, in der Sie detaillierte Analysen und Kommentare von Firmen und IT-Experten zu Conficker finden:

Symantec: Downadup Motivations; The Downadup Codex (PDF)

Sophos: Cleanup-Tool (Netzwerk-Version); Conficker Call-home Protocol v2

SANS: Sammlung mit Links zu Removal Tools und Informationen (wird laufend aktualisiert)

SRI: Tiefgehende Analyse von Conficker.C inklusive schematischem Aufbau

Bruce Schneier: Balancing Security and Usability in Authentication

ICAN: Microsoft und Sicherheitsfirmen kooperieren im Kampf gegen den Wurm

Honeynet Project: Know Your Enemy – Containing Conficker