SlideShare ist ein Scribd-Unternehmen logo
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

Weitere ähnliche Inhalte

Was ist angesagt?

Xml ppt
Xml pptXml ppt
Xml ppt
seemadav1
 
Go Programming Language (Golang)
Go Programming Language (Golang)Go Programming Language (Golang)
Go Programming Language (Golang)
Ishin Vin
 
XML
XMLXML
Data Structures & Algorithm design using C
Data Structures & Algorithm design using C Data Structures & Algorithm design using C
Data Structures & Algorithm design using C
Emertxe Information Technologies Pvt Ltd
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to Javascript
Seble Nigussie
 
Golang
GolangGolang
Golang
Felipe Mamud
 
Top down parsing
Top down parsingTop down parsing
Top down parsing
Prankit Mishra
 
Lecture: Regular Expressions and Regular Languages
Lecture: Regular Expressions and Regular LanguagesLecture: Regular Expressions and Regular Languages
Lecture: Regular Expressions and Regular Languages
Marina Santini
 
JavaScript: Events Handling
JavaScript: Events HandlingJavaScript: Events Handling
JavaScript: Events Handling
Yuriy Bezgachnyuk
 
HTML/HTML5
HTML/HTML5HTML/HTML5
HTML/HTML5
People Strategists
 
Visual Studio 2012 introduction
Visual Studio  2012 introductionVisual Studio  2012 introduction
Visual Studio 2012 introduction
Nicko Satria Consulting
 
GUI programming
GUI programmingGUI programming
GUI programming
Vineeta Garg
 
Regular Expression (Regex) Fundamentals
Regular Expression (Regex) FundamentalsRegular Expression (Regex) Fundamentals
Regular Expression (Regex) Fundamentals
Mesut Günes
 
Go language presentation
Go language presentationGo language presentation
Go language presentation
paramisoft
 
Python strings
Python stringsPython strings
Python strings
Mohammed Sikander
 
Introduction to design and analysis of algorithm
Introduction to design and analysis of algorithmIntroduction to design and analysis of algorithm
Introduction to design and analysis of algorithm
DevaKumari Vijay
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to Javascript
Amit Tyagi
 
Xslt elements
Xslt elementsXslt elements
Xslt elements
Sindhu VL
 
Chuleta de XML
Chuleta de XMLChuleta de XML
Chuleta de XML
Abrirllave
 
Natural Language processing Parts of speech tagging, its classes, and how to ...
Natural Language processing Parts of speech tagging, its classes, and how to ...Natural Language processing Parts of speech tagging, its classes, and how to ...
Natural Language processing Parts of speech tagging, its classes, and how to ...
Rajnish Raj
 

Was ist angesagt? (20)

Xml ppt
Xml pptXml ppt
Xml ppt
 
Go Programming Language (Golang)
Go Programming Language (Golang)Go Programming Language (Golang)
Go Programming Language (Golang)
 
XML
XMLXML
XML
 
Data Structures & Algorithm design using C
Data Structures & Algorithm design using C Data Structures & Algorithm design using C
Data Structures & Algorithm design using C
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to Javascript
 
Golang
GolangGolang
Golang
 
Top down parsing
Top down parsingTop down parsing
Top down parsing
 
Lecture: Regular Expressions and Regular Languages
Lecture: Regular Expressions and Regular LanguagesLecture: Regular Expressions and Regular Languages
Lecture: Regular Expressions and Regular Languages
 
JavaScript: Events Handling
JavaScript: Events HandlingJavaScript: Events Handling
JavaScript: Events Handling
 
HTML/HTML5
HTML/HTML5HTML/HTML5
HTML/HTML5
 
Visual Studio 2012 introduction
Visual Studio  2012 introductionVisual Studio  2012 introduction
Visual Studio 2012 introduction
 
GUI programming
GUI programmingGUI programming
GUI programming
 
Regular Expression (Regex) Fundamentals
Regular Expression (Regex) FundamentalsRegular Expression (Regex) Fundamentals
Regular Expression (Regex) Fundamentals
 
Go language presentation
Go language presentationGo language presentation
Go language presentation
 
Python strings
Python stringsPython strings
Python strings
 
Introduction to design and analysis of algorithm
Introduction to design and analysis of algorithmIntroduction to design and analysis of algorithm
Introduction to design and analysis of algorithm
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to Javascript
 
Xslt elements
Xslt elementsXslt elements
Xslt elements
 
Chuleta de XML
Chuleta de XMLChuleta de XML
Chuleta de XML
 
Natural Language processing Parts of speech tagging, its classes, and how to ...
Natural Language processing Parts of speech tagging, its classes, and how to ...Natural Language processing Parts of speech tagging, its classes, and how to ...
Natural Language processing Parts of speech tagging, its classes, and how to ...
 

Andere mochten auch

Generic Attack Detection - ph-Neutral 0x7d8
Generic Attack Detection - ph-Neutral 0x7d8Generic Attack Detection - ph-Neutral 0x7d8
Generic Attack Detection - ph-Neutral 0x7d8
Mario Heiderich
 
