46
Web Würmer Klein, glitschig und ekelhaft Mario Heiderich

Web Wuermer

Embed Size (px)

DESCRIPTION

Talk slides for the RU Bochum 01.2010 - German language

Citation preview

Page 1: Web Wuermer

Web WürmerKlein, glitschig und ekelhaftMario Heiderich

Page 2: Web Wuermer

Vorstellung● Mario Heiderich

● PHPIDS● Trainings● Audits und Pentests● Secure Development

Page 3: Web Wuermer

Überblick● Ein wenig Geschichte● Fallbeispiele● Limitationen● Und Wege diese zu umgehen● Blick in die Zukunft● Diskussion

Page 4: Web Wuermer

Erste Gehversuche● 1999 - 2002● Attacken gegen Hotmail● Outlook Webaccess● Ein völlig neues Thema● Internet Explorer 5.5

Page 5: Web Wuermer

Samy● 2005● Just to be popular● Hat funktioniert● MySpace down● FBI, Arrest und Auflagen● 2010 - und Samy ist zurück...

Page 6: Web Wuermer

Yamanner● 2006● Mailworm● Adressdaten harvesten● SPAM

Page 7: Web Wuermer

Der Pornowurm● 2007● 1 Mio User● Lediglich ein PoC● XSS Attacken und persönliche Reputation● Emailadresse und sexuelle Präferenzen● Reported aber nie gefixt

Page 8: Web Wuermer

Nduja Connection● 2007● Mailworm● Mehrere italienische Freemailer● Cross Domain● Nur ein PoC

Page 9: Web Wuermer

Der nette Wurm● 2007● Wordpress● Heilsamer Payload● Propagation via Scanning und Blogroll● Große Coverage in den Medien

Page 10: Web Wuermer

Jikto● 2007● Cross Domain● PoC Wurm für einen Shmoocon Talk● “Geleakter Sourcecode”

● SOP Normalisation via Google Translate● Big buzz

Page 11: Web Wuermer

Diminutive Worm Contest● 2008● “Den Kürzesten haben”● Webworm aus ca. 150 Bytes als Resultat● Erstmalig HTML als Wurmgerüst● Contest mit Botschaft

Page 12: Web Wuermer

Justin.TV und andere● 2008● Adressdaten sammeln● Logindaten als Plaintext● SPAM

Page 13: Web Wuermer

Rediff.com● 2009● Mailworm● 60 Millionen betroffene User● Nutzt kleine Lücke im HTML Filter

Page 14: Web Wuermer

Reddit, Twitter,...● 2009● Spam, SEO, Account Hijacking etc● Facebook Apps running wild● Orkut● Und viele andere...

Page 15: Web Wuermer

Mehr mehr MEHR!● Quellen diverser Würmer sind online● Teils mit Erläuerungen● sla.ckers.org● AJAX Worm Database● namb.la/popular

Page 16: Web Wuermer

Bilanz und Warten auf 2010● Schlechter Code● Lediglich String Obfuscation● Potenzial noch nicht ausgereizt● Meist fokussiert auf die betroffene App● Mangelhafte Infrastruktur

Page 17: Web Wuermer

Heutige Probleme● Wenige verstehen XSS● Gleiches für CSRF● Und erst recht die Kombination● Dabei ist's nicht so schwer● Und HTTP ist immer noch an allem Schuld● Oder?

Page 18: Web Wuermer

Goldene Regel● Remote XSS und Applikation mit Login == Wurm● Auch reflektiver XSS dank short URLs–

● HttpOnly ist kein Hindernis● Warum?

Page 19: Web Wuermer

Anatomie eines Wurms● Initiale XSS Lücke● Data Storage● Payload Propagation● Wurmkopf● MVC oder was?

Page 20: Web Wuermer

Eigenschaften eines Wurms● Was sind die wichtigsten Eigenschaften?● Wie werden diese implementiert?

Page 21: Web Wuermer

Klar...● Propagation● Payload● Stealthiness● Robustness● Obfuscation● Defence

Page 22: Web Wuermer

Klassiches Design● Altbekannte Prinzipien● Klare Gewaltenteilung● Strukturelle Schwäche

Page 23: Web Wuermer

