SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
Web Würmer
Klein, glitschig und ekelhaft
Mario Heiderich
Vorstellung
●
    Mario Heiderich
        ●
            PHPIDS
        ●
            Trainings
        ●
            Audits und Pentests
        ●
            Secure Development
Überblick
●
    Ein wenig Geschichte
●
    Fallbeispiele
●
    Limitationen
●
    Und Wege diese zu umgehen
●
    Blick in die Zukunft
●
    Diskussion
Erste Gehversuche
●
    1999 - 2002
●
    Attacken gegen Hotmail
●
    Outlook Webaccess
●
    Ein völlig neues Thema
●
    Internet Explorer 5.5
Samy
●
    2005
●
    Just to be popular
●
    Hat funktioniert
●
    MySpace down
●
    FBI, Arrest und Auflagen
●
    2010 - und Samy ist zurück...
Yamanner
●
    2006
●
    Mailworm
●
    Adressdaten harvesten
●
    SPAM
Der Pornowurm
●
    2007
●
    1 Mio User
●
    Lediglich ein PoC
●
    XSS Attacken und persönliche Reputation
●
    Emailadresse und sexuelle Präferenzen
●
    Reported aber nie gefixt
Nduja Connection
●
    2007
●
    Mailworm
●
    Mehrere italienische Freemailer
●
    Cross Domain
●
    Nur ein PoC
Der nette Wurm
●
    2007
●
    Wordpress
●
    Heilsamer Payload
●
    Propagation via Scanning und Blogroll
●
    Große Coverage in den Medien
Jikto
●
    2007
●
    Cross Domain
●
    PoC Wurm für einen Shmoocon Talk
●
    “Geleakter” Sourcecode
●
    SOP Normalisation via Google Translate
●
    Big buzz
Diminutive Worm Contest
●
    2008
●
    “Den Kürzesten haben”
●
    Webworm aus ca. 150 Bytes als Resultat
●
    Erstmalig HTML als Wurmgerüst
●
    Contest mit Botschaft
Justin.TV und andere
●
    2008
●
    Adressdaten sammeln
●
    Logindaten als Plaintext
●
    SPAM
Rediff.com
●
    2009
●
    Mailworm
●
    60 Millionen betroffene User
●
    Nutzt kleine Lücke im HTML Filter
Reddit, Twitter,...
●
    2009
●
    Spam, SEO, Account Hijacking etc
●
    Facebook Apps running wild
●
    Orkut
●
    Und viele andere...
Mehr mehr MEHR!
●
    Quellen diverser Würmer sind online
●
    Teils mit Erläuerungen
●
    sla.ckers.org
●
    AJAX Worm Database
●
    namb.la/popular
Bilanz und Warten auf 2010
●
    Schlechter Code
●
    Lediglich String Obfuscation
●
    Potenzial noch nicht ausgereizt
●
    Meist fokussiert auf die betroffene App
●
    Mangelhafte Infrastruktur
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?
Goldene Regel
●
    Remote XSS und Applikation mit Login == Wurm
●
    Auch reflektiver XSS – dank short URLs
●
    HttpOnly ist kein Hindernis
●
    Warum?
Anatomie eines Wurms
●
    Initiale XSS Lücke
●
    Data Storage
●
    Payload Propagation
●
    Wurmkopf
●
    MVC oder was?
Eigenschaften eines Wurms
●
    Was sind die wichtigsten Eigenschaften?
●
    Wie werden diese implementiert?
Klar...
●
    Propagation
●
    Payload
●
    Stealthiness
●
    Robustness
●
    Obfuscation
●
    Defence
Klassiches Design
●
    Altbekannte Prinzipien
●
    Klare Gewaltenteilung
●
    Strukturelle Schwäche
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
Warhhol Würmer
●
    Kurzlebigkeit
●
    Instabilität
●
    Offensichtlichkeit
●
    No money shots
Wer kanns besser?
●
    Botnetze
●
    Mass SQL Injections
●
    "Binary Worms"
Vorteil Infrastruktur?
●
    P2P Architekturen
●
    Dezentrale C&C Server
●
    Obfuscation
●
    Verschlüsselung – richtig echte
●
    Rechenleistung und Plattenplatz
Zurück zum Webworm
●
    Was fehlt zum echten Wurm?
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
Controller
●
    Business Logik
●
    Yahoo! Pipes
●
    AppJet
●
    Codepad
●
    PHP, C++, JavaScript,...
Dinge im Hintergrund
●
    AJAX Requests
●
    DOM Worker
