Neues eBook: "Websecurity - Angriffe mit SSRF, CSRF und XML"
Bei entwickler.press ist ein neues eBook von mir erschienen: "Websecurity - Angriffe mit SSRF, CSRF und XML" (ISBN: 978-3-86802-569-9, Preis: 2,99 €, erhältlich in den üblichen eBook-Shops).
Der Shortcut beschäftigt sich mit drei oft unterschätzten Angriffen bzw. Schwachstellen.
Da wäre zunächst die Server-Side Request Forgery (SSRF). Haben Sie davon schon mal gehört? Nicht? Da haben Sie aber Glück, dass es den meisten Cyberkriminellen genauso geht, denn diese Schwachstellen haben das Potential, großen Schaden anzurichten.
Über SSRF können zum Beispiel alle Webanwendungen angegriffen werden, die einem Content Delivery Network wie zum Beispiel dem von Akamai vertrauen. Sofern das CDN eine Schwachstelle enthält, wie es bei Akamai der Fall war. Diese Schwachstelle wurde zwar behoben, aber wer weiß schon, wo noch überall welche darauf warten, entdeckt zu werden? Außerdem lassen sich die Angriffe über CDN unter Umständen auch auf anderen Dienste übertragen, denen die Webanwendungen in immer größeren Maßstab vertrauen.
Darüber hinaus lassen sich über SSRF auch eigentlich nicht aus dem Internet zugängliche Systeme angreifen. Der Angreifer muss nur einen Server, der eine Verbindung zum ihn nicht zugänglichen Server aufbauen kann, dazu bringen, seine Requests für ihn abzuschicken. Was über SSRF und meist in Verbindung mit XML-Schwachstellen mehr oder weniger problemlos möglich ist.
Mal abgesehen von den Angriffen über CDN betreffen die SSRF-Schwachstellen die Webanwendungen nur sekundär: Die Cyberkriminellen nutzen diese Schwachstellen in den Webanwendungen nur, um darüber ihre Angriffe an Server schicken zu lassen, die sie selbst nicht erreichen können. Aber diese Server vertrauen den Webanwendungen, und wenn dieses Vertrauen durch einen Angriff missbraucht wird, ist das zumindest peinlich. Zumal sich der Angegriffene zunächst an den wenden wird, von dem der Angriff in seinen Augen ausging: Der Webanwendung und damit deren Betreibern und Entwicklern. Es gibt also mehr als genug Gründe, darauf zu achten, dass die eigene Webanwendung keine SSRF-Schwachstellen enthält.
Dann haben wir da die Cross-Side Request Forgery (CSRF). Die wurde erstmals 1988 beschrieben, damals noch unter dem Namen "Confused Deputy". 2001 wurde der Name Cross-Site Request Forgery für diese Art von Angriffen geprägt, und eigentlich sollte es entsprechende Schwachstellen ja wohl längst nicht mehr geben. Immerhin schreiben wir das Jahr 2015, und nach 14 Jahre sollte eigentlich jeder Webentwickler wissen, was CSRF ist und wie er seine Anwendung vor diesen Angriffen schützt.
Leider ist das aber ganz und gar nicht so, auch 2014 und 2015 wurden noch CSRF-Schwachstellen in Webanwendungen gefunden und neue Varianten der Angriffe auf den Sicherheitskonferenzen vorgeführt.
Wie wäre es mit einem Vorsatz für 2016: Prüfen Sie, ob Ihre Webanwendungen angreifbar sind, und wenn ja, beseitigen Sie die Schwachstellen.
Und zu guter Letzt geht es um XML, seine Schwachstellen und Angriffe darüber. Wie gefährlich XML sein kann werden Sie schon im ersten Kapitel sehen, denn SSRF-Angriffe nutzen oft XML, um Befehle einzuschleusen. Was allein schon Grund genug wäre, sich um die Sicherheit von XML zu kümmern.
Aber es gibt noch viel mehr Möglichkeiten, mit Hilfe vom XML Schaden anzurichten. Allein auf der Black Hat USA 2015 gab es drei(!) Vorträge rund um XML.
Wenn Sie sich bisher keine Gedanken darüber gemacht haben, ob die vom Benutzer gelieferten XML-Daten vielleicht gefährlich sind, werden Sie nach dem Lesen dieses Kapitels die entsprechenden Funktionen Ihrer Webanwendung mit anderen Augen sehen. Denn da, wo Sie nur ein komfortables Dateiformat für den Austausch für Informationen sehen, sehen die Cyberkriminellen ein Einfallstor für mögliche Angriffe.
Und hier noch die Links und Literaturverweise aus dem eBook:
Kapitel 1: SSRF – was ist das, was kann das, und ist das etwa gefährlich?
- [1] Carsten Eilers: "About Security #127: Cross-Site Request Forgery: Einführung" (auf archive.org)
- [2] Norm Hardy: "The Confused Deputy"
- [3] Common Weakness Enumeration: CWE-918: Server-Side Request Forgery (SSRF)
- [4] Danijel; MaXoNe WebApp Security Blog: "Bug bounty : marketplace.mozilla.org server side request forgery vulnerability."
- [5] HackerOne Bug #4461 Server Side Request Forgery
- [6] Alexander Bolshev, Gleb Cherbov; Black Hat USA 2014: "ICSCorsair: How I Will PWN Your ERP Through 4-20 mA Current Loop"
- [7] Deral Heiland; ShmooCon 2008: "Web Portals: Gateway To Information, Or A Hole In Our Perimeter Defenses" (Präsentation als PPT)
- [8] Alexander Polyakov, Dmitry Chastuhin; Black Hat USA 2012: "SSRF vs. Business Critical Applications"
- [9] Jeremiah Grossman, WhiteHat Security Blog: "Top Ten Web Hacking Techniques of 2012"
- [10] Vladimir Vorontsov, Alexander Golovko; Hack in the Box Amsterdam 2013: "SSRF PWNs: New Techniques and Stories"
- [11] Vladimir Vorontsov, Alexander Golovko; ZeroNights Conference 2012: "SSRF attacks and sockets: smorgasbord of vulnerabilities"
- [12] Vladimir Vorontsov, Alexander Golovko; ZeroNights Conference 2012: "SSRF attacks and sockets: smorgasbord of vulnerabilities" (Präsentation als PDF)
- [13] OnSec: "SSRF bible. Cheatsheet"
- [14] Mike Brooks, Matthew Bryant; Black Hat USA 2015: "Bypass Surgery Abusing Content Delivery Networks with Server-Side-Request Forgery (SSRF), Flash, and DNS" (Präsentation als PDF)
- [15] Matthew Bryant; The Hacker Blog: "[Blackhat Talk] Bypass Surgery Abusing Content Delivery Networks With Server-Side Request Forgery (SSRF), Flash, and DNS"
- [16] Akamai; The Akamai Blog: "Details on the Cross-Site Request Forgery Vulnerability Disclosed at Black Hat"
- [17] Exploit-DB: "Plex Media Server 0.9.9.2.374-aa23a69 - Multiple Vulnerabilities"
- [18] SEC Consult Unternehmensberatung GmbH: Video "Authentication bypass (SSRF) in Plex Media Server" auf YouTube
Kapitel 2: Cross-Site Request Forgery – Der "Confused Deputy 2015"
- [1] Norm Hardy: "The Confused Deputy"
- [2] Peter Watkins; Mailingliste Bugtrag: "Cross-Site Request Forgeries (Re: The Dangers of Allowing Users to Post Images)"
- [3] CSRF Files - Packet Storm
- [4] Dylan Saccomanni; Breaking Bits: "GoDaddy CSRF Vulnerability Allows Domain Takeover"
- [5] Carsten Eilers: "Cross-Site Scripting im Überblick, Teil 3: Der MySpace-Wurm Samy"
- [6] Ahamed Nafeez; Black Hat Asia 2014: "JS Suicide: Using JavaScript Security Features to Kill JS Security"
- [7] OWASP CSRFGuard Project
- [8] OWASP CSRFGuard 3.1.0 auf GitHub: Last News
- [9] Rich Lundeen; Black Hat Europe 2013: "The Deputies Are Still Confused"
- [10] Rich Lundeen; WebstersProdigy: "The Deputies are Still Confused (Full talk and content from Blackhat EU)"
- [11] Carsten Eilers: "Websecurity: Cookie Tossing"
- [12] Mario Heiderich, Marcus Niemietz, Felix Schuster, Thorsten Holz, Jörg Schwenk; 19th ACM Conference on Computer and Communications Security (CCS), Raleigh, NC, October 2012: "Scriptless Attacks: Stealing the pie without touching the sill"
- [13] Mike Shema, Sergey Shekyan, Vaagn Toukharian; Black Hat USA 2013: "Dissecting CSRF Attacks & Countermeasures"
- [14] Mike Shema; Deadliest Web Attacks: "BlackHat US 2013: Dissecting CSRF..."
- [15] Carsten Eilers: "Kommentare zu Java, SQL Slammer und GitHub-Geheimnissen"
- [16] Carsten Eilers: "Schutzmaßnahmen: Content Security Policy gegen XSS, Teil 1" ff.
- [17] Mike Shema; Deadliest Web Attacks: "...And They Have a Plan"
- [18] Mike Shema: mutantzombie/SessionOriginSecurity auf GitHub
- [19] Mike Shema; Webappsec-Mailinglist des W3C: "Proposed CSRF countermeasure"
- [20] Shreeraj Shah; Black Hat USA 2012: "HTML5 Top 10 Threats – Stealth Attacks and Silent Exploits"
- [21] David Mortman; Black Hat USA 2012: "The Defense RESTs: Automation and APIs for Improving Security"
- [22] Ajit Hatti; Black Hat Europe 2013: "Lets Play - Applanting"
- [23] Deral Heiland; Black Hat Europe 2013: "Practical Exploitation Using A Malicious Service Set Identifier (SSID)"
- [24] Jeremiah Grossman, Matt Johansen; Black Hat USA 2013: "Million Browser Botnet"
- [25] Angelo Prado, Neal Harris, Yoel Gluck; Black Hat USA 2013: "SSL, gone in 30 seconds - a BREACH beyond CRIME"
- [26] Carsten Eilers: "SSL/TLS - Stand der Dinge"
Kapitel 3: XML-Sicherheit – XXE und XSLT
- [1] PHP Manual: libxml_disable_entity_loader
- [2] Subu Ramanathan; Security Compass: "XSLT Command Execution Exploit"
- [3] Bogdan Calin; Acunetix Blog: "The hidden dangers of XSLTProcessor – Remote XSL injection"
- [4] W3C: "XSL Transformations (XSLT) Version 2.0" - "19.1 Creating Final Result Trees"
- [5] WS-Attacks.org: "XML Signature – Transformation DOS"
- [6] Fernando Arnaboldi; Black Hat USA 2015: "Abusing XSLT for Practical Attacks"
- [7] Willis Vandevanter; Black Hat USA 2015: "Exploiting XXE Vulnerabilities in File Parsing Functionality" (Website dazu)
- [8] W3C: "Extensible Markup Language (XML) 1.0 (Fifth Edition)" - "4.2.2 External Entities"
- [9] etienne; SensePost: "Revisting XXE and abusing protocols"
- [10] CVE-2014-3529
- [11] CVE-2014-3574
- [12] CVE-2012-6685
- [13] sparklemotion/nokogiri auf GitHub: "nokogiri vulnerable to XXE attack when used under c ruby · Issue #693"
- [14] CVE-2014-3660
- [15] Michael Mimoso; ThreatPost: "XXE Bug Patched in Facebook Careers Third-Party Service"
- [16] BuffaloWill auf GitHub: oxml_xxe
- [17] Xiaoran Wang, Sergey Gorbaty; Black Hat USA 2015: "FileCry - The New Age of XXE"
- [18] Bojan Zdrnja; InfoSec Handlers Diary Blog: "Is XXE the new SQLi?"
- [19] Bojan Zdrnja; InfoSec Handlers Diary Blog: "Blindly confirming XXE"
- [20] Vladislav Mladenov, Christian Mainka; On Web-Security and -Insecurity Blog: "Detecting and exploiting XXE in SAML Interfaces"
- [21] Reginaldo Silva: "XXE in OpenID: one bug to rule them all, or how I found a Remote Code Execution flaw affecting Facebook's servers"
- [22] Facebook Bug Bounty; Facebook: "We recently awarded our biggest bug..."
- [23] Carsten Eilers: "Websecurity - XSS-Angriffe über XML"
Trackbacks