Web 2.0-Hacking ” Live Vorführung Philipp Rocholl, Secaron AG Proseminar "Network Hacking und Abwehr", 27.01.2011 Übersicht • Vorstellung • Motivation • Penetrationstests • Schwachstellenklassen im Webumfeld • Live Demo • SQL Injection “ Cross Site Scripting (XSS) “ Cross Site Request Forgery (XSRF) • Beispiele aus der Praxis • Tipps Page 2 Meine Ausbildung “ Studium “ Informationstechnik an der Berufsakademie Stuttgart “ Informatik an der Universität Tübingen “ Vertiefungen / Interessen “ Kryptologie “ Netzwerksicherheit “ Datenbanken • Secaron AG • • • Penetrationstest Security Audits Risikoanalysen Page 3 Allgemeines zu Penetrationstests Im technischen Sprachgebrauch versteht man unter einem Penetrationstest den kontrollierten Versuch, ... in ein bestimmtes Computersystem bzw. -netzwerk einzudringen, um Schwachstellen zu identifizieren. Dazu werden die gleichen bzw. ähnliche Techniken eingesetzt, die auch bei einem realen Angriff verwendet werden. Quelle: Bundesamt für Sicherheit in der Informationstechnik (BSI), Studie zur Durchführung von Penetrationstests Page 4 Allgemeines zu Penetrationstests “ Kernziel: Schwachstellen aufspüren und ggf. ausnutzen Technisch: Organisatorisch: Netz-, System- und Applikationsebene in Prozessen “ Fakten zur realen Schwachstellensituation “ Bewertung der Sicherheitsrelevanz “ Maßnahmenvorschläge, ggf. Umsetzungsplan Page 5 Gesetzlicher Rahmen § 202a StGB - Ausspähen von Daten • • (1) Wer unbefugt Daten, die nicht für ihn bestimmt und die gegen unberechtigten Zugang besonders gesichert sind, sich oder einem anderen verschafft, wird mit Freiheitsstrafe bis zu drei Jahren oder mit Geldstrafe bestraft. (…) § 269 StGB - Fälschung beweiserheblicher Daten • (1) Wer zur Täuschung im Rechtsverkehr beweiserhebliche Daten so speichert oder verändert, dass bei ihrer Wahrnehmung eine unechte oder verfälschte Urkunde vorliegen würde, oder derart gespeicherte oder veränderte Daten gebraucht, wird mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe bestraft. • (2) Der Versuch ist strafbar. Einwilligungserklärung des • (…) Auftraggebers / Providers für Tests ist notwendig ! Page 6 Motivation Benutzen Sie Webmail? Kaufen Sie Artikel online? Benutzen Sie Community Portale? Dann mag Sie dieser Vortrag interessieren ! Page 7 Motivation Quellen: - http://www.gnucitizen.org/blog/google-gmail-e-mail-hijack-technique/ - http://blog.games.com/2011/01/26/farmville-possibly-hacked/ - http://www.ftd.de/unternehmen/finanzdienstleister/:datenpanne-bei-kreditkarten-visa-tappt-im-dunkeln/50040371.html Page 8 Motivation - viele Angriffe auf sensitive Daten (Vertraulichkeit) - aber viele Angriffe wirken sich auch auf die Verfügbarkeit aus 1. unabsichtlich Quelle: - http://www.heise.de/security/meldung/US-Aufsichtsbehoerde-fuer-Kernkraftwerke-warnt-vor-SQL-Slammer-Wurm-84765.html Page 9 Motivation - viele Angriffe auf sensitive Daten (Vertraulichkeit) - aber viele Angriffe wirken sich auch auf die Verfügbarkeit aus 1. unabsichtlich 2. gezielt gegen Firmen Quelle: - http://www.heise.de/security/meldung/DDOS-Angreifer-vor-US-Gericht-209538.html Page 10 Motivation - viele Angriffe auf sensitive Daten (Vertraulichkeit) - aber viele Angriffe wirken sich auch auf die Verfügbarkeit aus 1. unabsichtlich 2. gezielt gegen Firmen 3. breitflächig gegen Benutzer Quelle: - http://www.heise.de/security/meldung/Kaspersky-bittet-um-Mithilfe-zum-Knacken-eines-RSA-Schluessels-213052.html Page 11 Schwachstellenklassen im Webumfeld OWASP Top 10 A1 - Injection Flaws A6 ” Security Misconfiguration A2 - Cross Site Scripting (XSS) A7 - Insecure Cryptographic Storage A3 - Broken Authentication and Session Management A8 - Failure to Restrict URL Access A4 - Insecure Direct Object Reference A9 - Insufficiant Transport Layer Protection A5 - Cross Site Request Forgery (CSRF) A10 ” Unvalidated Redirects Quelle: •http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project Page 12 Reminder Hacking ist illegal. Versuchen Sie dies nicht daheim! Alle Angriffe in diesem Vortrag finden auf Testsystemen statt. Page 13 SQL Injection Angriff auf Datenbanken Page 14 SQL Injection Example: Login Benutzer authentifiziert sich mit seinem Namen und Passwort Applikation überprüft das Tupel z.B. für den Benutzer Admin: ... where username = ‚admin‘ and password = ‚start‘ Page 15 SQL Injection Example: Login Angriff: Überprüfen ob die SQL Anfrage beeinflusst werden kann!!! Modifizieren der Anfrage durch spezielles Passwort: idontcare’ or ‘1’=‘1 ... where username = ‘bob’ and password = ‘idontcare’ OR ‘1’ = ‘1’ Page 16 SQL Injection Example 2: Sensitive Daten Applikation besitzt eine Suchfunktion Angriff: Überprüfen ob die SQL Anfrage beeinflusst werden kann!!! Modifizieren der Anfrage durch eine spezielle Suchanfrage: idontcare' union select 1,username, password from users where '1'='1%’ Page 17 SQL Injection (Beispiele aus der Praxis) Oklahoma Leaks Tens of Thousands of Social Security Numbers, Other Sensitive Data Page 18 Konsequenzen Persönliche Daten kann ‚gestohlen‛ werden von: “ web shops, mail services, community sites, ... Auf welchen Seiten haben Sie persönliche Daten eingegeben? Was könnte passieren, wenn jemand diese Daten bekommt? “ Kreditkartendaten Bestellen auf Kreditkarte des Opfers “ Bankdaten Abheben/Bestellen vom Bankaccount “ Login/Password, ... Emails in Ihrem Namen schreiben Page 19 SQL Injection (Empfehlungen für Benutzer) Problem: Benutzer kann die Sicherheit einer Seite nicht einschätzen Minimalprinzip: Eingeben von Daten nur wenn unbedingt nötig Vorbereitet sein, wenn eine Seite seine Daten verliert “ Vermeiden von gleichen Passwörtern für unterschiedliche Seiten “ Tip: Benutzen Sie einen Passwortsafe Page 20 Cross Site Scripting (XSS) 1. www.mysite.com Webseite Benachrichtigung Page 21 XSS (Beispiele aus der Praxis) Ausnutzen einer XSS Schwachstelle von einer italienischer Bank Page 22 XSS (Beispiele aus der Praxis) Verunstalten von Webseiten Page 23 XSS (Beispiele aus der Praxis) Page 24 XSS (Beispiele aus der Praxis) Der Myspace Wurm (Samy) 1. 2. Versteckter Skriptcode im Profile veranlasst das Senden einer Freundschaftsanfrage Fügt im Feld Vorbilder „Samy is my hero‚ und den Wurm selber in das Profil des Opfers Ergebnis: Page 25 XSS (Beispiele aus der Praxis) Page 26 Konsequenzen Was kann durch XSS Angriffe passieren? “ Stehlen von Cookies und authentisierten Benutzersitzungen Identitätsdiebstahl “ Installation eines Keyloggers Passwort Diebstahl “ Browser Exploits können Schadcode auf dem PC installieren (z.B. Internet Explorer Aurora Exploit ) “ XSRF ( das werden Sie gleich sehen...) Page 27 Cross Site Request Forgery (XSRF) www.mysite.com Content mysite (Gästebuch) www.mywebshop.com Content evilsite (Webshop) Page 28 XSRF (Real life example) Gmail (Google Email) Hijack Schwachstelle 1. Ein Benutzer loggt sich in seinen Email Account ein 2. Der Benutzer surft auf eine Webseite mit böswilligem Skriptcode 3. Die Webseite sendet via Javascript eine Anfrage an Gmail und installiert einen Filter 4. Der Filter leitet alle Emails z.B. die das Wort ‚password‘ beinhalten zu dem Angreifer. Page 29 XSRF (Beispiel aus der Praxis) Page 30 XSRF (Beispiel aus der Praxis) Grafik Designer verlor seine Domain und wurde erpresst. Page 31 XSS (Tipps für Benutzer) Die meisten Browser unterstützen Skriptsprachen Lösung: Deaktivieren der Ausführung von Skripten Problem: Viele Webseiten werden nicht mehr korrekt dargestellt Für Firefox: NoScript Erweiterung Für IE, Safari, Chrome Benutzung eines hohen Security Levels Lesen Sie die Warnmeldungen im Browser und fragen Sie sich wieso diese Meldungen erscheinen! Page 32 Zusammenfassung Sicherheit einer Webseite kann kaum eingeschätzt werden! Minimalprinzip Verwendung von Browser Security Einstellungen Lesen von Warn- und Fehlermeldungen Benutzung von unterschiedlichen Passwörtern Seien Sie aufmerksam!!! Page 33 Kontakt Secaron AG Ludwigstr. 45 D-85399 Hallbergmoos Tel. +49 811- 9594 - 0 Fax +49 811- 9594 - 220 www.secaron.de Kontact: Philipp Rocholl; E-Mail: [email protected] Page 34 Glossary Page 35 Bibliography CREDIT CARD THEFT IS THRIVING ONLINE AS GLOBAL MARKET http://query.nytimes.com/gst/fullpage.html?res=9F06EED61739F930A25756C0A9649C8B63 MTV employees' private data stolen http://www.upi.com/Entertainment_News/2008/03/08/MTV_employees_private_data_stolen/UP I-15341205026156/ Italian Bank's XSS Opportunity Seized by Fraudsters http://news.netcraft.com/archives/2008/01/08/italian_banks_xss_opportunity_seized_by_frauds ters.html Oklahoma leaks tens of thousands of Social Security Numbers http://thedailywtf.com/Articles/Oklahoma-Leaks-Tens-of-Thousands-of-Social-SecurityNumbers,-Other-Sensitive-Data.aspx The myspace worm http://namb.la/popular/ Gmail E-mail Hijack Technique http://www.gnucitizen.org/blog/google-gmail-e-mail-hijack-technique/ http://www.davidairey.com/google-gmail-security-hijack/ Kaspersky web site reportedly leaky http://www.heise-online.co.uk/news/Kaspersky-web-site-reportedly-leaky--/112592 Page 36