INHOUSE ANGEBOT
MODUL 2: ADVANCED

Advanced Schulung: Bedrohungsmodellierung

Was erwartet Sie:
In diesem hands-on Workshop wird gemeinsam eine für den Workshop entwickeltes Set an Trainingsanwendungen angegriffen, um Schritt für Schritt die Rolle eines Pentesters einzunehmen. Die Teilnehmer:innen lernen den Umgang mit professionellen Security-Werkzeugen anhand zahlreicher Praxisübungen sowie die allgemeine Vorgehensweise von Pentestern bei Angriffen auf Webanwendungen.

Selbstverständlich wird sich auch um Abwehrmaßnahmen zur Absicherung der gefundenen Lücken gekümmert.  Im Vordergrund steht jedoch der gezielte Umgang mit professionellen Werkzeugen zur (teil-automatischen) Durchführung einer Sicherheitsanalyse.

Nach dem Workshop verfügen die Teilnehmer:innen ü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.

Ihre Trainingsinhalte

Teil 1


Im ersten Teil lernen wir die Web-Security Schwachstellen anhand der Trainingsanwendung kennen. Hier betrachten wir die Ursachen der Lücken, deren Ausnutzungsrisiken und Formen der Absicherung:

  • Injection-Schwachstellen wie SQL-Injection, HQL-Injection, NoSQL-Injection, LDAP-Injection, Command-Injection, etc.
    – inkl. Post-Exploitation bis zur Remote Code Execution (RCE) auf dem Datenbankserver
  • XML External Entity Attacks (XXE)
  • Path-Traversals (inkl ClassPath-Traversals)
  • Cross-Site Scripting (XSS): Reflected, Persistent, DOM-based sowie die diversen Kontexte
  • Cross-Site Request Forgery (CSRF)
  • Session Attacks wie Session Fixation, etc.
  • Authentication Bypass
  • Information Disclosures
  • Server-Side Request Forgery (SSRF)
  • Risiken und Absicherung von File-Uploads und -Downloads
  • Angriffe auf WebSockets

Teil 2

Im zweiten Teil werden wir mit Tools weiter uns dem Thema Schwachstellen-Scans widmen, um die Aussensicht und Innensicht einer Anwendung teil-automatisiert untersuchen zu können: Beginnen wir mit der dynamische Analyse zur Laufzeit (DAST) und darüber hinausgehend werden wir auch Methoden zur statischen Code-Analyse einsetzen (unter Nutzung von OpenSource-Werkzeugen), um tiefere Abdeckung zu erzielen.

  •  Geführte Dynamische Scans (DAST) automatisieren
  •  Statische Analyse (SAST) automatisieren

Teil 3

 

Im letzten Teil erlernen wir, wie man diese Security-Scans soweit vollautomatisch laufen lassen kann, dass diese in Jenkins Build-Pipelines integriert werden: und wie?
 
  • Hier werden Maßnahmen aufgezeigt, wie die teil-manuelle Analyse voll-automatisiert (z.B. im Rahmen von Buildprozessen) stattfinden kann (DevSecOps), was gerade in agilen Projekten sehr hilfreich ist.
  • Hierzu wird mit den Teilnehmenden eine CI/CD-Pipeline basierend auf der Trainingsanwendung aufgebaut und mehrstufig um dynamische, statische und Konfigurations-Scans erweitert, inkl. False Positive Handling und Reporting.
  • Über die automatisierte Auswertung der Ergebnisse können Sie Builds je nach Kritikalität der gefunden Schwachstellen instabil werden lassen oder ganz brechen lassen, um im Fall von schweren Sicherheitslücken einen automatischen Roll-out zu verhindern.
  • Hierzu bauen Sie in den angeleiteten Übungen eine Ende-zu-Ende-Build-Pipeline mit passenden Security-Checks gegen eine Trainingsanwendung auf.
  • Zum Einsatz kommen hierzu ein ganzer Strauß an Open-Source-Werkzeugen. Danach beherrschen Sie das Handwerkszeug, dies in Ihren eigenen Projekten ebenfalls durchzuführen.

 

Voraussetzungen

🗸 Mindestvoraussetzung: Grundlagenwissen über Webtechnologien und einfache Erfahrungen im Umgang mit einer Linux Shell.

🗸 Optional: Wissen über CI/CD Pipelines mit Jenkins

🗸 Da die Teilnehmerumgebungen in der Cloud laufen, ist keine Vorabinstallation notwendig, da ein Rechner mit Internetzugang ausreicht.

🗸 Optional: Wer nicht in der Cloud arbeiten mag, kann selbstverständlich gerne auch ein Kali Linux mitbringen (z.B. in einer VM) oder eine lokale Docker-Umgebung.

Lernziele

🗸 Nach dem Workshop verfügen die Teilnehmer:innen über praktische Erfahrungen zur Angriffsdurchführung auf Webanwendungen und Backends, die sie im Rahmen Ihrer eigenen Softwareentwicklung umsetzen können, um die Sicherheit Ihrer Projekte nachhaltig zu erhöhen bzw. zu testen.

🗸 Durch die tieferen offensiven Themenanteile des Intensivtrainings ergeben sich zudem Möglichkeiten, Pentesting-Wissen aufzubauen und die Ausnutzbarkeit von Sicherheitslücken genauer einschätzen zu können.

🗸 Ebenfalls werden die Teilnehmer durch die Automation bestimmter Checks in die Lage versetzt, Build-Pipelines um Security-Checks im DevSecOps-Sinne zu erweitern.