27. Dezember 2007

24C3: Cybercrime 2.0 Storm Worm

Category: CCC,Hacking — Christian @ 23:24

Der Vortrag von Thorsten Holz zum Storm Worm war wieder sehr interessant. Der Storm Worm (auch Peacomm, Nuwar, Zhelatin) war der am meisten in den Medien erwähnte Wurm 2007 und ist sehr agressiv in der Verteilung durch Spam. Im Schnitt zwischen 2-5% des Spam-Aufkommens wird inzwischen durch den Storm Worm verursacht. Teilweise wurde die Anzahl der infizierten Rechner auf 1,8 Millionen geschätzt. Thorsten hat das etwas relativiert.

Die Spam-Mails des Storm Worm locken auf Webseiten, die zum einen Browser-Exploits gegen Firefox und Internet Explorer einsetzen, andererseits zum Download von EXE-Files animieren, die dann den eigentlichen Schadcode auf dem Rechner installieren. Das Binary wiederum ist stark obfuscated (wurde von Frank Boldewin analysiert) und implementiert das Overnet Peer-to-Peer Protokoll zur Kommunikation.

In diesem Peer-to-Peer Netzwerk suchen die infizierten Clients nach bestimmten Hashes (die vom Datum und der Zeit abhängen, weshalb der Wurm die Clients per NTP synchronisiert) und findet mit Hilfe dieser Hashes die Kommandos (z.B. DDoS oder Spam-Versand) die auszuführen sind. Rechner mit privaten IPs fungieren nur als Angriffsnode, Rechner mit offiziellen IPs übernehmen Funktionen von Control-Nodes und können Web- und DNS-Server laufen lassen.

Clients authentisieren sich gegenüber dem Controller mit einem einfachen Challenge-Response, wobei Challenge XOR Response immer den Wert 0x3ED9F146 ergeben muss. Die Kommunikation selbst ist Zlib-komprimiert aber (bisher) nicht verschlüsselt (aktuelle Versionen setzen einfache XOR-Verschlüsselung mit festen Werten aber keine starke Kryptographie ein).

Mit Hilfe des KadC-Crawlers, der das komplette Overnet in ca. 20-40 Sekunden abfragen kann, hat Thorsten die Größe des Storm Worm Netzes geschätzt: Die Obergrenze ergibt sich durch 45-80 tausend Peers, 420 tausend Overnet IDs verteilt auf 1,7 Mill. verschiedene IP-Adressen, davon jedoch einige legitime Overnet-Peers die nicht Storm Worm infiziert sind. Die Untergrenze ergibt sich durch die Controller, ca. 5-6 tausend Bots mit Webservern, etwa 30 tausend Peers die Storm Worm Hashes suchen. Die real infizierte Zahl dürfte irgendwo dazwischen liegen auch wenn sicher immer wieder viele infizierte Rechner gerade nicht im Internet aktiv sind.

Gegen das Peer-to-Peer Netz des Storm Worm kann man nicht so viel tun … es gibt Eclipsing, d.h. Man-in-the-Middle-Angriffe bei denen man versucht die Hash-Suche durch falsche Antworten zu beeinflussen und Polluting, d.h. man versucht so viel Schrott mit gleichem Hash zu platzieren, dass die Bots keine regulären Befehle mehr entgegen nehmen können. Beides funktioniert nur eingeschränkt.

Das Storm Worm Netz verfügt über clevere Entwickler:

  • Bei mehrfachem Download des Binaries vermutet der Webserver einen Virenscanner-Hersteller und führt einen DDos-Angriff gegen die IP-Adresse durch
  • Es gibt viele Drive-by-Download Angriffe
  • Das Binary selbst wird alle Minute neu verpackt mit jeweils neuer Prüfsumme um Virenscanner zu irritieren
  • Die Javascript Drive-by-Angriffe werden jede Minute mit einem neuen XOR-Key kodiert, ebenfalls um Virenscanner zu irritieren
  • Die Größe des Binaries schwankt je nach Funktion und Packer zwischen 70 und 150 KB
  • Das Botnetz verwendet Fast-Flux Domains mit einer TTL von z.B. 5 Sekunden. Dadurch zeigt ein Webserver immer wieder auf neue IP-Adressen.

Das ist schon sehr nahe an einem effizienten Wurm.

In der Zukunft erwartet Thorsten starke Verschlüsselung, veränderte Kommunikation, z.B. NNTP damit Kommandos leichter an die Clients geschickt werden können und anonymisierte Kommunikation z.B. mittels Tor. Er vermutet übrigens, dass Verschlüsselung nur deshalb noch nicht weit in Würmern verbreitet ist, weil es so einfach ist viele tausend Rechner zu infizieren, dass sich der Aufwand gar nicht lohnt.

Ach ja … und er hat ein Blog.

1 Kommentar

  1. Kommentare gesperrt wegen Spam

    Comment by Christian — 6. Juni 2010 @ 17:25

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.