●
    Schnittstellen zu OS und Applikationen
●
    ActiveX, PDFs, Videos,...
Model
●
    Pastebins
●
    Image Hoster
●
    Twitter, Delicious und andere
●
    Einfach dank Tagging
●
    Web-RAID und mehr...
Client Side Storage
●
    So viele APIs
●
    Bekannte wie W3C Storage APIs
●
    Und weniger bekannte Vertreter wie #userdata
●
    Oder HTML+TIME
Payload obfuscation
●
    String Obfuscation und mehr
●
    Wir hatten das bereits...
●   location.hash
●   window.name
●
    Aynwhere in DOM country
●
    Bilder, Farben, Subdomains, Dateinamen, ...
Robustness
●
    Escaping und Encoding
●
    Base64 – nicht alle User Agents
●   escape()
●   encodeURIComponent()
●
    Markup nutzen
Propagation
●
    Scanning und Fuzzing
●
    Spidering
●
    Google und Yahoo! Search API
●
    Code Search Engines
JavaScript und HTTP
●
    AJAX wenn möglich
●
    XDR
●
    Cross-Domain
●
    Lesend zum Harvesten
●
    Nicht-lesend zum Verbreiten
●   new Image().src='http://...'
Crossing the Line
●
    Requests an beliebige Domains
●
    Requests an beliebige Protokolle
●
    Requests an beliebige Ports
●
    Shodan
Wenig Limits
●
    SOP als einziges Hindernis
●
    Komplexer als man denkt
●
    Single Point of Failure
●
    2009 wie oft genau gefallen?
Und noch weiter...
●
    Intranet Würmer
        ●
            OTRS, phpMyAdmin, Plesk
●
    Würmer in Entwicklungsumgebungen
        ●
            Eclipse, Trac, ...
●
    Politische Foren und Abstimmungssysteme
●
    Mobile Botnetze via XSS
Zusammenfassung
●
    Web-Würmer können mehr
●
    Trusted User Interaction simulieren
●
    Dezentrale Controller
●
    Dezentrale und inhomogene Models
●
    Cross-Domain und Cross-Protocol
Warhol war einmal
●
    Persistente Webworms sind möglich
●
    Nur gibt es noch keinen
●
    Zeit einen zu bauen!
●
    Oder?
Rechtliches
●
    Keine einfache Lage
●
    Mehr eine völlige Blackbox – siehe §202c
●
    Gerade noch ein PoC...
●
    ...oder schon eine Straftat?
●
    Kompliziert in EU und USA
Was kann man tun?
●
    Dilemma Diversität
●
    Zuviele Kombinationen aus Services
●
    Messerblock und Säurefässchen
●
    CSE oder Exploit Search Engine?
Diskusssion
Vielen Dank!
Vielen Dank!
●
    mario.heiderich@gmail.com
●
    http://heideri.ch
●
    https://twitter.com/0x6D6172696F

Contenu connexe

En vedette

Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...Mario Heiderich
 
The Image that called me - Active Content Injection with SVG Files
The Image that called me - Active Content Injection with SVG FilesThe Image that called me - Active Content Injection with SVG Files
The Image that called me - Active Content Injection with SVG FilesMario Heiderich
 
An Abusive Relationship with AngularJS
An Abusive Relationship with AngularJSAn Abusive Relationship with AngularJS
An Abusive Relationship with AngularJSMario Heiderich
 
In the DOM, no one will hear you scream
In the DOM, no one will hear you screamIn the DOM, no one will hear you scream
In the DOM, no one will hear you screamMario Heiderich
 
Referat KMU Doppelbesteuerung.Pdf
Referat KMU Doppelbesteuerung.PdfReferat KMU Doppelbesteuerung.Pdf
Referat KMU Doppelbesteuerung.Pdfstartups
 
Jornada sobre Calidad del Software. Ministerio de Hacienda y Administraciones...
Jornada sobre Calidad del Software. Ministerio de Hacienda y Administraciones...Jornada sobre Calidad del Software. Ministerio de Hacienda y Administraciones...
Jornada sobre Calidad del Software. Ministerio de Hacienda y Administraciones...CIFF Fundación
 
httpasts://digitalmemoryonthenet Workshop Eisenmenger
httpasts://digitalmemoryonthenet Workshop Eisenmengerhttpasts://digitalmemoryonthenet Workshop Eisenmenger
httpasts://digitalmemoryonthenet Workshop EisenmengerDaniel Bernsen
 