Fallbespiel● Yamanner● View - die Lücke im Yahoo! Mail Frontend● Controller - Der Payload● Model - Ein PM System einer anderen Website● Sauber strukturiert - aber...● Einfach zu eliminieren

Page 24: Web Wuermer

Warhhol Würmer● Kurzlebigkeit● Instabilität● Offensichtlichkeit● No money shots

Page 25: Web Wuermer

Wer kanns besser?● Botnetze● Mass SQL Injections● "Binary Worms"

Page 26: Web Wuermer

Vorteil Infrastruktur?● P2P Architekturen● Dezentrale C&C Server● Obfuscation● Verschlüsselung richtig echte–

● Rechenleistung und Plattenplatz

Page 27: Web Wuermer

Zurück zum Webworm● Was fehlt zum echten Wurm?

Page 28: Web Wuermer

Eigentlich nichts● Das Internet als Infrastruktur● Verfügbar, dezentralisiert und schnell● Services im richtigen Kontext sehen● Alle Komponenten eines Binary Worms haben “ ”

Web-Repräsentanten

Page 29: Web Wuermer

Controller● Business Logik● Yahoo! Pipes● AppJet● Codepad● PHP, C++, JavaScript,...

Page 30: Web Wuermer

Dinge im Hintergrund● AJAX Requests● DOM Worker● Schnittstellen zu OS und Applikationen● ActiveX, PDFs, Videos,...

Page 31: Web Wuermer

Model● Pastebins● Image Hoster● Twitter, Delicious und andere● Einfach dank Tagging● Web-RAID und mehr...

Page 32: Web Wuermer

Client Side Storage● So viele APIs● Bekannte wie W3C Storage APIs● Und weniger bekannte Vertreter wie #userdata● Oder HTML+TIME

Page 33: Web Wuermer

Payload obfuscation● String Obfuscation und mehr● Wir hatten das bereits...● location.hash

● window.name

● Aynwhere in DOM country● Bilder, Farben, Subdomains, Dateinamen, ...

Page 34: Web Wuermer

Robustness● Escaping und Encoding● Base64 nicht alle User Agents–

● escape()

● encodeURIComponent()

● Markup nutzen

Page 35: Web Wuermer

Propagation● Scanning und Fuzzing● Spidering● Google und Yahoo! Search API● Code Search Engines

Page 36: Web Wuermer

JavaScript und HTTP● AJAX wenn möglich● XDR● Cross-Domain● Lesend zum Harvesten● Nicht-lesend zum Verbreiten● new Image().src='http://...'

Page 37: Web Wuermer

Crossing the Line● Requests an beliebige Domains● Requests an beliebige Protokolle● Requests an beliebige Ports● Shodan

Page 38: Web Wuermer

Wenig Limits● SOP als einziges Hindernis● Komplexer als man denkt● Single Point of Failure● 2009 wie oft genau gefallen?

Page 39: Web Wuermer

Und noch weiter...● Intranet Würmer

● OTRS, phpMyAdmin, Plesk● Würmer in Entwicklungsumgebungen

● Eclipse, Trac, ...● Politische Foren und Abstimmungssysteme● Mobile Botnetze via XSS

Page 40: Web Wuermer

Zusammenfassung● Web-Würmer können mehr● Trusted User Interaction simulieren● Dezentrale Controller● Dezentrale und inhomogene Models● Cross-Domain und Cross-Protocol

Page 41: Web Wuermer

Warhol war einmal● Persistente Webworms sind möglich● Nur gibt es noch keinen● Zeit einen zu bauen!● Oder?

Page 42: Web Wuermer

Rechtliches● Keine einfache Lage● Mehr eine völlige Blackbox siehe – §202c● Gerade noch ein PoC...● ...oder schon eine Straftat?● Kompliziert in EU und USA

Page 43: Web Wuermer

Was kann man tun?● Dilemma Diversität● Zuviele Kombinationen aus Services● Messerblock und Säurefässchen● CSE oder Exploit Search Engine?

Page 44: Web Wuermer

Diskusssion

Page 45: Web Wuermer

Vielen Dank!

Page 46: Web Wuermer

Vielen Dank!● [email protected]● http://heideri.ch● https://twitter.com/0x6D6172696F