Advanced Web Hacking. Matthias Luft Security Research mluft@ernw.de



Ähnliche Dokumente
Session Management und Cookies

Sicherheit in Webanwendungen CrossSite, Session und SQL

Schwachstellenanalyse 2012

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

OWASP Top 10. im Kontext von Magento. Mittwoch, 21. November 12

Secure Coding & Live Hacking von Webapplikationen. Conect Informunity

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling

Erste Hilfe. «/IE Cache & Cookies» Logout, alte Seiten erscheinen, Erfasstes verschwindet?

OP-LOG

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Einführung in Web-Security

Sicherheit von Webapplikationen Sichere Web-Anwendungen

Web 2.0 (In) Security PHPUG Würzburg Björn Schotte

Man liest sich: POP3/IMAP

Kombinierte Attacke auf Mobile Geräte

Bedienungsanleitung für den SecureCourier

> Internet Explorer 7

AlwinPro Care Modul Schnittstelle TV-Steuerung

Datensicherheit. Vorlesung 7: Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter

Grundlegende Informationen zur Einrichtung des SSLVPN beim DSR-1000N/DSR-500N(FW 1.03B27).

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

5. Testen ob TLS 1.0 auf Ihrem System im Internet-Explorer fehlerfrei funktioniert

ACCOUNTINFO 1.01 VERWENDEN DER ACCOUNTINFO-SCHNITTSTELLE ABFARGE VON ACCOUNT-INFORMATIONEN IN ECHTZEIT 02. MÄRZ 2010

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Sage 200 BI Häufige Fehler & Lösungen. Version

f Link Datenbank installieren und einrichten

> Internet Explorer 8

Sicherer Datenaustausch zwischen der MPC-Group und anderen Firmen. Möglichkeiten zum Datenaustausch... 2

Bewusstkaufen.at XML Produkt Importschnittstelle für Händler

Step by Step Webserver unter Windows Server von Christian Bartl

Infinigate (Schweiz) AG. Secure Guest Access. - Handout -

Internet Explorer Version 6

How to install freesshd

ICS-Addin. Benutzerhandbuch. Version: 1.0

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

ESB - Elektronischer Service Bericht

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

BusinessMail X.400 Webinterface Gruppenadministrator V2.6

Grundlegende Informationen zur Einrichtung des SSLVPN beim DSR-500N/1000N (FW 1.04Bxx).

Heartbleed beats hard

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30

Betroffene Produkte: Alle Versionen von Oracle Forms (3.0-10g, C/S und Web), Oracle Clinical, Oracle Developer Suite

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

SZENARIO BEISPIEL. Implementation von Swiss SafeLab M.ID mit Citrix. Redundanz und Skalierbarkeit

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

SSH Authentifizierung über Public Key

Online-News Ausgabe 12, Juli 2000 Seite 56

Multicast Security Group Key Management Architecture (MSEC GKMArch)

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Datenempfang von crossinx

Externe Authentifizierung. Externe Authentifizierung IACBOX.COM. Version Deutsch

Diese Kurzanleitung beschreibt die nötigen Einstellungen, um mit pixafe Transfer Bilder auf einem Facebook Konto veröffentlichen zu können.

Web-Sicherheit: Kein fauler Zauber?! Kai Jendrian. <Seminartitel> <Seminartitel>

kreativgeschoss.de Webhosting Accounts verwalten

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

Dieses Dokument soll dem Administrator helfen, die ENiQ-Software als Client auf dem Zielrechner zu installieren und zu konfigurieren.

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

Datensicherheit. Vorlesung 5: Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter

1 Konfigurationsanleitung Hosted Exchange

Destructive AJAX. Stefan Proksch Christoph Kirchmayr

DOKUMENTATION PASY. Patientendaten verwalten

Seite Out-Of-Band-Authentifizierung (OOBA) 8.1 Einleitung

Schwachstellenanalyse 2013

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

E-Learning-Content. E-Learning-Content wird von vielen Hochschullehrern in unterschiedlichstem Umfeld hergestellt

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30

ARAkoll 2013 Dokumentation. Datum:

Anwenderleitfaden Citrix. Stand Februar 2008

Inhalt: Ihre persönliche Sedcard... 1 Login... 1 Passwort vergessen... 2 Profildaten bearbeiten... 3

Inhalt Einführung Was ist SAML Wozu braucht man SAML Wo wird SAML verwendet kleine Demo SAML. Security Assertion Markup Language.

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Einrichtung Secure-FTP

Installation Microsoft SQL Server 2008 Express