Diabetes mellitus terminado 2
Diabetes mellitus terminado 2Diabetes mellitus terminado 2
Diabetes mellitus terminado 2Dario Mancini
 
Deserción (1)
Deserción (1)Deserción (1)
Deserción (1)Licentiare
 
Google docs
Google docsGoogle docs
Google docscjdiego
 
El grupo nominal
El grupo nominalEl grupo nominal
El grupo nominalJuan4508
 
Cambios de roles al utilizar las TIC en los procesos educativos
Cambios de roles al utilizar las TIC en los procesos educativosCambios de roles al utilizar las TIC en los procesos educativos
Cambios de roles al utilizar las TIC en los procesos educativosCarlos Navas
 
Interner Infoanlass Viertes Semester Mas Und Emba Es
Interner Infoanlass Viertes Semester Mas Und Emba EsInterner Infoanlass Viertes Semester Mas Und Emba Es
Interner Infoanlass Viertes Semester Mas Und Emba Espeer.dittmar
 
Restricciones 2014 alemania,suiza,rep. checa y portugal
Restricciones 2014 alemania,suiza,rep. checa y portugalRestricciones 2014 alemania,suiza,rep. checa y portugal
Restricciones 2014 alemania,suiza,rep. checa y portugalEl Choto de Alfafar
 

En vedette (20)

Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
 
The Image that called me - Active Content Injection with SVG Files
The Image that called me - Active Content Injection with SVG FilesThe Image that called me - Active Content Injection with SVG Files
The Image that called me - Active Content Injection with SVG Files
 
An Abusive Relationship with AngularJS
An Abusive Relationship with AngularJSAn Abusive Relationship with AngularJS
An Abusive Relationship with AngularJS
 
In the DOM, no one will hear you scream
In the DOM, no one will hear you screamIn the DOM, no one will hear you scream
In the DOM, no one will hear you scream
 
Metodologia
MetodologiaMetodologia
Metodologia
 
Examen de computacion.
Examen de computacion.Examen de computacion.
Examen de computacion.
 
Referat KMU Doppelbesteuerung.Pdf
Referat KMU Doppelbesteuerung.PdfReferat KMU Doppelbesteuerung.Pdf
Referat KMU Doppelbesteuerung.Pdf
 
Elps4
Elps4Elps4
Elps4
 
Tecnologia en la industria petrolera
Tecnologia en la industria petroleraTecnologia en la industria petrolera
Tecnologia en la industria petrolera
 
Jornada sobre Calidad del Software. Ministerio de Hacienda y Administraciones...
Jornada sobre Calidad del Software. Ministerio de Hacienda y Administraciones...Jornada sobre Calidad del Software. Ministerio de Hacienda y Administraciones...
Jornada sobre Calidad del Software. Ministerio de Hacienda y Administraciones...
 
httpasts://digitalmemoryonthenet Workshop Eisenmenger
httpasts://digitalmemoryonthenet Workshop Eisenmengerhttpasts://digitalmemoryonthenet Workshop Eisenmenger
httpasts://digitalmemoryonthenet Workshop Eisenmenger
 
Diabetes mellitus terminado 2
Diabetes mellitus terminado 2Diabetes mellitus terminado 2
Diabetes mellitus terminado 2
 
Deserción (1)
Deserción (1)Deserción (1)
Deserción (1)
 
Google docs
Google docsGoogle docs
Google docs
 
El grupo nominal
El grupo nominalEl grupo nominal
El grupo nominal
 
Ensayo tuna murgas
Ensayo tuna  murgasEnsayo tuna  murgas
Ensayo tuna murgas
 
Cambios de roles al utilizar las TIC en los procesos educativos
Cambios de roles al utilizar las TIC en los procesos educativosCambios de roles al utilizar las TIC en los procesos educativos
Cambios de roles al utilizar las TIC en los procesos educativos
 
Cutrecomic
CutrecomicCutrecomic
Cutrecomic
 
Interner Infoanlass Viertes Semester Mas Und Emba Es
Interner Infoanlass Viertes Semester Mas Und Emba EsInterner Infoanlass Viertes Semester Mas Und Emba Es
Interner Infoanlass Viertes Semester Mas Und Emba Es
 
Restricciones 2014 alemania,suiza,rep. checa y portugal
Restricciones 2014 alemania,suiza,rep. checa y portugalRestricciones 2014 alemania,suiza,rep. checa y portugal
Restricciones 2014 alemania,suiza,rep. checa y portugal
 

Similaire à Web Wuermer

JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...Peter Hecker
 
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
10 Dinge die ich an dir hasse - Stolpersteine in der WebentwicklungSebastian Springer
 
Qualitätsmanagement für Web- und PHP Applikationen
Qualitätsmanagement für Web- und PHP ApplikationenQualitätsmanagement für Web- und PHP Applikationen
Qualitätsmanagement für Web- und PHP ApplikationenManuel Blechschmidt
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...Peter Hecker
 
Performanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in RubyPerformanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in Rubyvesparun
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo QAware GmbH
 
Deep web & Darknet Präsentation
Deep web & Darknet PräsentationDeep web & Darknet Präsentation
Deep web & Darknet PräsentationTomturbo11
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenMayflower GmbH
 
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenPimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenDavid Schneider
 
XMPP - Real Time Communication
XMPP - Real Time CommunicationXMPP - Real Time Communication
XMPP - Real Time CommunicationDominic Lüchinger
 
Webservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenWebservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenAptly GmbH
 
Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2panagenda
 
Django - The Web framework for perfectionists with deadlines
Django - The Web framework  for perfectionists with deadlinesDjango - The Web framework  for perfectionists with deadlines
Django - The Web framework for perfectionists with deadlinesMarkus Zapke-Gründemann
 
Dirty Little Snippets - SEO Campixx 2014 - Slides zum Vortrag
Dirty Little Snippets - SEO Campixx 2014 - Slides zum VortragDirty Little Snippets - SEO Campixx 2014 - Slides zum Vortrag
Dirty Little Snippets - SEO Campixx 2014 - Slides zum VortragMySEOSolution
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013Oliver Zeigermann
 

Similaire à Web Wuermer (20)

Raspberry Pi
Raspberry PiRaspberry Pi
Raspberry Pi
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
 
Qualitätsmanagement für Web- und PHP Applikationen
Qualitätsmanagement für Web- und PHP ApplikationenQualitätsmanagement für Web- und PHP Applikationen
Qualitätsmanagement für Web- und PHP Applikationen
 
Überblick Solr
Überblick SolrÜberblick Solr
Überblick Solr
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
Browser vs. Tracking
Browser vs. TrackingBrowser vs. Tracking
Browser vs. Tracking
 
Performanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in RubyPerformanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in Ruby
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo
 
Performance?!
Performance?!Performance?!
Performance?!
 
Deep web & Darknet Präsentation
Deep web & Darknet PräsentationDeep web & Darknet Präsentation
Deep web & Darknet Präsentation
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenPimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
 
XMPP - Real Time Communication
XMPP - Real Time CommunicationXMPP - Real Time Communication
XMPP - Real Time Communication
 
Webservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenWebservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbinden
 
Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2
 
Django - The Web framework for perfectionists with deadlines
Django - The Web framework  for perfectionists with deadlinesDjango - The Web framework  for perfectionists with deadlines
Django - The Web framework for perfectionists with deadlines
 
Dirty Little Snippets - SEO Campixx 2014 - Slides zum Vortrag
Dirty Little Snippets - SEO Campixx 2014 - Slides zum VortragDirty Little Snippets - SEO Campixx 2014 - Slides zum Vortrag
Dirty Little Snippets - SEO Campixx 2014 - Slides zum Vortrag
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
 
Steemit-Vortrag
Steemit-VortragSteemit-Vortrag
Steemit-Vortrag
 

Plus de Mario Heiderich

Locking the Throne Room - How ES5+ might change views on XSS and Client Side ...
Locking the Throne Room - How ES5+ might change views on XSS and Client Side ...Locking the Throne Room - How ES5+ might change views on XSS and Client Side ...
Locking the Throne Room - How ES5+ might change views on XSS and Client Side ...Mario Heiderich
 
Dev and Blind - Attacking the weakest Link in IT Security
Dev and Blind - Attacking the weakest Link in IT SecurityDev and Blind - Attacking the weakest Link in IT Security
Dev and Blind - Attacking the weakest Link in IT SecurityMario Heiderich
 
HTML5 - The Good, the Bad, the Ugly
HTML5 - The Good, the Bad, the UglyHTML5 - The Good, the Bad, the Ugly
HTML5 - The Good, the Bad, the UglyMario Heiderich
 
I thought you were my friend - Malicious Markup
I thought you were my friend - Malicious MarkupI thought you were my friend - Malicious Markup
I thought you were my friend - Malicious MarkupMario Heiderich
 
The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010Mario Heiderich
 