Locking the Throneroom 2.0
Locking the Throneroom 2.0Locking the Throneroom 2.0
Locking the Throneroom 2.0
Mario Heiderich
 
JSMVCOMFG - To sternly look at JavaScript MVC and Templating Frameworks
JSMVCOMFG - To sternly look at JavaScript MVC and Templating FrameworksJSMVCOMFG - To sternly look at JavaScript MVC and Templating Frameworks
JSMVCOMFG - To sternly look at JavaScript MVC and Templating Frameworks
Mario Heiderich
 
The innerHTML Apocalypse
The innerHTML ApocalypseThe innerHTML Apocalypse
The innerHTML Apocalypse
Mario Heiderich
 
Scriptless Attacks - Stealing the Pie without touching the Sill
Scriptless Attacks - Stealing the Pie without touching the SillScriptless Attacks - Stealing the Pie without touching the Sill
Scriptless Attacks - Stealing the Pie without touching the Sill
Mario Heiderich
 
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...
Mario Heiderich
 
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 Files
Mario Heiderich
 
An Abusive Relationship with AngularJS
An Abusive Relationship with AngularJSAn Abusive Relationship with AngularJS
An Abusive Relationship with AngularJS
Mario 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 scream
Mario Heiderich
 
Metodologia
MetodologiaMetodologia
Metodologia
Joseperez743
 
Examen de computacion.
Examen de computacion.Examen de computacion.
Examen de computacion.
Lolit Cristin Correa
 
Referat KMU Doppelbesteuerung.Pdf
Referat KMU Doppelbesteuerung.PdfReferat KMU Doppelbesteuerung.Pdf
Referat KMU Doppelbesteuerung.Pdf
startups
 
Elps4
Elps4Elps4
Tecnologia en la industria petrolera
Tecnologia en la industria petroleraTecnologia en la industria petrolera
Tecnologia en la industria petrolera
EQUIPODEGESTIONTECNOLOGIA
 
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 Eisenmenger
Daniel Bernsen
 
Diabetes mellitus terminado 2
Diabetes mellitus terminado 2Diabetes mellitus terminado 2
Diabetes mellitus terminado 2
Dario Mancini
 
Deserción (1)
Deserción (1)Deserción (1)
Deserción (1)
Licentiare
 
Google docs
Google docsGoogle docs
Google docs
cjdiego
 

Andere mochten auch (20)

Generic Attack Detection - ph-Neutral 0x7d8
Generic Attack Detection - ph-Neutral 0x7d8Generic Attack Detection - ph-Neutral 0x7d8
Generic Attack Detection - ph-Neutral 0x7d8
 
Locking the Throneroom 2.0
Locking the Throneroom 2.0Locking the Throneroom 2.0
Locking the Throneroom 2.0
 
JSMVCOMFG - To sternly look at JavaScript MVC and Templating Frameworks
JSMVCOMFG - To sternly look at JavaScript MVC and Templating FrameworksJSMVCOMFG - To sternly look at JavaScript MVC and Templating Frameworks
JSMVCOMFG - To sternly look at JavaScript MVC and Templating Frameworks
 
The innerHTML Apocalypse
The innerHTML ApocalypseThe innerHTML Apocalypse
The innerHTML Apocalypse
 
Scriptless Attacks - Stealing the Pie without touching the Sill
Scriptless Attacks - Stealing the Pie without touching the SillScriptless Attacks - Stealing the Pie without touching the Sill
Scriptless Attacks - Stealing the Pie without touching the Sill
 
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...
 
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
 

Ähnlich wie 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 Webentwicklung
Sebastian 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 Applikationen
Manuel 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
 
Browser vs. Tracking
Browser vs. TrackingBrowser vs. Tracking
Browser vs. Tracking
📊 Markus Baersch
 
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
vesparun
 
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
 
Performance?!
Performance?!Performance?!
Performance?!
Felix Peters
 
Deep web & Darknet Präsentation
Deep web & Darknet PräsentationDeep web & Darknet Präsentation
Deep web & Darknet Präsentation
Tomturbo11
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
Mayflower 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 beheben
David Schneider
 
XMPP - Real Time Communication
XMPP - Real Time CommunicationXMPP - Real Time Communication
XMPP - Real Time Communication
Dominic 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 verbinden
Aptly 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.2
panagenda
 
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
Markus 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 Vortrag
MySEOSolution
 
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
Oliver Zeigermann
 
Steemit-Vortrag
Steemit-VortragSteemit-Vortrag
Steemit-Vortrag
Vladimir Simović
 

Ähnlich wie 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
 

Mehr von 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 Security
Mario 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 Ugly
Mario 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 Markup
Mario 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 2010
Mario 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 2009
Mario Heiderich
 
The Ultimate IDS Smackdown
The Ultimate IDS SmackdownThe Ultimate IDS Smackdown
The Ultimate IDS Smackdown
Mario 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
 

Mehr von 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