Die Anmeldung. Die richtigen Browser-Einstellungen. Microsoft Explorer 5.x, 6.x

Collax -Archivierung

Collaboration Manager

Wir empfehlen die Konfiguration mit den Servern secureimap.t-online.de und securepop.t-online.de.

MailUtilities: Remote Deployment - Einführung

Web Application Security

easylearn Webservice lsessionservice Interface für Single Sign On (SSO)

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Adminer: Installationsanleitung

Installationsanleitung. TFSInBox

Live Update (Auto Update)

> Mozilla Firefox 3. Browsereinstellungen optimieren. Übersicht. Stand Juli Seite. Inhalt. 1. Cache und Cookies löschen

Informatik für Ökonomen II HS 09

Schritt 1: Verwenden von Excel zum Erstellen von Verbindungen mit SQL Server-Daten

Installation Wawi SQL in Verbindung mit Microsoft SQL Server 2008 R2 Express with management Tools

Hilfestellung für den Einsatz von Facebook-Applikationen

Sicheres Single Sign-On mit dem SAML Holder-of-Key Web Browser SSO Profile und SimpleSAMLphp

Clientkonfiguration für Hosted Exchange 2010

FTP-Leitfaden RZ. Benutzerleitfaden

Transkript:

Advanced Web Hacking Matthias Luft Security Research mluft@ernw.de ERNW GmbH. Breslauer Str. 28. D-69124 Heidelberg. www.ernw.de 6/23/2010 1

ERNW GmbH Sicherheitsdienstleister im Beratungs- und Prüfungsumfeld mit Sitz in Heidelberg, aktuell 18 Mitarbeiter Unabhängig Tiefgreifende technische Kenntnisse Strukturierter Ansatz Geschäftsrelevante und vernünftige Empfehlungen Wir verstehen den Betrieb in großen Unternehmen Blog: www.insinuator.net Konferenz: www.troopers.de ERNW GmbH. Breslauer Str. 28. D-69124 Heidelberg. www.ernw.de

Agenda 1. SSL Renegotiation Attack 2. SQL Injection gegen MS 2008 3. Session Highjacking ERNW GmbH. Breslauer Str. 28. D-69124 Heidelberg. www.ernw.de 6/23/2010 3

TLS RENEGOTIATION ATTACK

TLS Renegotiation Attack Entdeckt durch Marsh Ray und Steve Dispensa von PhoneFactor - 08/2009

TLS Handshake

TLS Handshake mit Cert (ideal)

TLS Handshake mit Cert (typisch)

TLS Renegotiation Attack Phase 1

TLS Renegotiation Attack Phase 2

Impact Der Angreifer muss in einer Man-in.the-Middle Position sein Angreifer injiziert Daten im Kontext des Clients Der Angriff erfolgt blind Kein grossflächiges Mitlesen des verschlüsselten Datenverkehrs Aber es gibt praktische Beispiele