JavaScript From Hell - CONFidence 2.0 2009
JavaScript From Hell - CONFidence 2.0 2009JavaScript From Hell - CONFidence 2.0 2009
JavaScript From Hell - CONFidence 2.0 2009Mario Heiderich
 
The Ultimate IDS Smackdown
The Ultimate IDS SmackdownThe Ultimate IDS Smackdown
The Ultimate IDS SmackdownMario Heiderich
 
I thought you were my friend!
I thought you were my friend!I thought you were my friend!
I thought you were my friend!Mario Heiderich
 

Plus de Mario Heiderich (8)

Locking the Throne Room - How ES5+ might change views on XSS and Client Side ...
Locking the Throne Room - How ES5+ might change views on XSS and Client Side ...Locking the Throne Room - How ES5+ might change views on XSS and Client Side ...
Locking the Throne Room - How ES5+ might change views on XSS and Client Side ...
 
Dev and Blind - Attacking the weakest Link in IT Security
Dev and Blind - Attacking the weakest Link in IT SecurityDev and Blind - Attacking the weakest Link in IT Security
Dev and Blind - Attacking the weakest Link in IT Security
 
HTML5 - The Good, the Bad, the Ugly
HTML5 - The Good, the Bad, the UglyHTML5 - The Good, the Bad, the Ugly
HTML5 - The Good, the Bad, the Ugly
 
I thought you were my friend - Malicious Markup
I thought you were my friend - Malicious MarkupI thought you were my friend - Malicious Markup
I thought you were my friend - Malicious Markup
 
The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010
 
JavaScript From Hell - CONFidence 2.0 2009
JavaScript From Hell - CONFidence 2.0 2009JavaScript From Hell - CONFidence 2.0 2009
JavaScript From Hell - CONFidence 2.0 2009
 
The Ultimate IDS Smackdown
The Ultimate IDS SmackdownThe Ultimate IDS Smackdown
The Ultimate IDS Smackdown
 
I thought you were my friend!
I thought you were my friend!I thought you were my friend!
I thought you were my friend!
 

