Testy penetracyjne (zwane też testami pen) to rodzaj testów bezpieczeństwa, których celem jest wykrycie potencjalnych podatności w systemie.
Test penetracyjny nie tylko zgłosi wykryte słabości, ale także aktywnie spróbuje je wykorzystać w ramach tak zwanego etycznego hakowania.
Dlaczego potrzebujemy testów penetracyjnych? Każdy napastnik może zakłócić działanie systemu lub uzyskać do niego nieautoryzowany dostęp, jeśli nie jest on odpowiednio zabezpieczony. Ryzyko związane z bezpieczeństwem może powstać w wyniku niezamierzonych błędów popełnionych podczas opracowywania i wdrażania oprogramowania.
Dzięki testom penetracyjnym możemy:
- znaleźć słabości i zagrożenia, które mogą prowadzić do wycieku poufnych danych
- zapobiegać phishingowi i cyberatakom
- utrzymać zaufanie użytkowników, chroniąc ich poufne informacje
- zapewnić zgodność ze standardami i przepisami
W tym artykule omówię następujące tematy:
- Metodologia testów penetracyjnych
- 3 główne podejścia do testów penetracyjnych
- Jakie są główne rodzaje testów penetracyjnych?
Metodologia testów penetracyjnych
Przed przeprowadzeniem testów penetracyjnych zagrożenia są identyfikowane za pomocą oceny podatności. Oznacza to, że pierwszym krokiem jest zidentyfikowanie potencjalnie problematycznych obszarów (takich jak przechowywanie danych uwierzytelniających), a następnie podjęcie próby ich aktywnego zaatakowania.
Testy penetracyjne powinny obejmować wszystkie miejsca przechowywania poufnych danych, wszystkie aplikacje, które przechowują te dane lub wchodzą z nimi w interakcję, wszystkie połączenia sieciowe oraz wszystkie istotne punkty dostępu. Testy penetracyjne próbują wykorzystać podatności i słabości w zabezpieczeniach, podejmując próbę przeniknięcia do sieci i aplikacji.
Celem testów penetracyjnych jest ustalenie, czy złośliwi napastnicy mogą uzyskać nieautoryzowany dostęp do krytycznych systemów lub plików. Po przeprowadzeniu tych skanów podatności wszelkie znalezione problemy powinny zostać rozwiązane i usunięte.