Gegenmassnahmen Patchen, wenn ein Patch verfügbar ist (aktueller Status unter http://www.phonefactor.com/sslgap/ssl-tlsauthentication-patches) Abschalten der Renegotiation, wenn möglich

SQL INJECTION

SQL Injection Einschleusen von SQL Kommandos Benutzereingaben werden nicht validiert Umfangreiche Funktionen bei MS SQL Server, z. B. Stored Procedures wie xp_cmdshell Kritische SPs sind seit SQL Server 2005 per default deaktiviert SQL Injection Probleme im Code nehmen ab, werden aber immer noch zu häufig gefunden

SQL Injection: xp_cmdshell Xp_cmdshell ermöglicht das Ausführen von Kommandos Benutzer können angelegt werden Download von Dateien (TFTP, FTP) Erzeugen von Batch Dateien, z. B. über echo Für Hacker eine wünschenswerte Funktion

xp_cmdshell aktivieren Voraussetzung: Eine SQL Injection Vulnerabiltiy ein ausreichend berechtigter Zugriff der WebApp auf den SQL Server SQL Server läuft mit Admin Berechtigungen EXEC sp_configure 'show advanced options',1 RECONFIGURE EXEC sp_configure 'xp_cmdshell',1 RECONFIGURE

xp_cmdshell aktivieren

xp_cmdshell aktivieren

xp_cmdshell aktivieren

xp_cmdshell aktivieren

xp_cmdshell aktivieren

xp_cmdshell aktivieren

xp_cmdshell aktivieren

SQL Injection realistisch Voraussetzung: Eine SQL Injection Vulnerabiltiy => realistisch ein ausreichend berechtigter Zugriff der WebApp auf den SQL Server => kommt drauf an SQL Server läuft mit Admin Berechtigungen => Nicht Default!!!! Szenario cool, aber weniger realistisch Realistisch: Abgreifen von sensiblen Daten => Blind Folded SQL Injection

SQL Injection realistisch DB Version ermitteln: ' union select null,@@version,null,null,null -- DB Name ermitteln: ' union select null,catalog_name,null,null,null from information_schema.schemata -- Tabellen ermitteln: ' union select null,table_name,null,null,null from db_name.information_schema.tables --

SQL Injection realistisch Feldnamen ermitteln: ' union select null,column_name,null,null,null from db_name.information_schema.columns where table_name = 'Customers'-- und daten abgreifen: ' union select null,first_name + ' ' + last_name + ' ' + cc_num + ' ' + cc_type,null,null,null from customers --

SQL Injection realistisch

SQL Gegenmassnahmen Secure Coding, z. B. Prepared Statements und Input Validation SQL Server nicht mit hohen Berechtigungen laufen lassen (nicht als Local System) Keine Verbindung zum SQL Server als DBA (User SA bei MS-SQL)

SESSION HIJACKING

Session Management HTTP ist ein verbindungsloses Protokoll, daraus ergibt sich folgende Fragestellung: Wie wird festgestellt, ob ein User erfolgreich authentifiziert wurde? Durch Session Management, welches meist über einen der folgenden Mechanismen durchgeführt Cookies Query Strings 30 ERNW Web

Session Management mit Cookies Cookies Sind kleine Text-Dateien (max. 32KB), die von einem Server auf dem Client abgelegt werden können Web Anwendungen können beliebige Daten in einem Cookie speichern Cookies werden unter Windows im Verzeichnis C:\Documents and Settings\UserName\Cookies im Format UserName@DomainName.txt abgelegt Wird eine Web Site im Browser geladen, schickt dieser den dazugehörigen Cookie automatisch mit Man unterscheidet zwischen permanenten und temporären Cookies 31 ERNW Web

Session Management mit Cookies Sessions und Cookies GET /default.aspx SessionID vghwkw1 zrhab8 Data HTTP/1.1 200 OK Set-Cookie: SessionId=zrhab8..; path=/ GET /default.aspx Cookie: SessionId=zrhab8.. SessionID vghwkw1 zrhab8 Data HTTP/1.1 200 OK 32 ERNW Web

Cookie Attribute Secure Attribut Gibt an, wie Browser Cookie an Web Server senden darf Gesetztes Secure Attribute erlaubt Übermittlung nur via HTTPS Nicht gesetzt erlaubt Versenden via HTTP (unverschlüsselt) Verhindern das Inhalte von Cookies unverschlüsselt versendet werden HttpOnly Attribut Gibt an, wie auf das Cookie zugegriffen werden darf Gesetztes HttpOnly Attribut verhindert den Zugriff durch Scriptsprachen Verhindert, dass Cookie Inhalte von Scripten (z.b. JavaScript) ausgelesen werden können. 33 ERNW Web

Session Hijacking Bezeichnet die Übernahme einer authentifizierten und/oder autorisierten Session Im Fokus ist der Session Cookie bzw. die Session ID Wer diese Session ID besitzt, kann die Session übernehmen Wer die Session ID erraten kann, kann eine Session übernehmen / initiieren

Session Hijacking Angriffsvektoren Sniffing inkl. ARP Spoofing und SSL Man-in-the-Middle Angriff Cookie stehlen, z. B. über Cross-Site Scripting Vorhersagbarkeit Cross-Site Request Forgery

Session Hijacking Angriffsvektoren

Session Hijacking Angriffsvektoren

Session Hijacking Angriffsvektoren

Session Hijacking

Session Hijacking Angriffsvektoren

Session Hijacking Angriffsvektoren

Session Prediction

Session Prediction

Cross-Site Request Forgery (CSRF) ein kleines Beispiel Schritt 1: Bob (Opfer) meldet sich an einer Applikation an Schritt 2: Server akzeptiert Auth., erzeugt eine neue Session und setzt ein Cookie mit der Session ID User meldet sich an Set-Cookie: SID=12345 Bob www.bank.de 44 ERNW Web 44

Cross-Site Request Forgery (CSRF) Schritt 3: Mallory (Angreifer) erstellt einen Link, der eine bestimmte Aktion auslöst http://www.bank.de/transfer.php?to=mallory&euro=1000000 Mallory 45 ERNW Web 45

Cross-Site Request Forgery (CSRF) Schritt 4a: Mallory lockt Bob auf eine Website <img src= http://www.bank.de/transfer.php?to=mallory&euro=1000000 width=1 higth=1> Schritt 4b: Mallory schick Bob eine HTML Mail <a href= http://www.bank.de/transfer.php?to=mallory&euro=1000000 >Pictures</ a> HTML Mail mit Link Mallory Bob 46 ERNW Web 46

Cross-Site Request Forgery (CSRF) Bob klickt auf den Link oder besucht die Website Get Request wird ausgeführt Bobs Browser überträgt automatisch das Cookie Aktion wird ausgeführt GET http://www.bank.de/transfer.php?to=mallory&euro=1000000 Cookie: SID=12345 Bob www.bank.de 47 ERNW Web 47

Session fixation GET http://unsafe/ Set-Cookie: abc Cool link: http://unsafe?sid=abc GET http://unsafe?sid=abc ERNW GmbH. Breslauer Str. 28. D-69124 Heidelberg. www.ernw.de 6/23/2010 48

Session fixation GET http://unsafe?sid=abc Confidential Information Please Login Username + Password ERNW GmbH. Breslauer Str. 28. D-69124 Heidelberg. www.ernw.de 6/23/2010 49

Cross Service Authentication Nahezu alle komplexen Applikationen bestehen aus verschiedenen Diensten Applikation zur Generierung von Content SOAP REST Dienste laufen häufig auf verschiedenen Systemen um Skalierbarkeit zu gewährleisten Verarbeiten einer Session auf einem System nicht möglich Asynchrone Aufrufe ERNW GmbH. Breslauer Str. 28. D-69124 Heidelberg. www.ernw.de 6/23/2010 50

Cross Service Authentication Problem: Authentifizierung des Benutzers muss erhalten bleiben Cookie kann auch an zweiten Service mitgesendet werden Dieser Service weiß allerdings nichts über den Hintergrund des Cookies Häufig internes Durchschleifen von Authentifizierungsdaten Bietet Raum für Angriffe auf schlecht geschützte Authentifizierungdaten oder fehlerhafte Crypto- Implementierungen Ggfs. Vernachlässigung der Authentifizierung bei Backenddiensten ERNW GmbH. Breslauer Str. 28. D-69124 Heidelberg. www.ernw.de 6/23/2010 51

Gegenmassnahmen Nutzung vorhandener Standard Methoden, diese sind kryptografisch bereits verifiziert Kein eigenes Session Management implementieren, da die kryptografischen Anforderungen Nicht-Kryptologen überfordern Secure und HTTPOnly Attribute setzen Secure Coding z.b. Hash aus SessionID, Aktionsname, Secret jeder URL und jedem Formular hinzufügen Dadurch kann ein Angreifer keine gültigen Request mehr erzeugen Redundante Übertragung der Session ID in Hidden Fields 52 ERNW Web

Ajax Problem Statement: Deutlich mehr Schnittstellen zum Applikationsserver über die Daten ausgetauscht werden Vermischung von client- und serverseitiger Entwicklung Erhöhte Komplexität ;-) Einfaches Einbinden von Plugins möglich Einbinden von nicht-vertrauenswürdigem Code Falsche Sicherheit über serverseitige Validierung von Eingaben ERNW GmbH. Breslauer Str. 28. D-69124 Heidelberg. www.ernw.de 6/23/2010 53

XML Injection Ajax Daten werden in XML Form übertragen Neue Möglichkeit für Injection Angriffe Direkte Injezierung von JavaScript ist nicht mehr nötig Falls beispielsweise <script> Tags gefiltert werden Es können XML Elemente injiziert werden, die dann von der Clientanwendung ausgeführt werden. ERNW GmbH. Breslauer Str. 28. D-69124 Heidelberg. www.ernw.de 6/23/2010 54

XML Injection Beispiel Username = foo< Resultierendes XML <user> <username>foo<</username> <password>geheim</password> <userid>500</userid> <mail>user@invalid.com</mail> </user> ERNW GmbH. Breslauer Str. 28. D-69124 Heidelberg. www.ernw.de 6/23/2010 55

Summary ERNW GmbH. Breslauer Str. 28. D-69124 Heidelberg. www.ernw.de 6/23/2010 56

Danke für die Aufmerksamkeit! ERNW GmbH. Breslauer Str. 28. D-69124 Heidelberg. www.ernw.de 18.06.2009 57

Fragen? ERNW GmbH. Breslauer Str. 28. D-69124 Heidelberg. www.ernw.de 18.06.2009 58