fccf3d59530331c164f9386d901f6d16.ppt
- Количество слайдов: 38
WATOBO The Web Application Toolbox Andreas Schmidt OWASP SIBERAS http: //www. siberas. de 20. 10. 2010 Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http: //www. owasp. org
Bio <Andreas Schmidt 4 Seit 1998 im Security-Bereich tätig 4 Seit 2001 spezialisiert auf Audits/Penetrationstests 4 Mitgründer von siberas (2009) § http: //www. siberas. de OWASP
Agenda <(Markt-)Überblick <Motivation <Hauptkomponenten <Highlights <Road. Map <Demo: WATOBO in action OWASP
Überblick <Kommerzielle Tools 4 Web. Inspect, App. Scan, NTOSpider, Acunetix, . . 4 Primär für automatisierte Audits <Freie Tools 4 Web. Scarab, Paros, Burp. Suite(+$), . . . 4 Primär für manuelle Penetrationstests <1001+ Script-Tools 4 Nikto, sqlmap, . . . OWASP
Motivation <Warum noch ein Tool? OWASP 5
Motivation <Kosten/Nutzen-Verhältnis von (kommerziellen) automatisierten Tools zu hoch! 4 Typische Nachteile vollautomatisierter Tools, z. B. Logik-Fehler, . . . 4 manuelle „Begehung“ der Applikation trotzdem notwendig <Daseinsberechtigung dennoch gegeben! 4 Einfache Bedienung, Reporting, zentrales Management, QA-Schnittstellen, . . . pay() if pentester. needs. Feature? (feature) OWASP
Motivation <Fehlende Transparenz bei kommerziellen Scannern 4 Check-Methoden werden meist „geheim“ gehalten 4 Zuviel „Voodoo“ OWASP
Motivation <Manuelle Tools besitzen meist kein Session. Management 4 Erneutes Einloggen notwendig 4 Mühsames kopieren der Session. ID <Anpassen von (kommerziellen) Tools meist nur schwer möglich 4 Fehlender Source-Code 4 Entwicklungsumgebung/Compiler notwendig 4 Oftmals umständlich und unflexibel, z. B. XML, OWASP
Motivation <Manuelle Tools haben oft nur begrenzte automatisierte Funktionen 4 Ausnahme: Burp. Suite Pro ($$) <Vorteile quell-offener Tools 4 Leistungsfähigkeit und Grenzen können eingeschätzt werden 4 Können schnell an neue Anforderungen angepasst werden OWASP
OWASP 10
Ansatz: Vorteile beider „Welten“ <Fokus: semi-automatisierte Penetrationstests <Session-Managment <Proxy-basiertes Tool <Web-Testing-Framework 4 typische Funktionen, wie Parser, Shaper, . . . 4 einfach zu erweitern! <Kein Angriffswerkzeug! 4 Keine Exploitmodule in Open-Source-Version OWASP 11
Zielgruppe <Primär für professionelle Pentester! 4 Idealerweise mit Ruby-Kenntnissen <Aber auch für Entwickler, Admins, . . . - Basis-Checks einfach durchzuführen - Kurze Beschreibung der Schwachstellen sowie Maßnahmenempfehlung OWASP
Komponentenüberblick Plugins Fuzzer GUI Project Active Checks Manual Request IProxy SCANNER Passive Checks OWASP 13
Komponente: GUI <GUI ist ein Muss! 4 Web-App-Analyse ohne GUI nicht möglich 4 CLI nicht für alle Bereiche sinnvoll ; ) <Für manuelle Tests optimiert 4 One-Click En-/Decoder 4 Filter Funktionen 4 Schnelle Analyse der Funktionsweise OWASP 14
Komponente: GUI OWASP 15
Komponente: I(nterceptor/)Proxy <Klassische Proxy-Funktion <Interceptor 4 Abfangen und Manipulieren von Requests/Responses <Pass-Through 4 Server-Antwort wird direkt an Browser durchgereicht 4 Einstellbar: Content-Type/Content-Length 4 Applikation lässt sich flüssig bedienen! <Pseudo-Server 4 Z. b für HTML-Preview OWASP 16
Komponente: Scanner <Multi-Threaded <Smart-Scan-Funktion 4 Reduziert Anzahl von Requests 4Ähnliche URLs werden zusammengefasst 4 Berücksichtigt „Non-Unique-Parameter“ § Z. B. action=add. User oder function=show. File <Steuert Active-Checks OWASP 17
Komponente: Scanner <Feingranulare Definition des Target-Scopes 4 Site (host: port) 4 Root-Path 4 Exclude-Patterns <Session-Management 4 Erkennt Logout 4 Kann (Re-)Login automatisiert durchführen OWASP 18
Komponente: Fuzzer <Multi-Tag <Multi-Generator <Multi-Action <Multi-Filter <. . . use the force, . . . OWASP
Komponente: Fuzzer OWASP 20
Komponente: Manual Request Editor <Automatisierter Login <Update der Session-Informationen <Request-History <Differ <Quick. Scan 4 Gezieltes Scannen einer URL OWASP 21
Komponente: Manual Request Editor OWASP 22
Komponente: Active Checks <Werden über Scanner gesteuert <Dienen zum aktiven Testen 4 SQL-Injection 4 XSS 4. . . <Gute Balance zwischen Einfachheit/Flexibilität 4 Nur mit Skript-Sprachen möglich! 4 Einige Hersteller haben eigene (Skript-)Sprachen, oder nutzen Java. Script OWASP 23
Komponente: Active Checks Aktuelle Checkliste (13): + Dirwalker + Fileextensions + Http_methods + Domino_db + Lfi_simple + Jboss_basic + Its_commands + Its_service_parameter + Its_xss + Sqli_simple + Sql_boolean + Xss_simple er ig g nd un tä kl n s ic i tw en OWASP 24
Komponente: Passive Checks <Grep-Style-Checks 4 Pattern-Matching <Identifiziert Schwachstellen 4 Z. B. Cookie-Security, unverschlüsselte Anmeldung, . . . <Extrahiert hilfreiche Informationen 4 Z. B. Hot. Spots, Email, IP‘s. . . OWASP 25
Komponente: Passive Checks Aktuelle Checkliste (14): + Cookie_options + Cookie_xss + Detect_code + Detect_fileupload + Detect_infrastructure + Dirindexing + Disclosure_emails + Disclosure_ipaddr + Filename_as_parameter + Hotspots + Multiple_server_headers + Possible_login + Redirectionz + Redirect_url er ig g nd un tä kl n s ic i tw en OWASP 26
Komponente: Plugins <Für individuelle Tests 4 Nicht Scanner-kompatibel 4 Z. B. site-spezifische Checks, wie beispielsweise SSLCipher <Framework-Funktionen und Schnittstellen 4 list. Sites, list. Dirs, . . . 4 Session. Management 4 Scanner OWASP 27
Plugin: SSL-Checker <Prüft unterstütze SSL-Ciphers 4 Mittels vollständigen HTTP-Requests OWASP 28
Umsetzung <Ruby, . . . 4 http: //www. ruby-lang. org <FXRuby für GUI 4 Ruby-Port von Fox-Toolkit http: //www. fxruby. org <Plattformunabhängig 4(FX)Ruby für Windows, Linux, Mac. OS, . . . <Entwicklungsplattform Windows 4 Wird auch unter Linux (Backtrack) getestet OWASP
WATOBO Highlights <Session Management <Ruby-In-Ruby <HTML-Preview OWASP
Highlight: Session Management <Pattern-basiert 4 Regular Expressions 4 Hash[$1]=$2 <Header und Body wird analysiert 4 Nur text/*-Content-Types => Geschwindigkeit <Session-IDs in Cookie und URLs <Ca. 15 vordefinierte Patterns <Regex-Validator OWASP 31
Highlight: Session Management Beispiel: (PHPSESSID)=([0 -9 a-z. A-Z]*)(; |&)? OWASP 32
Highlight: Ruby-in-Ruby <Mittels spezieller Tags (‚%%‘) lässt sich direkt Ruby-Code integrieren <Nützlich für die Erzeugung von 4 vielen Zeichen, Headern, . . . 4 Binaerzeichen, Konvertierung, Berechnungen, . . . 4 Daten aus verschiedenen Quellen, z. B. Dateien <Fuzzer nutzt Ruby (procs) für „Actions“ OWASP
Highlight: Ruby-in-Ruby <Manual Request Editor: Including Binary-Files OWASP
Highlight: HTML-Preview <HTML-Preview sehr hilfreich 4 Doku-Screenshots, schnelle visuelle Analyse <FXRuby besitzt kein HTML(Web. Kit)-Widget <. . . , aber Browser gibt‘s auf jedem System 4 IE, Firefox <Browser-Steuerung mittels JSSH (Firefox) und Win 32 OLE (IE) 4 http: //www. croczilla. com/bits_and_pieces/jssh/ OWASP 35
Road-Map <CSRF-Token Handling! <Recheck-Funktion 4 KB-Diffing <Neue Module, Plugins, Parser, En-/Decoder 4 SOAP/XML <Source-Code-Unterstützung 4 zum Abgleich der Angriffsfläche OWASP
Road-Map <Dokumentation 4 Videos, rdoc 4 http: //watobo. sourceforge. net <Installer <Schulungen/Trainings/Workshops! OWASP
WATOBO - Demo <http: //watobo. sourceforge. net OWASP 38
fccf3d59530331c164f9386d901f6d16.ppt