Web Wuermer

  • 1. Web Würmer Klein, glitschig und ekelhaft Mario Heiderich
  • 2. Vorstellung ● Mario Heiderich ● PHPIDS ● Trainings ● Audits und Pentests ● Secure Development
  • 3. Überblick ● Ein wenig Geschichte ● Fallbeispiele ● Limitationen ● Und Wege diese zu umgehen ● Blick in die Zukunft ● Diskussion
  • 4. Erste Gehversuche ● 1999 - 2002 ● Attacken gegen Hotmail ● Outlook Webaccess ● Ein völlig neues Thema ● Internet Explorer 5.5
  • 5. Samy ● 2005 ● Just to be popular ● Hat funktioniert ● MySpace down ● FBI, Arrest und Auflagen ● 2010 - und Samy ist zurück...
  • 6. Yamanner ● 2006 ● Mailworm ● Adressdaten harvesten ● SPAM
  • 7. Der Pornowurm ● 2007 ● 1 Mio User ● Lediglich ein PoC ● XSS Attacken und persönliche Reputation ● Emailadresse und sexuelle Präferenzen ● Reported aber nie gefixt
  • 8. Nduja Connection ● 2007 ● Mailworm ● Mehrere italienische Freemailer ● Cross Domain ● Nur ein PoC
  • 9. Der nette Wurm ● 2007 ● Wordpress ● Heilsamer Payload ● Propagation via Scanning und Blogroll ● Große Coverage in den Medien
  • 10. Jikto ● 2007 ● Cross Domain ● PoC Wurm für einen Shmoocon Talk ● “Geleakter” Sourcecode ● SOP Normalisation via Google Translate ● Big buzz
  • 11. Diminutive Worm Contest ● 2008 ● “Den Kürzesten haben” ● Webworm aus ca. 150 Bytes als Resultat ● Erstmalig HTML als Wurmgerüst ● Contest mit Botschaft
  • 12. Justin.TV und andere ● 2008 ● Adressdaten sammeln ● Logindaten als Plaintext ● SPAM
  • 13. Rediff.com ● 2009 ● Mailworm ● 60 Millionen betroffene User ● Nutzt kleine Lücke im HTML Filter
  • 14. Reddit, Twitter,... ● 2009 ● Spam, SEO, Account Hijacking etc ● Facebook Apps running wild ● Orkut ● Und viele andere...
  • 15. Mehr mehr MEHR! ● Quellen diverser Würmer sind online ● Teils mit Erläuerungen ● sla.ckers.org ● AJAX Worm Database ● namb.la/popular
  • 16. Bilanz und Warten auf 2010 ● Schlechter Code ● Lediglich String Obfuscation ● Potenzial noch nicht ausgereizt ● Meist fokussiert auf die betroffene App ● Mangelhafte Infrastruktur
  • 17. 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?
  • 18. Goldene Regel ● Remote XSS und Applikation mit Login == Wurm ● Auch reflektiver XSS – dank short URLs ● HttpOnly ist kein Hindernis ● Warum?
  • 19. Anatomie eines Wurms ● Initiale XSS Lücke ● Data Storage ● Payload Propagation ● Wurmkopf ● MVC oder was?
  • 20. Eigenschaften eines Wurms ● Was sind die wichtigsten Eigenschaften? ● Wie werden diese implementiert?
  • 21. Klar... ● Propagation ● Payload ● Stealthiness ● Robustness ● Obfuscation ● Defence
  • 22. Klassiches Design ● Altbekannte Prinzipien ● Klare Gewaltenteilung ● Strukturelle Schwäche
  • 23. 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
  • 24. Warhhol Würmer ● Kurzlebigkeit ● Instabilität ● Offensichtlichkeit ● No money shots
  • 25. Wer kanns besser? ● Botnetze ● Mass SQL Injections ● "Binary Worms"
  • 26. Vorteil Infrastruktur? ● P2P Architekturen ● Dezentrale C&C Server ● Obfuscation ● Verschlüsselung – richtig echte ● Rechenleistung und Plattenplatz
  • 27. Zurück zum Webworm ● Was fehlt zum echten Wurm?
  • 28. 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
  • 29. Controller ● Business Logik ● Yahoo! Pipes ● AppJet ● Codepad ● PHP, C++, JavaScript,...
  • 30. Dinge im Hintergrund ● AJAX Requests ● DOM Worker ● Schnittstellen zu OS und Applikationen ● ActiveX, PDFs, Videos,...
  • 31. Model ● Pastebins ● Image Hoster ● Twitter, Delicious und andere ● Einfach dank Tagging ● Web-RAID und mehr...
  • 32. Client Side Storage ● So viele APIs ● Bekannte wie W3C Storage APIs ● Und weniger bekannte Vertreter wie #userdata ● Oder HTML+TIME
  • 33. Payload obfuscation ● String Obfuscation und mehr ● Wir hatten das bereits... ● location.hash ● window.name ● Aynwhere in DOM country ● Bilder, Farben, Subdomains, Dateinamen, ...
  • 34. Robustness ● Escaping und Encoding ● Base64 – nicht alle User Agents ● escape() ● encodeURIComponent() ● Markup nutzen
  • 35. Propagation ● Scanning und Fuzzing ● Spidering ● Google und Yahoo! Search API ● Code Search Engines
  • 36. JavaScript und HTTP ● AJAX wenn möglich ● XDR ● Cross-Domain ● Lesend zum Harvesten ● Nicht-lesend zum Verbreiten ● new Image().src='http://...'
  • 37. Crossing the Line ● Requests an beliebige Domains ● Requests an beliebige Protokolle ● Requests an beliebige Ports ● Shodan
  • 38. Wenig Limits ● SOP als einziges Hindernis ● Komplexer als man denkt ● Single Point of Failure ● 2009 wie oft genau gefallen?
  • 39. Und noch weiter... ● Intranet Würmer ● OTRS, phpMyAdmin, Plesk ● Würmer in Entwicklungsumgebungen ● Eclipse, Trac, ... ● Politische Foren und Abstimmungssysteme ● Mobile Botnetze via XSS
  • 40. Zusammenfassung ● Web-Würmer können mehr ● Trusted User Interaction simulieren ● Dezentrale Controller ● Dezentrale und inhomogene Models ● Cross-Domain und Cross-Protocol
  • 41. Warhol war einmal ● Persistente Webworms sind möglich ● Nur gibt es noch keinen ● Zeit einen zu bauen! ● Oder?
  • 42. Rechtliches ● Keine einfache Lage ● Mehr eine völlige Blackbox – siehe §202c ● Gerade noch ein PoC... ● ...oder schon eine Straftat? ● Kompliziert in EU und USA
  • 43. Was kann man tun? ● Dilemma Diversität ● Zuviele Kombinationen aus Services ● Messerblock und Säurefässchen ● CSE oder Exploit Search Engine?
  • 46. Vielen Dank! ● mario.heiderich@gmail.com ● http://heideri.ch ● https://twitter.com/0x6D6172696F