Einstieg ins White Hacking und Pentesting mit Praxisbeispielen - Schulung im Rahmen der IT-Tage 2017

In diesem HandsOn-Workshop greifen wir gemeinsam eine Java-Webanwendung an, um Schritt für Schritt die Rolle eines Pentesters einzunehmen. Sie lernen den Umgang mit professionellen Security-Werkzeugen anhand zahlreicher Praxisübungen sowie die allgemeine Vorgehensweise von Pentestern bei Angriffen auf Webanwendungen. Selbstverständlich werden wir uns auch um Abwehrmaßnahmen zur Absicherung der gefundenen Lücken kümmern, im Vordergrund steht jedoch der gezielte Umgang mit Angriffswerkzeugen zur (teil-automatischen) Durchführung einer Sicherheitsanalyse. 

Nach dem Workshop verfügen Sie über praktische Erfahrungen zur Angriffsdurchführung auf Webanwendungen, welche Sie im Rahmen Ihrer eigenen Softwareentwicklung umsetzen können, um die Sicherheit Ihrer Projekte nachhaltig zu erhöhen. Am Ende erhalten Sie sämtliche Materialien des Trainings als PDF zur Nachbereitung.

Ziele

  • Fundierter Überblick über typische Sicherheitslücken in Webanwendungen
  • Einsatz von Pentestwerkzeugen zur toolgestützten Überprüfung der Sicherheit von Webanwendungen
  • Erlernen darüber hinausgehender manueller Angriffstechniken als Teil eines Pentests
  • Kenntnis über die verschiedenen Absicherungsmaßnahmen zur Anwendungshärtung

Inhalte

  • Einführung in Werkzeuge von Angreifern (“Hacker-Werkzeugkasten”) zum Auffinden und Ausnutzen von Sicherheitslücken in Webanwendungen.
  • Geleitetes Angreifen der Demo-Anwendung: Diese Punkte werden jeweils durch die Teilnehmer eigenständig unter Anleitung durchgeführt. Hierbei kommen manuelle Techniken sowie toolgestützte Angriffe vor.
  • Erarbeitung von primären und sekundären Abwehrmaßnahmen zum Absichern der Lücken und Härtung der Anwendung.
  • Einsatz von Open Source-DAST- und -SAST-Werkzeugen zum Pentesting und zur statischen Codeanalyse.
  • Blind und Super-Blind Exfiltration von Daten aus einer Zielumgebung out-of-band mittels der Seitenkanäle Timing und DNS.
  • Einsatz von Open Source-Werkzeugen zur Infrastruktur-Analyse (Blackbox und Whitebox).
  • Optional bei Interesse: Java-spezifische Angriffe auf Deserialisierungs-Schnittstellen.
  • Checklisten zum Vorgehen von Pentests sowie zur Umsetzung von Härtungsmaßnahmen zur Absicherung.

Methoden: Präsentation, Vortrag, Übungen am Rechner, Diskussion

Zielgruppe: Interessierte Mitarbeiter aus den Bereichen Softwareentwicklung, Qualitätssicherung sowie Pentesting bzw. Verantwortliche aus dem Sicherheitsmanagement.

Workshop Requirements:

Da es sich bei diesem Workshop um einen übungsintensiven Tag handelt, sind ein paar Grundvoraussetzungen notwendig, sofern man an den Praxisübungen teilnehmen möchte:

  • Notebook mit einer vorab durchgeführten Installation der “Kali Linux”-VM! Diese für Pentester gedachte Linux-Distribution kann unter https://kali.org als VMWare- (empfohlen) oder als VirtualBox-Image kostenlos heruntergeladen werden (ca. 2,6 GB die komplette Version, bitte nicht die Light-Version nehmen) bzw. auch als ISO-Image. Um nicht gleich den ganzen Notebook platt machen zu müssen, reicht selbstverständlich eine durchgeführte Installation als virtuelle Maschine. Aufgrund der Installationsdauer (und je nach Wifi ggf. auch der Größe) empfehle ich, dass Kali Linux bereits vor dem Workshop in einer VM auf dem mitgebrachten Notebook lauffähig installiert wurde. Notfalls kann man zu Beginn (per Stick oder Wifi) noch eine Installation versuchen.
  • Der grundlegende (einfache) Umgang mit der Linux-Kommandozeile ist sicherlich von Vorteil. Aber keine Sorge, es sind keine tiefgreifenden Linux-Kenntnisse von Nöten, um den geleiteten Übungen folgen zu können. Dennoch sollte man vor Bash und CLIs nicht zurückschrecken.
  • Vor Ort verteile ich per separatem Download-Link (ca. 30 MB) bzw. USB-Stick die Trainings-Webanwendung, welche wir im Kali dann nutzen (bzw. angreifen) werden.
  • Und für diejenigen ohne Notebook vor Ort: Auch ohne bei den Praxisübungen mitzumachen, nimmt man selbstverständlich eine Menge Input aus dem Workshop mit. Wer in den Suchübungen jedoch sein erlerntes Können unter Beweis stellen möchte, sollte einen eigenen Notebook mitbringen…

Als Teilnehmer bringen Sie Ihren eigenen Laptop mit. So haben Sie die Möglichkeit, alle Unterlagen und Installationen mit nach Hause zu nehmen. Ideal ist, wenn Sie über Administrationsrechte bzw. root-Rechte auf Ihrem Gerät verfügen.