WATOBO - The Web Application Toolbox · 2020. 1. 17. · Komponente: GUI GUI ist ein Muss!...

38
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 OWASP http://www.owasp.org WATOBO The Web Application Toolbox Andreas Schmidt SIBERAS http://www.siberas.de 20.10.2010

Transcript of WATOBO - The Web Application Toolbox · 2020. 1. 17. · Komponente: GUI GUI ist ein Muss!...

  • Copyright © The OWASP FoundationPermission is granted to copy, distribute and/or modify this document under the terms of the OWASP License.

    The OWASP Foundation

    OWASP

    http://www.owasp.org

    WATOBOThe Web Application Toolbox

    Andreas Schmidt

    SIBERAShttp://www.siberas.de

    20.10.2010

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Bio

    Andreas SchmidtSeit 1998 im Security-Bereich tätigSeit 2001 spezialisiert auf Audits/PenetrationstestsMitgründer von siberas (2009)

    http://www.siberas.de

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Agenda

    (Markt-)ÜberblickMotivationHauptkomponentenHighlightsRoadMapDemo: WATOBO in action

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Überblick

    Kommerzielle ToolsWebInspect, AppScan, NTOSpider, Acunetix, ....Primär für automatisierte Audits

    Freie ToolsWebScarab, Paros, BurpSuite(+$), ...Primär für manuelle Penetrationstests

    1001+ Script-ToolsNikto, sqlmap, ...

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Motivation

    Warum noch ein Tool?

    5

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Motivation

    Kosten/Nutzen-Verhältnis von (kommerziellen) automatisierten Tools zu hoch!Typische Nachteile vollautomatisierter Tools, z.B.

    Logik-Fehler, ...manuelle „Begehung“ der Applikation trotzdem

    notwendig

    Daseinsberechtigung dennoch gegeben!Einfache Bedienung, Reporting, zentrales

    Management, QA-Schnittstellen, ...

    pay() if pentester.needsFeature?(feature)

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Motivation

    Fehlende Transparenz bei kommerziellen ScannernCheck-Methoden werden meist „geheim“ gehaltenZuviel „Voodoo“

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Motivation

    Manuelle Tools besitzen meist kein Session-ManagementErneutes Einloggen notwendigMühsames kopieren der SessionID

    Anpassen von (kommerziellen) Tools meist nur schwer möglichFehlender Source-CodeEntwicklungsumgebung/Compiler notwendigOftmals umständlich und unflexibel, z.B. XML,

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Motivation

    Manuelle Tools haben oft nur begrenzte automatisierte FunktionenAusnahme: BurpSuite Pro ($$)

    Vorteile quell-offener ToolsLeistungsfähigkeit und Grenzen können eingeschätzt werdenKönnen schnell an neue Anforderungen angepasst werdenSkript-Sprachen

  • OWASP

    OWASP AppSec Germany 2010 Conference

    10

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Ansatz: Vorteile beider „Welten“

    Fokus: semi-automatisierte PenetrationstestsSession-ManagmentProxy-Basiertes ToolWeb-Testing-Framework

    typische Funktionen, wie Parser, Shaper, ...einfach zu erweitern!

    Kein Angriffswerkzeug!Keine Exploitmodule in Open-Source-Version

    11

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Zielgruppe

    Primär für professionelle Pentester!Idealerweise mit Ruby-Kenntnissen

    Aber auch für Entwickler, Admins,... - Basis-Checks einfach durchzuführen- Kurze Beschreibung der Schwachstellen sowie

    Maßnahmenempfehlung

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Komponentenüberblick

    13

    Project

    GUI

    SCANNER

    Manual Request

    Passive Checks

    Active Checks

    Plugins

    IProxy

    Fuzzer

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Komponente: GUI

    GUI ist ein Muss!Web-App-Analyse ohne GUI nicht möglichCLI nicht für alle Bereiche sinnvoll ;)

    Für manuelle Tests optimiertOne-Click En-/DecoderFilter FunktionenSchnelle Analyse der Funktionsweise

    14

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Komponente: GUI

    15

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Komponente: I(nterceptor/)Proxy

    Klassische Proxy-FunktionInterceptor

    Abfangen und Manipulieren von Requests/Responses

    Pass-ThroughServer-Antwort wird direkt an Browser durchgereichtEinstellbar: Content-Type/Content-LengthApplikation lässt sich flüssig bedienen!

    Pseudo-ServerZ.b für HTML-Preview

    16

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Komponente: Scanner

    Multi-Threaded

    Smart-Scan-FunktionReduziert Anzahl von RequestsÄhnliche URLs werden zusammengefasstBerücksichtigt „Non-Unique-Parameter“

    Z.B. action=addUser oder function=showFile

    Steuert Active-Checks

    17

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Komponente: Scanner

    Feingranulare Definition des Target-ScopesSite (host:port)Root-PathExclude-Patterns

    Session-ManagementErkennt LogoutKann (Re-)Login automatisiert durchführen

    18

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Komponente: Fuzzer

    Multi-TagMulti-GeneratorMulti-ActionMulti-Filter ...

    USE THE FORCE, ...

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Komponente: Fuzzer

    20

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Komponente: Manual Request Editor

    Automatisierter LoginUpdate der Session-InformationenRequest-HistoryDifferQuickScan

    Gezieltes Scannen einer URL

    21

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Komponente: Manual Request Editor

    22

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Komponente: Active Checks

    Werden über Scanner gesteuertDienen zum aktiven Testen

    SQL-InjectionXSS...

    Gute Balance zwischen Einfachheit/FlexibilitätNur mit Skript-Sprachen möglich!Einige Hersteller haben eigene (Skript-)Sprachen,

    oder nutzen JavaScript

    23

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Komponente: Active Checks

    Aktuelle Checkliste (13):+ Dirwalker

    + Fileextensions

    + Http_methods

    + Domino_db

    + Lfi_simple

    + Jboss_basic

    + Its_commands

    + Its_services

    + Its_service_parameter

    + Its_xss

    + Sqli_simple

    + Sql_boolean

    + Xss_simple

    24

    IN STÄN

    DIGER

    ENTWIC

    KLUNG

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Komponente: Passive Checks

    Grep-Style-ChecksPattern-Matching

    Identifiziert SchwachstellenZ.B. Cookie-Security, unverschlüsselte Anmeldung, ...

    Extrahiert hilfreiche InformationenZ.B. HotSpots, Email, IP‘s...

    25

  • OWASP

    OWASP AppSec Germany 2010 Conference

    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

    26

    IN STÄN

    DIGER

    ENTWIC

    KLUNG

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Komponente: Plugins

    Für individuelle TestsNicht Scanner-kompatibelZ.B. site-spezifische Checks, wie beispielsweise SSL-

    Cipher

    Framework-Funktionen und SchnittstellenlistSites, listDirs, ...SessionManagementScanner

    27

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Plugin: SSL-Checker

    Prüft unterstütze SSL-CiphersMittels vollständigen HTTP-Requests

    28

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Umsetzung

    Ruby, Ruby, Ruby, ...http://www.ruby-lang.org

    FXRuby für GUIRuby-Port von Fox-Toolkit

    http://www.fxruby.org

    Plattformunabhängig(FX)Ruby für Windows, Linux, MacOS, ...

    Entwicklungsplattform WindowsWird auch unter Linux (Backtrack) getestet

  • OWASP

    OWASP AppSec Germany 2010 Conference

    WATOBO Highlights

    Session Management

    Ruby-In-Ruby

    HTML-Preview

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Highlight: Session Management

    Pattern-basiertRegular Expressions Hash[$1]=$2

    Header und Body wird analysiertNur text/*-Content-Types => Geschwindigkeit

    Session-IDs in Cookie und URLsCa. 15 vordefinierte PatternsRegex-Validator

    31

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Highlight: Session Management

    Beispiel: (PHPSESSID)=([0-9a-zA-Z]*)(;|&)?

    32

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Highlight: Ruby-in-Ruby

    Mittels spezieller Tags (‚%%‘) lässt sich direkt Ruby-Code integrieren

    Nützlich für die Erzeugung vonvielen Zeichen, Headern, ...Binaerzeichen, Konvertierung, Berechnungen, ...Daten aus verschiedenen Quellen, z.B. Dateien

    Fuzzer nutzt Ruby (procs) für „Actions“

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Highlight: Ruby-in-Ruby

    Manual Request Editor: Including Binary-Files

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Highlight: HTML-Preview

    HTML-Preview sehr hilfreichDoku-Screenshots, schnelle visuelle Analyse

    FXRuby besitzt kein HTML(WebKit)-Widget ..., aber Browser gibt‘s auf jedem System

    IE, Firefox

    Browser-Steuerung mittels JSSH (Firefox) und Win32OLE (IE)http://www.croczilla.com/bits_and_pieces/jssh/

    35

    http://www.croczilla.com/bits_and_pieces/jssh/

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Road-Map

    CSRF-Token Handling!Recheck-Funktion

    KB-Diffing

    Neue Module, Plugins, Parser, En-/DecoderSOAP/XML

    Source-Code-Unterstützungzum Abgleich der Angriffsfläche

  • OWASP

    OWASP AppSec Germany 2010 Conference

    Road-Map

    DokumentationVideos, rdoc

    InstallerSchulungen/Trainings/Workshops!

  • OWASP

    OWASP AppSec Germany 2010 Conference

    WATOBO - Demo

    38