Testy penetracyjne aplikacji internetowych
Czas trwania szkolenia:3 dni (24h)
Kod kursu:SEC/WEB
Poziom zaawansowania:
O szkoleniu Testy penetracyjne aplikacji internetowych
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Dla kogo?
- Testerów, programistów, administratorów aplikacji, audytorów oraz fascynatów bezpieczeństwa pragnących zdobyć całościową wiedzę z zakresu prowadzenia testów penetracyjnych oraz wykorzystać ją do weryfikacji bezpieczeństwa złożonych systemów informatycznych
Wymagania
- Doświadczenie w pracy z aplikacjami internetowymi - najlepiej jako programista lub wdrożeniowiec bądź doświadczenie z dziedziny bezpieczeństwa takich rozwiązań
- Znajomość podstaw Java oraz .NET a także podstaw administracji w systemach Windows i Linux
Zalety
- Mocną stroną szkolenia "Testy penetracyjne aplikacji internetowych" są przykłady dla aplikacji .NET (stack Microsoft) i Java (Spring Boot i Docker)
- Uczestnicy wykonują zadania związane z projektem testów penetracyjnych na laboratorium w formie zwirtualizowanego środowiska symulującego typowe problemy złożonej infrastruktury
- Wykorzystanie narzędzi OWASP ZAP (szkolenia otwarte) i Burp Suite (dedykowane, pod warunkiem posiadania licencji)
Cele szkolenia
- Zdobycie wiedzy, która pozwoli uczestnikowi szkolenia nie tylko weryfikować bezpieczeństwo na podstawie baz wiedzy i gotowych exploitów ale da podstawy do zostania researcherem bezpieczeństwa zdolnym do pracy z nieznanymi aplikacjami i protokołami oraz wyszukiwania w nich nowych podatności
Program
Rodzaje testów penetracyjnych
- Metodyki, typy i fazy testów penetracyjnych
- Checklisty w testach penetracyjnych, standardy kodowania: CIS, CERT
Rodzaje podatności, typy podatności według różnych klasyfikacji
- Klasyfikacja podatności według OWASP i CWE
- baza podatności CVE
- metody szacowania ryzyka, modelowanie zagrożeń
Narzędzia do rekonesansu
- Amass, subfinder, Foca
- MassDNS
- Google dorks
- Shodan
Narzędzia do rozponania aplikacji
- nmap, skrypty nmap-a
- Fingerprinting za pomocą komunikatów błędów (narzędzie BeanStack)
- Użycie narzędzi ffuf i dirb oraz baz FuzzDB i Directory List do odkrywania ukrytych zasobów
- Użycie kiterunner do odkrywania ukrytych API
- Użycie Param Miner lub Arjun do odkrywania ukrytych parametrów
- Użycie JSMiner do odkrywania zasobów i danych ukrytych w plikach Javascript
Ataki na aplikacje webowe
- Wykorzystanie funkcjonalności debug
- Problem z uwierzytelnianiem i autoryzacją np zarządzanie sesją, ataki na JWT (wykorzystanie Autorepeater - Burp Suite, modyfikacje nagłówków)
- Ataki na fukcjonalności logowania, rejestracji użytkowników i odzyskiwanie hasła (obsługa logowania w OWASP ZAP lub Burp Suite z użyciem makr)
- SQL/HQL Injection z wykorzystaniem SQLMap
- Podatności typu (XPath, XML, Command, Script, LDAP)-Injection
- Niebezpieczna deserializacja w Javie i .NET (Wykonanie kodu za pomocą XML, JSON, YAML, XStream, wykorzystanie podatności Log4Shell)
- Wykonanie kodu przez funkcjonalność uploadu plików
- Mass assignment (wykorzystanie podatności Spring4Shell)
- Ataki na usługi REST JAX-RS
- Wstrzykiwanie kodu Javascript: XSS
- Wykonanie akcji w uwierzytelnionej sesji użytkownika: CSRF
- Bezpośredni dostęp do danych i obiektów (IDOR) (modyfikacje obiektów, wycieki danych osobowych)
- Path Traversal, nieuprawnione pobieranie lokalnych i zdalnych plików
- Ataki związane z przetwarzaniem XML: XXE
- Spring EL Injection, ataki na Spring Framework
- Template Injection
- OGNL Injection
- HTTP Request Smuggling
- Ataki na systemy backendowe przez błędy w aplikacjach frontowych
Narzędzia do testów manualnych typu proxy
- Wykorzystanie Burp Suite, OWASP ZAP
Automatyczne skanery bezpieczeństwa
- Wykorzystanie OWASP ZAP, Burp Suite Scan, OpenVAS
- Rozbudowa skanera o własne reguły z pomocą Burp Bounty (Burp Suite)
- Narzędzia zapewniające bezpieczeństwo w trakcie developmentu: OWASP Dependency Check, Retire.js, Find-Sec-Bugs, Semgrep
Zbiory exploitów
- Wykorzystanie Metasploit
Skrypty i automatyzacja testów bezpieczeństwa
- Wykorzystanie ZAP i Mozilla ZEST
- Integracja OWASP ZAP z Jenkins
- Wykrywanie dziurawych komponentów z OWASP Dependency Check w CI
Testowanie WebServices
- XXE
- SOAP
- XSLT
- BPEL
Kryptografia
- Weryfikacja poprawnej konfiguracji SSL
- Ataki Man-in-the-middle
- Słabości w implementacji kryptografii
Ataki DoS i DDoS
- Ataki na logikę aplikacji: ReDOS, XML Bomb, Flood
Cloud
- Specyficzne zagadnienia dla cloud: AWS
- Narzędzie ScoutSuite
Zarządzanie informacją w trakcie testu penetracyjnego
- Budowanie bazy wiedzy i bazy ataków
- Dradis Framework, Faraday IDE, Magic Tree
Tworzenie raportu
- Co powinien zawierać dobry raport z testów penetracyjnych?
- Jak formułować zalecenia i obejścia?
- Jak bezpiecznie dostarczyć raport do klienta?
- Jak opisać podatność i uzyskać CVE?