3 główne podejścia do testów penetracyjnych
Podobnie jak w przypadku wszystkich rodzajów i metod testowania, możemy stosować różne podejścia do testów penetracyjnych, zależnie od wiedzy testera i jego praw dostępu. Główne podejścia do testów penetracyjnych obejmują testy typu białej skrzynki, czarnej skrzynki i szarej skrzynki.
1. Testy penetracyjne typu białej skrzynki
W testach penetracyjnych typu białej skrzynki testerzy mają pełną wiedzę o systemie i pełny dostęp do niego. Takie podejście pozwala na przeprowadzenie dogłębnych testów i daje możliwość wykrycia większej liczby zdalnych oraz trudniej dostępnych podatności.
Have an account? Log In
2. Testy penetracyjne typu czarnej skrzynki
Testy penetracyjne typu czarnej skrzynki to podejście, w którym tester nie ma wiedzy na temat wewnętrznego działania systemu. Tester projektuje testy penetracyjne tak, jak zrobiłby to niepoinformowany cybernapastnik.
To podejście najbardziej przypomina rzeczywiste scenariusze, w których hakerzy nie mają dostępu do rzeczywistego kodu źródłowego testowanej aplikacji lub systemu.
3. Testy penetracyjne typu szarej skrzynki
Testy typu szarej skrzynki stanowią punkt pośredni między testami białej skrzynki i czarnej skrzynki. Oznacza to, że tester penetracyjny ma ograniczoną wiedzę o systemie.
Następnie przyjrzyjmy się niektórym różnym rodzajom testów penetracyjnych.
Jakie są główne rodzaje testów penetracyjnych?
1. Testy penetracyjne aplikacji internetowych
Testy penetracyjne witryn internetowych są zwykle bardziej ukierunkowane i szczegółowe niż inne rodzaje testów penetracyjnych. Ich głównym celem jest znalezienie słabości i zagrożeń związanych z cyberbezpieczeństwem w witrynach internetowych i ich komponentach, takich jak bazy danych, kod źródłowy czy sieć zaplecza.
Testy penetracyjne aplikacji internetowych są szczególnie ważne teraz, gdy w związku z pandemią Covid-19 odnotowano znaczny wzrost cyberprzestępczości .
Do typowych luk w zabezpieczeniach, których tester penetracyjny powinien szukać w aplikacji internetowej, należą:
- Niezabezpieczone punkty dostępu
- Słabe hasła
- Ataki typu SQL injection
- Wstrzykiwanie kodu
- Skrypty międzywitrynowe
- Naruszenie danych
- Ataki phishingowe
2. Testy penetracyjne po stronie klienta
Ten rodzaj testów sprawdza lokalne zagrożenia. Zagrożenia te mogą pochodzić z dowolnych aplikacji lub programów uruchomionych na stacjach roboczych pracowników — przeglądarek, odtwarzaczy multimedialnych, aplikacji otwartego oprogramowania, aplikacji do tworzenia prezentacji lub treści (na przykład Microsoft PowerPoint).
Oprócz aplikacji innych firm zagrożenia dla bezpieczeństwa mogą powodować również programy i struktury wewnętrzne, dlatego należy uwzględnić je w testach.
3. Testy penetracyjne sieci
Ten rodzaj testów jest jednym z najczęściej zlecanych w ramach testów penetracyjnych. Jego celem jest wykrycie luk w infrastrukturze sieciowej.
Sieci mają zarówno wewnętrzne, jak i zewnętrzne punkty dostępu, co może narażać je na ataki cyberprzestępców. Dwie podkategorie testów penetracyjnych sieci to: testowanie sieci wewnętrznej i testowanie sieci zewnętrznej.
Wewnętrzne testy penetracyjne sieci
Ten rodzaj testów penetracyjnych rozpoczyna się od założenia, że ataki hakerów pochodzą z wnętrza sieci. Jako tester penetracyjny przyjmujesz rolę złośliwej osoby posiadającej określony poziom (mniej lub bardziej) uprawnionego dostępu do sieci wewnętrznej.
Może to oznaczać na przykład analizę skutków nieumyślnego ujawnienia, zmodyfikowania, niewłaściwego wykorzystania lub zniszczenia poufnych informacji.
Zewnętrzne testy penetracyjne sieci
W tym przypadku odtwarzany scenariusz zakłada, że atak pochodzi z zewnątrz sieci. Testerzy będą próbowali włamać się do systemu, wykorzystując luki zewnętrzne, które mogą umożliwić dostęp do wewnętrznych danych i systemów.
Testy penetracyjne mogą koncentrować się na następujących zagrożeniach dla bezpieczeństwa sieci:
- Błędne konfiguracje zapór sieciowych
- Testowanie routerów
- Testowanie serwerów proxy
- Rozpoznanie DNS
- Skanowanie otwartych portów
- Bazy danych sieciowych
- Serwery pocztowe
Podczas przeprowadzania testów penetracyjnych należy również koniecznie sprawdzić integralność platform zarządzania danymi
4. Testy socjotechniczne
Socjotechnika różni się od innych rodzajów testów, ponieważ nie koncentruje się na technicznych aspektach systemów ani aplikacji. Zamiast tego uwaga skupia się na psychologii użytkowników i pracowników, którzy mogą nieumyślnie naruszyć bezpieczeństwo.
Testy penetracyjne z zakresu socjotechniki można przeprowadzać na dwa sposoby: zdalnie lub fizycznie.
Zdalne testy socjotechniczne przeprowadza się za pomocą środków elektronicznych, takich jak wiadomości phishingowe potencjalnie zawierające złośliwe oprogramowanie. Jeśli pracownicy otworzą wiadomość, firma powinna rozważyć rozpoczęcie szkoleń z zakresu bezpieczeństwa, aby zapobiegać rzeczywistym atakom tego typu.
Fizyczne testy bezpieczeństwa polegają na bezpośredniej rozmowie z ludźmi i przekonaniu ich do ujawnienia poufnych informacji.
Nie wiem, jak jest w Twoim przypadku, ale w ostatnich latach trzy firmy, w których pracowałem, przeprowadziły tego rodzaju testy. Na przykład my, jako pracownicy, otrzymywaliśmy wiadomości e-mail informujące, że wygraliśmy nagrodę w serwisach zakupowych lub otrzymaliśmy specjalne rabaty. Wiadomości zachęcały nas do kliknięcia łącza lub pobrania pliku. W normalnych okolicznościach, gdy atak jest prawdziwy, a nie symulowany, adres URL lub załączniki zwykle zawierają złośliwe oprogramowanie, które może zainfekować komputery i wykraść dane osobowe lub poufne.
Zdziwiłbyś się, jak wiele osób rzeczywiście daje się złapać na tego rodzaju pułapki, zwłaszcza gdy wiadomość wydaje się pochodzić z zaufanego źródła, takiego jak Amazon.
Pamiętaj, że przed przeprowadzeniem tego rodzaju testów kierownictwo powinno zawsze zostać o nich poinformowane.
More Articles
5. Fizyczne testy penetracyjne

