EITC/IS/WAPT Web Applications Penetration Testing to europejski program certyfikacji IT dotyczący teoretycznych i praktycznych aspektów testowania penetracyjnego aplikacji internetowych (white hacking), w tym różnych technik przeszukiwania witryn internetowych, technik skanowania i atakowania, w tym specjalistycznych narzędzi i pakietów testów penetracyjnych .
Program nauczania EITC/IS/WAPT Web Applications Penetation Testing obejmuje wprowadzenie do pakietu Burp Suite, web spridering i DVWA, testy brute force z pakietem Burp Suite, wykrywanie zapory aplikacji internetowych (WAF) z WAFW00F, zakres docelowy i pająk, wykrywanie ukrytych plików ZAP, WordPress skanowanie podatności i wyliczanie nazw użytkowników, skanowanie load balancera, cross-site scripting, XSS – odbite, przechowywane i DOM, ataki proxy, konfiguracja proxy w ZAP, ataki na pliki i katalogi, wykrywanie plików i katalogów za pomocą DirBuster, praktyka ataków internetowych OWASP Juice Shop, CSRF – Cross Site Request Forgery, zbieranie plików cookie i inżynieria wsteczna, HTTP Attributes – kradzież plików cookie, wstrzykiwanie SQL, DotDotPwn – wstrzykiwanie directory traversal fuzzing, wstrzykiwanie iframe i wstrzykiwanie HTML, exploit Heartbleed – wykrywanie i wykorzystywanie, wstrzykiwanie kodu PHP, bWAPP – wstrzykiwanie HTML, odbity POST, wstrzykiwanie poleceń systemu operacyjnego z Commixem, wstrzykiwanie SSI po stronie serwera, testowanie w Dockerze, OverTheWire Natas, LFI i wstrzykiwanie poleceń, Google hacking for pentesting, Google Dorks For Pentesting, Apache2 ModSecurity, a także Nginx ModSecurity, w ramach poniższej struktury, obejmującej obszerne treści dydaktyczne wideo jako odniesienie dla tego certyfikatu EITC.
Bezpieczeństwo aplikacji internetowych (często określane jako Web AppSec) to koncepcja projektowania stron internetowych, które działają normalnie, nawet gdy są atakowane. Chodzi o zintegrowanie zestawu środków bezpieczeństwa z aplikacją internetową w celu ochrony jej zasobów przed wrogimi agentami. Aplikacje internetowe, jak każde oprogramowanie, są podatne na błędy. Niektóre z tych luk to rzeczywiste luki, które można wykorzystać, stwarzając zagrożenie dla firm. Takie luki są chronione przed zabezpieczeniami aplikacji internetowych. Wiąże się to z zastosowaniem bezpiecznych podejść programistycznych i wprowadzeniem kontroli bezpieczeństwa w całym cyklu życia oprogramowania (SDLC), zapewniając, że błędy projektowe i problemy z wdrożeniem zostaną wyeliminowane. Testy penetracyjne online, które są przeprowadzane przez ekspertów, których celem jest wykrycie i wykorzystanie luk w aplikacjach internetowych za pomocą tzw. podejścia białego hakera, są niezbędną praktyką umożliwiającą odpowiednią obronę.
Test penetracji sieci, znany również jako web pen test, symuluje atak cybernetyczny na aplikację internetową w celu znalezienia luk, które można wykorzystać. Testy penetracyjne są często używane jako uzupełnienie zapory sieciowej w kontekście bezpieczeństwa aplikacji sieciowej (WAF). Ogólnie rzecz biorąc, testowanie pisaków polega na próbie penetracji dowolnej liczby systemów aplikacji (np. interfejsów API, serwerów frontend/backend) w celu znalezienia luk w zabezpieczeniach, takich jak nieoczyszczone dane wejściowe, które są podatne na ataki polegające na wstrzykiwaniu kodu.
Wyniki internetowego testu penetracyjnego można wykorzystać do skonfigurowania zasad bezpieczeństwa WAF i usunięcia wykrytych luk w zabezpieczeniach.
Testy penetracyjne składają się z pięciu etapów.
Procedura testowania piórem jest podzielona na pięć kroków.
- Planowanie i harcerstwo
Pierwszym etapem jest zdefiniowanie zakresu i celów testu, w tym systemów, którymi należy się zająć, oraz metodologii testowania, które mają zostać wykorzystane.
Aby lepiej zrozumieć, jak działa cel i jego potencjalne słabości, zbierz informacje (np. nazwy sieci i domen, serwer pocztowy). - Skanowanie
Następnym etapem jest ustalenie, jak docelowa aplikacja zareaguje na różne rodzaje prób włamań. Zwykle osiąga się to za pomocą następujących metod:
Analiza statyczna — badanie kodu aplikacji w celu przewidzenia, jak będzie się ona zachowywać po uruchomieniu. W jednym przejściu narzędzia te mogą zeskanować cały kod.
Analiza dynamiczna to proces sprawdzania kodu aplikacji podczas jej działania. Ta metoda skanowania jest bardziej praktyczna, ponieważ zapewnia podgląd wydajności aplikacji w czasie rzeczywistym. - Uzyskanie dostępu
Aby znaleźć słabe punkty celu, w tym kroku wykorzystuje się ataki na aplikacje internetowe, takie jak cross-site scripting, SQL injection i backdoory. Aby zrozumieć szkody, jakie mogą wyrządzić te luki, testerzy próbują je wykorzystać poprzez eskalację uprawnień, kradzież danych, przechwytywanie ruchu i tak dalej. - Utrzymywanie dostępu
Celem tego etapu jest ocena, czy usterka może zostać wykorzystana do ustanowienia długoterminowej obecności w zaatakowanym systemie, umożliwiając złemu graczowi uzyskanie szczegółowego dostępu. Celem jest naśladowanie zaawansowanych trwałych zagrożeń, które mogą pozostawać w systemie przez wiele miesięcy, aby wykraść najbardziej poufne informacje firmy. - Analiza
Wyniki testów penetracyjnych są następnie umieszczane w raporcie, który zawiera takie informacje jak:
Luki, które zostały szczegółowo wykorzystane
Uzyskane dane, które były wrażliwe
Czas, przez który tester mógł pozostać niezauważony w systemie.
Eksperci ds. bezpieczeństwa wykorzystują te dane, aby pomóc w konfiguracji ustawień WAF przedsiębiorstwa i innych rozwiązań bezpieczeństwa aplikacji w celu usunięcia luk w zabezpieczeniach i zapobiegania dalszym atakom.
Metody testów penetracyjnych
- Zewnętrzne testy penetracyjne koncentrują się na aktywach firmy widocznych w Internecie, takich jak sama aplikacja internetowa, witryna internetowa firmy oraz serwery poczty e-mail i nazw domen (DNS). Celem jest uzyskanie dostępu do przydatnych informacji i ich wydobycie.
- Testowanie wewnętrzne polega na tym, że tester ma dostęp do aplikacji za zaporą firmy i symuluje wrogi atak z wewnątrz. Nie jest to konieczna symulacja nieuczciwego pracownika. Pracownik, którego poświadczenia zostały pozyskane w wyniku próby phishingu, jest częstym punktem wyjścia.
- Ślepe testy polegają na tym, że testerowi podaje się po prostu nazwę testowanej firmy. Dzięki temu eksperci ds. bezpieczeństwa mogą zobaczyć, jak rzeczywisty atak aplikacji może rozegrać się w czasie rzeczywistym.
- Testy podwójnie ślepe: W teście podwójnie ślepej próby specjaliści ds. bezpieczeństwa nie są wcześniej świadomi symulowanego ataku. Nie będą mieli czasu na wzmocnienie swoich fortyfikacji przed próbą przełamania, tak jak w prawdziwym świecie.
- Testowanie ukierunkowane – w tym scenariuszu tester i pracownicy ochrony współpracują i śledzą nawzajem swoje ruchy. Jest to doskonałe ćwiczenie szkoleniowe, które zapewnia zespołowi ds. bezpieczeństwa informacje zwrotne w czasie rzeczywistym z perspektywy hakera.
Zapory sieciowe aplikacji internetowych i testy penetracyjne
Testy penetracyjne i WAF to dwie oddzielne, ale uzupełniające się techniki bezpieczeństwa. Tester prawdopodobnie wykorzysta dane WAF, takie jak logi, aby znaleźć i wykorzystać słabe obszary aplikacji w wielu typach testów pisakowych (z wyjątkiem testów ślepych i podwójnie ślepych).
Z kolei dane z testów pióra mogą pomóc administratorom WAF. Po zakończeniu testu konfiguracje WAF można modyfikować w celu ochrony przed wadami wykrytymi podczas testu.
Wreszcie, testowanie penetracyjne spełnia niektóre wymagania zgodności metod audytu bezpieczeństwa, takie jak PCI DSS i SOC 2. Niektóre wymagania, takie jak PCI-DSS 6.6, można spełnić tylko wtedy, gdy używany jest certyfikowany WAF. Jednak ze względu na wyżej wymienione korzyści i możliwość modyfikacji ustawień WAF, nie sprawia to, że testowanie pisaków jest mniej przydatne.
Jakie znaczenie mają testy bezpieczeństwa sieci?
Celem testów bezpieczeństwa sieci jest identyfikacja luk bezpieczeństwa w aplikacjach internetowych i ich konfiguracji. Warstwa aplikacji jest głównym celem (tj. to, co działa w protokole HTTP). Wysyłanie różnych form danych wejściowych do aplikacji sieci Web w celu wywołania problemów i spowodowania, że system zareaguje w nieoczekiwany sposób, jest powszechnym podejściem do testowania jego bezpieczeństwa. Te „negatywne testy” sprawdzają, czy system robi coś, do czego nie był przeznaczony.
Należy również zdać sobie sprawę, że testowanie bezpieczeństwa sieci to coś więcej niż tylko weryfikacja funkcji bezpieczeństwa aplikacji (takich jak uwierzytelnianie i autoryzacja). Niezwykle ważne jest również zapewnienie bezpiecznego wdrażania innych funkcji (np. logiki biznesowej i stosowania odpowiedniej walidacji danych wejściowych i kodowania danych wyjściowych). Celem jest upewnienie się, że funkcje aplikacji internetowej są bezpieczne.
Jakie są rodzaje ocen bezpieczeństwa?
- Przetestuj dynamiczne zabezpieczenia aplikacji (DAST). Ten zautomatyzowany test bezpieczeństwa aplikacji najlepiej sprawdza się w przypadku aplikacji o niskim ryzyku, przeznaczonych do użytku wewnętrznego, które muszą spełniać prawne wymagania bezpieczeństwa. Połączenie DAST z niektórymi ręcznymi testami bezpieczeństwa online pod kątem typowych luk w zabezpieczeniach jest najlepszą strategią dla aplikacji średniego ryzyka i kluczowych aplikacji, które podlegają niewielkim zmianom.
- Kontrola bezpieczeństwa dla aplikacji statycznych (SAST). Ta strategia bezpieczeństwa aplikacji obejmuje zarówno automatyczne, jak i ręczne metody testowania. Jest idealny do wykrywania błędów bez konieczności uruchamiania aplikacji w środowisku na żywo. Umożliwia także inżynierom skanowanie kodu źródłowego w celu wykrywania i naprawiania luk w zabezpieczeniach oprogramowania w sposób systematyczny.
- Badanie penetracyjne. Ten ręczny test bezpieczeństwa aplikacji jest idealny dla kluczowych aplikacji, szczególnie tych, które przechodzą znaczące zmiany. Aby znaleźć zaawansowane scenariusze ataków, ocena wykorzystuje logikę biznesową i testy oparte na przeciwnikach.
- Samoochrona aplikacji w środowisku wykonawczym (RASP). Ta rozwijająca się metoda zabezpieczania aplikacji obejmuje różne techniki technologiczne służące do oprzyrządowania aplikacji w taki sposób, aby zagrożenia mogły być obserwowane i, miejmy nadzieję, zapobiegane w czasie rzeczywistym w miarę ich pojawiania się.
Jaką rolę w obniżeniu ryzyka firmy odgrywają testy bezpieczeństwa aplikacji?
Zdecydowana większość ataków na aplikacje internetowe obejmuje:
- SQL Injection
- XSS (skrypty między witrynami)
- Zdalne wykonywanie poleceń
- Atak z przemierzaniem ścieżki
- Ograniczony dostęp do treści
- Przejęte konta użytkowników
- Instalacja złośliwego kodu
- Utracone przychody ze sprzedaży
- Erozja zaufania klientów
- Szkodzenie reputacji marki
- I wiele innych ataków
W dzisiejszym środowisku internetowym aplikacja internetowa może ucierpieć z powodu różnych wyzwań. Powyższa grafika przedstawia kilka najczęstszych ataków popełnianych przez napastników, z których każdy może spowodować znaczne szkody w pojedynczej aplikacji lub całej firmie. Znajomość wielu ataków, które sprawiają, że aplikacja jest podatna, a także możliwych wyników ataku, pozwala firmie na wcześniejsze rozwiązanie luk i skuteczne ich przetestowanie.
Kontrole łagodzące można ustanowić we wczesnych fazach SDLC, aby zapobiec wszelkim problemom, identyfikując pierwotną przyczynę luki. Podczas testu bezpieczeństwa aplikacji internetowych wiedza na temat działania tych zagrożeń może być również wykorzystywana do atakowania znanych miejsc zainteresowania.
Rozpoznanie wpływu ataku jest również ważne dla zarządzania ryzykiem firmy, ponieważ wpływ udanego ataku może być wykorzystany do określenia ogólnej wagi podatności. Jeśli podczas testu bezpieczeństwa zostaną wykryte luki, określenie ich istotności pozwala firmie skuteczniej ustalać priorytety działań naprawczych. Aby zmniejszyć ryzyko dla firmy, zacznij od krytycznych problemów i zejdź w dół do tych o mniejszym wpływie.
Ocena możliwego wpływu każdego programu w bibliotece aplikacji firmy przed zidentyfikowaniem problemu pomoże w ustaleniu priorytetów testowania bezpieczeństwa aplikacji. Testy bezpieczeństwa Wenb można zaplanować w pierwszej kolejności w celu ukierunkowania na krytyczne aplikacje firmy, z bardziej ukierunkowanymi testami, aby zmniejszyć ryzyko biznesowe. Mając ustaloną listę głośnych aplikacji, testy bezpieczeństwa WEB można zaplanować w pierwszej kolejności w celu ukierunkowania na krytyczne aplikacje firmy, a bardziej ukierunkowane testy mają na celu zmniejszenie ryzyka dla biznesu.
Jakie funkcje należy sprawdzić podczas testu bezpieczeństwa aplikacji internetowej?
Podczas testowania zabezpieczeń aplikacji internetowych należy wziąć pod uwagę poniższą niewyczerpującą listę funkcji. Nieskuteczne wdrożenie każdego z nich może skutkować słabościami, narażając firmę na niebezpieczeństwo.
- Konfiguracja aplikacji i serwera. Konfiguracje szyfrowania/kryptograficzne, konfiguracje serwera WWW itd. to przykłady potencjalnych wad.
- Walidacja obsługi danych wejściowych i błędów Słabe przetwarzanie danych wejściowych i wyjściowych prowadzi do wstrzykiwania SQL, wykonywania skryptów krzyżowych (XSS) i innych typowych problemów związanych z wstrzykiwaniem.
- Uwierzytelnianie i utrzymanie sesji. Luki, które mogą prowadzić do podszywania się pod użytkownika. Należy również wziąć pod uwagę siłę uwierzytelnienia i ochronę.
- Upoważnienie. Testowana jest zdolność aplikacji do ochrony przed eskalacją uprawnień w pionie i poziomie.
- Logika w biznesie. Większość programów zapewniających funkcjonalność biznesową opiera się na nich.
- Logika po stronie klienta. Ten rodzaj funkcji staje się coraz bardziej powszechny w przypadku nowoczesnych stron internetowych z dużą ilością JavaScript, a także stron internetowych wykorzystujących inne rodzaje technologii po stronie klienta (np. Silverlight, Flash, aplety Java).
Aby dokładnie zapoznać się z programem certyfikacji, możesz rozwinąć i przeanalizować poniższą tabelę.
EITC/IS/WAPT Web Applications Penetration Testing Certification Curriculum odwołuje się do ogólnodostępnych materiałów dydaktycznych w formie wideo. Proces uczenia się podzielony jest na etapy (programy -> lekcje -> tematy) obejmujące odpowiednie części programu nauczania. Zapewnione są również nieograniczone konsultacje z ekspertami dziedzinowymi.
Aby uzyskać szczegółowe informacje na temat procedury certyfikacji, sprawdź Wygodna Subskrypcja.
Pobierz kompletne materiały przygotowawcze do samodzielnego uczenia się w trybie offline dla programu testów penetracyjnych aplikacji sieciowych EITC/IS/WAPT w pliku PDF
Materiały przygotowawcze EITC/IS/WAPT – wersja standardowa
Materiały przygotowawcze EITC/IS/WAPT – wersja rozszerzona z pytaniami kontrolnymi