Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben...

52
Carsten Eilers | www.ceilers-it.de Pentesters Toolbox

Transcript of Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben...

Page 1: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Carsten Eilers | www.ceilers-it.de

Pentesters Toolbox

Page 2: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Vorstellung

• Berater für IT-Sicherheit• Autor

– PHP Magazin, Entwickler Magazin– Buch „Ajax Security“– www.ceilers-news.de– und anderes ...

• Schwachstellen-Datenbank

Page 3: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Agenda

• Pentest - Was ist das, wie geht das?• Tools zum Erkunden• Tools zum Testen• Tools zum automatischen Test• Firefox-Erweiterungen• Bekannte finden

Page 4: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Pentest - Was ist das, wie geht das? (1)

• Suche nach Schwachstellen(Hier: In Webanwendungen)

• Manuell

• Schwachstellenscanner

Page 5: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Pentest - Was ist das, wie geht das? (2)

• Vorgehensweise:1. Erkunden

„Was haben wir denn da?“2. Testen

„Geht da vielleicht dieses oder jenes?“ „Was passiert, wenn...?“

3. Überprüfen „Lässt sich das Gefundene ausnutzen?“

Page 6: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Erkunden - Zuerst manuell

• Webbrowser nach Wahl• Einmal durch die Anwendung surfen• HTML-Seiten sichern• nachgeladene Dateien sichern

Später oder parallel für jede Seite alle vorhandenen Parameter notieren

Page 7: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Erkunden ist einfach, oder?

Demo

Page 8: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Erkunden kann mühsam sein

Was bei kleinen Websites problemlos von Hand geht, ist bei großen mühsam...

... aber wir haben ja einen Computer zur Hand...

Die Lösung: Ein Tool (oder zwei oder ...)

Page 9: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Agenda

• Pentest - Was ist das, wie geht das?• Tools zum Erkunden• Tools zum Testen• Tools zum automatischen Test• Firefox-Erweiterungen• Bekannte finden

Page 10: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Paros Proxy

• Proxy • speziell für Pentests• in Java geschrieben• u.a. auch Spider (gleich)

und (primitiver) Scanner (später)

Page 11: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Paros Proxy

Demo

Page 12: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Paros Proxy Spider

Statt selbst zu surfen, surfen lassen

Problem: Doppelte Seiten im Ergebnis

Der Spider kennt keine Kataloge, Foren,...

Page 13: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Paros Proxy Spider

Demo

Page 14: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Paros Proxy Nachteile

• „etwas“ älterLetzte Version: 10. November 2004,3.2.0Alpha

• Forks:– andiparos

Client-Zertifikate auf Smartcards– Zed Attack Proxy (ZAP)

seit kurzem OWASP-Projekt

Page 15: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Testen - zuerst manuell

• Testwerte eingeben• Ergebnis auswerten

Werte:• <script>alert(1)</script>• '• http://www.ein.example/?

Page 16: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Testen ist einfach, oder?

Demo

Page 17: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Testen kann kompliziert sein

• Viele Parameter unzugänglich:– Cookies– POST-Formulare mit versteckten Feldern

• Clientseitige Prüfungen stören– <script>alert(1)</script> ist weder E-Mail-

Adresse noch BLZ

Lösung: Ein Tool... (oder ...)

Page 18: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Agenda

• Pentest - Was ist das, wie geht das?• Tools zum Erkunden• Tools zum Testen• Tools zum automatischen Test• Firefox-Erweiterungen• Bekannte finden

Page 19: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

OWASP WebScarab

• Framework zur HTTP/HTTPS-Analyse• Proxy • speziell für Pentests• in Java geschrieben• Plugins, u.a. Spider, Fuzzer und

XSS/CSRF-Analyse

Page 20: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

OWASP WebScarab

Demo

Page 21: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

OWASP WebScarab Nachteile

• eigentlich keine• Nachfolger (in Entwicklung):

WebScarab NG– über Java Webstart erhältlich– vieles fehlt noch

Page 22: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Eine Alternative: Burp Suite

• Plattform zum Testen von Webanwendungen

• Proxy, Spider und mehr• Scanner in kommerzieller Version• in Java geschrieben