Fizyczne testy penetracyjne wykraczają poza aspekty cyfrowe. Aby przeprowadzić ten rodzaj testu, należy ocenić, jak łatwo można uzyskać fizyczny dostęp do obiektu. Można to zrobić, próbując ominąć zabezpieczenia, czujniki, kamery bezpieczeństwa, a nawet otworzyć drzwi wytrychem.
Korzyści z testów fizycznych są natychmiastowe — usunięcie wszelkich wykrytych luk w zabezpieczeniach można rozpocząć, gdy tylko zostanie zidentyfikowany obszar wymagający poprawy.
6. Testy penetracyjne sieci bezprzewodowych
Naruszenia bezpieczeństwa sieci bezprzewodowych stanowią realne zagrożenie dla bezpieczeństwa firmy. Testy przeprowadza się na wszystkich fizycznych urządzeniach bezprzewodowych, takich jak laptopy, tablety, smartfony itp., które są podłączone do sieci WiFi.
Podczas testowania sieci bezprzewodowych należy zwrócić uwagę między innymi na:
- słabe punkty szyfrowania
- luki w protokołach bezprzewodowych, punktach dostępu bezprzewodowego lub poświadczeniach administratora
- domyślne lub słabe hasła
- nieautoryzowane hotspoty
- ataki typu odmowa usługi (DoS)
Wnioski
Testy penetracyjne są naprawdę ważne i przynoszą wiele korzyści, ale ich przeprowadzenie nie jest tak łatwe jak w przypadku innych rodzajów testów. Jeśli chcesz ćwiczyć swoje umiejętności, możesz zapoznać się z aplikacją demonstracyjną OWASP i zaangażować się w wyzwania związane z hakowaniem.
Podobał Ci się ten artykuł? Na stronie The QA Lead znajdziesz wiele interesujących tematów związanych z zapewnianiem jakości, więc koniecznie zapisz się do newslettera!
Sprawdź także:
- 5 GŁÓWNYCH ETAPÓW PROCESU ZARZĄDZANIA PODATNOŚCIAMI
- JAK ZAUTOMATYZOWAĆ TESTOWANIE APLIKACJI MOBILNYCH
Powiązana lista narzędzi:


