Freitag, 8. Juni 2012


Topthema

Donnerstag, 31. Januar 2008 | Topthema

About Security #141: Webwürmer (4): Der Orkut-XSS-Wurm

(Link zum Artikel: http://www.entwickler.de/php/kolumnen/041017)
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share

Der Orkut-XSS-Wurm machte im Prinzip nichts anderes als auch Samy und Yamanner: Eine XSS-Schwachstelle zum Eindringen ausnutzen, dann über XMLHttpRequests im Hintergrund das Opfer zur Gruppe 'Infectatos pelo Virus do Orkut' hinzufügen und nach neuen Opfern suchen. Die XSS-Schwachstelle bestand diesmal nicht in einem fehlerhaften JavaScript- oder HTML-Filter, der eigentlich unerwünschten Code passieren lässt, sondern im Zulassen von Flash. Flash nutzt mit ActionScript einen 'JavaScript-Dialekt', dessen Fähigkeiten sich zwar auf den Bereich Multimedia konzentrieren, die aber auch ausreichen, um Schaden im Browser anzurichten. Der Wurm-Autor, laut Quelltext Rodrigo Lacerda, nutzte Flash aber nur, um den eigentlichen, in JavaScript geschriebenen Schadcode nachzuladen. Neu war auch, das der Schadcode getarnt (obfuscated) war: Der Code wurde mit Dean Edwards Javascript Packer gepackt. Wie man daraus den eigentlichen Quelltext zurückerhält, wird in diesem Blogeintrag von Ryan Cartner beschrieben. Lokale Kopien der verschiedenen Quelltexte samt Quellenangaben gibt es hier.

Der Code

Der Code wurde automatisch ausgeführt, wenn die infizierte Scrap-Nachricht mit dem Titel '2008 vem ai... que ele comece mto bem para vc' (auf deutsch etwa '2008 kommt... ich hoffe es beginnt gut für dich') oder 'Boas Festas de final de Ano!' ('Hab eine schöne Silvesterparty') gelesen wurde. Eine Aktion des Opfers über das Öffnen der Nachricht hinaus war nicht notwendig. Zuerst wurde der Benutzer der genannten Gruppe hinzugefügt. Dann wurde die Freundesliste des Opfers gelesen und eine Scrap-Nachricht mit dem Wurm darin an die Freunde geschickt. Dabei nutzte der Wurm einen Cookie, um den aktuellen Index in der Freundesliste zu speichern. War der 0, wurde der Wurmcode zum ersten Mal im Browser des aktuellen Opfers gestartet und der Benutzer musste noch zur Gruppe hinzugefügt werden. Anschließend bzw. wenn der Wert des Cookies größer als 0 war, wurde der Wurmcode an die Freunde des Opfers gesendet, an die er nicht zuvor bereits gesendet worden war. Schlugen das Hinzufügen zur Gruppe oder das Senden eines Scraps fehl, wurde die entsprechende Aktion erneut gestartet.

N E U ! Security aktuell
Täglich aktuelle Security-Infos!

Die Verbreitung des Wurms endete entweder, weil Orkut ein Captcha vor das Versenden von Scraps eingebaut hat, oder weil der Wurm-Autor den Schadcode entfernt hat. In welcher Reihenfolge diese Aktionen stattfanden, ist nicht festzustellen.

Die Folgen

Das Ganze war kein Angriff im eigentlichen Sinn, sondern eine Demonstration einer gefundenen XSS-Schwachstelle und was damit auf einer Social-Networking-Site angerichtet werden kann. Die Reaktion von Orkut/Google zeigt, dass diese Vorgehensweise teilweise berechtigt war: Die Reaktion erfolgte viel zu langsam (siehe z.B. diesen Blogeintrag von Kee Hinckley), und die einzige Stellungnahme von Orkut dazu ist ausgesprochen mager, siehe diesen Blogeintrag im Orkut-Blog. Vor allem geht es darin nur um die versendeten Scraps. Dass die Wurm-Opfer auch zur Gruppe 'Infectatos pelo Virus do Orkut' hinzugefügt wurden, wird gar nicht erwähnt. Zwei weitere pikante Details am Rande: Kurz vor Ausbruch des Wurm erschien im Orkut-Blog ein Beitrag mit dem Titel 'We hear you!'. Und während der Wurm sich noch ausbreitete, wurde ein Beitrag mit dem Titel 'Planning a holiday party?' veröffentlicht: Für Einladungen könnten die Benutzer Scraps benutzen, und 'If you're tech-savvy, you could even make it in HTML.' Der Wurm-Autor war 'tech-savvy'.

Zusammenfassung

Vorgestellt wurden 3 Webwürmer, die sich alle auf jeweils eine einzige Webanwendung beschränkten:

  • Samy (About Security #138/ #139) zwang MySpace in die Knie, weil der Autor die Verbreitungsgeschwindigkeit vollkommen unterschätzt hatte. Innerhalb von 20 Stunden wurden mehr als 1 Million Benutzer zu Freunden von Samy.
  • Yamanner (About Security #139/ #140) sammelte in 2 Tagen die Adresslisten von ca. 200.000 Mail-Accounts.
  • Der Orkut-Wurm fügte in 2 Tagen ca. 655.000 Benutzer zu einer Gruppe hinzu.
About Security: Die komplette Serie

Zum Vergleich die Daten einiger Windows-Würmer:

  • Code-Red nutzte 2001 eine Pufferüberlaufschwachstelle in Microsofts IIS Webserver und infizierte in weniger als 14 Stunden 359.000 zufällig ausgewählte Rechner. Bei einem zweiten Ausbruch einige Tage später gab es 275.000 Opfer, vermutlich waren inzwischen auf vielen der möglichen Opfer Patches installiert worden.
  • Blaster nutzte 2003 eine Schwachstelle in der Windows-RPC-Implementierung und kam auf 336.000 Opfer weltweit in 24 Stunden.
  • Slammer verbreitete sich 2003 über eine über UDP erreichbare Pufferüberlaufschwachstelle und fand ca. 55.000-75.000 Opfer.

Die Webwürmer übertreffen also bei der Verbreitung ihre herkömmlichen Verwandten teilweise weit – und das, obwohl die bisher beschriebenen Exemplare auf eine einzige Webanwendung beschränkt sind und sich nicht wie die normalen Würmer im gesamten Internet ihre Opfer suchen können.

Welche weiteren Möglichkeiten Webwürmer nutzen können, erfahren Sie in der nächsten Folge.

Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!

Carsten Eilers

About Security – Übersicht zum aktuellen Thema "Sichere Webanwendungen – Webwürmer"

Kommentare

Folgende Links könnten Sie auch interessieren