Page 23: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Burp Suite

Demo

Page 24: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Agenda

• Pentest - Was ist das, wie geht das?• Tools zum Erkunden• Tools zum Testen• Tools zum automatischen Test• Firefox-Erweiterungen• Bekannte finden

Page 25: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Scanner

Bisher war Handarbeit nötig:• Testwert eingeben• Ergebnis mit erwarteter Ausgabe

vergleichen

Kann der Computer das nicht selbst?

Page 26: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Scanner in Parox Proxy

Ziemlich eingeschränkt:• HTTP PUT• indexierbare Verzeichnisse• obsolete Dateien• reflektiertes XSS• Default-Dateien auf Websphere-Servern

Page 27: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

w3af

• Web Application Attack and Audit Framework

• in Python geschrieben• vielfältig konfigurierbar

Page 28: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

w3af

Demo

Page 29: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

skipfish

• „Web Application Security Reconnaissance Tool“

• in C geschrieben• sehr schnell• „Fuzzing“ für Dateinamen & Endungen

mittels Wörterbücher• PHP: Keine RFI, keine eval()-Injection

Page 30: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

skipfish

Demo

Page 31: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Wapiti

• „Web Application Security Auditor“• in Python geschrieben• umfangreich (u.a. RFI, eval()-Injection)

Page 32: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Wapiti

Demo

Page 33: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Spezialisten

Allgemeine Scanner liefern allgemeine Ergebnisse

Wie sieht es mit Spezialisten aus?

Page 34: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Mini MySqlat0r

• Sucht SQL-Injection-Schwachstellen• in Java geschrieben

Page 35: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Mini MySqlat0r

Demo

Page 36: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

XSSploit

• Sucht XSS-Schwachstellen• in Python geschrieben

Page 37: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

XSSploit

Demo

Page 38: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

fimap

• Sucht File-Inclusion-Schwachstellen• in Python geschrieben• kann auch exploiten• Nachteile:

– keine Cookies– „dynamic RFI“ ist überflüssig (feste Suffix

kann durch ?foobar= neutralisiert werden)

Page 39: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

fimap

Demo

Page 40: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

JavaScript dekodieren

„obfuscated“ JavaScript - Freund oder Feind?

eval(function(p,a,c,k,e,d){e=function(c){return(c...

Page 41: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

JavaScript dekodieren

Demo

Page 42: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

JavaScript dekodieren

manuelle Lösung: eval( durch document.write( ersetzen

Onlinetool: Wepawet

Page 43: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Agenda

• Pentest - Was ist das, wie geht das?• Tools zum Erkunden• Tools zum Testen• Tools zum automatischen Test• Firefox-Erweiterungen• Bekannte finden

Page 44: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Die Firefox-Variante (1)

• Firebug und Firecookie

• XSS Me• SQL Inject Me • Access Me

(Zugriffskontrolle, z.B. fehlende Session-ID)

Page 45: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Die Firefox-Variante (2)

• HackBar

• Modify Headers• Tamper Data

• JavaScript Deobfuscator(greift ausgeführtes Skript ab => GEFAHR!)

Page 46: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Die Firefox-Variante (3)

• Wappalyzererkennt Webanwendungen

Page 47: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Agenda

• Pentest - Was ist das, wie geht das?• Tools zum Erkunden• Tools zum Testen• Tools zum automatischen Test• Firefox-Erweiterungen• Bekannte finden

Page 48: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Bekannte (Schwachstellen) finden

• Nikto– Webserver-Scanner– sucht nach bekannten Schwachstellen– in Perl geschrieben

Page 49: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Webanwendungen erkennen

• Blind Elephant– vergleicht typische Dateien mit deren

gespeicherten Hashwerten– in Python geschrieben

• WhatWeb– Plugins zur Erkennung z.B. typischer

Strings– in Ruby geschrieben

Page 50: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Fragen?

Page 51: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security

Vielen Dank...

... für Ihre Aufmerksamkeit

Material und Links aufwww.ceilers-it.de/konferenzen/

Page 52: Speaker | Company filew3af • Web Application Attack and Audit Framework • in Python geschrieben • vielfältig konfigurierbar. w3af Demo. skipfish • „Web Application Security