Czym naprawdę jest penetration testing?
Praktyczne wyjaśnienie penetration testingu: na czym polega, jak przebiegają engagementy i co odróżnia go od skanowania podatności.
Penetration testing to praktyka symulowania prawdziwych ataków na system, sieć lub aplikację na podstawie podpisanej umowy, mająca na celu znalezienie podatności do eksploatacji zanim zrobi to ktoś bez uprawnień. To kontrolowana, czasowo ograniczona operacja kończąca się raportem, a nie otwarta na oścież hakerska szaleństwo.
Różnica między pentestingiem a skanowaniem podatności
Skaner podatności taki jak Nessus lub OpenVAS sprawdza cel względem bazy znanych sygnatur i daje ci listę potencjalnych problemów, z których większość wymaga ręcznej weryfikacji. Pentest idzie dalej: tester rzeczywiście próbuje eksploatować znaleziska, łączyć je ze sobą i wykazywać prawdziwy wpływ. Skanowanie mówi ci, że port jest otwarty i wersja usługi wygląda na przestarzałą. Pentesting mówi ci, że ta przestarzała usługa może być wykorzystana do uzyskania shella, i z tego shella możesz się przenieść do kontrolera domeny.
Ta różnica ma znaczenie też dla raportowania. Raport ze skanowania to lista. Raport z pentesta to historia z dowodami: zrzuty ekranu, wynik poleceń i przejście przez ścieżkę ataku od początkowego dostępu do uzgodnionego celu (dostęp do danych, admin domeny, itp.).
Jak definiuje się zakres engagementu
Zanim jakiekolwiek testowanie się zaczyna, klient i tester uzgadniają zasady engagementu: co jest w zakresie (określone zakresy IP, domeny, aplikacje), co jest niedozwolone (produkcyjne bazy danych, systemy trzecich stron nie będące własnością klienta), okna testowania i kontakty awaryjne jeśli coś się zepsuje. To jest dokumentowane w podpisanym piśmie upoważniającym lub umowie. Bez takiego upoważnienia, dokładnie ta sama praca techniczna to przestępstwo zgodnie z prawami takimi jak US Computer Fraud and Abuse Act czy UK Computer Misuse Act.
Engagementy zazwyczaj są kategoryzowane według tego, ile informacji tester ma na początku:
- Black box — tester otrzymuje cel i nic więcej, symulując zewnętrznego atakującego z zerową wiedzą wstępną.
- Gray box — tester otrzymuje jakieś informacje, takie jak konto użytkownika lub diagram sieci, podobnie jak złośliwy insider lub skompromitowany akapit.
- White box — tester ma pełny dostęp do kodu źródłowego, dokumentacji architektury i poświadczeń, przydatne do dogłębnego testowania na poziomie aplikacji.
Jak wygląda typowa metodologia
Większość pentestów luźno podąża za strukturą bliską PTES (Penetration Testing Execution Standard) lub fazami w NIST SP 800-115:
- Reconnaissance — pasywne i aktywne zbieranie informacji. Narzędzia takie jak
theHarvester,amass, lub zwykłe Google dorking w poszukiwaniu odsłoniętych subdomen i mejli pracowników. - Skanowanie i enumeracja —
nmap -sC -sVwzględem zakresu docelowego, brute-forcing katalogów za pomocągobusterlubffufna aplikacjach webowych, enumeracja SMB za pomocąenum4linuxw sieciach wewnętrznych. - Eksploatacja — używanie znanych CVE, błędnych konfiguracji, słabych poświadczeń lub własnych payloadów do uzyskania początkowego dostępu. To może oznaczać moduł Metasploita, crafted SQL injection payload, lub email phishingowy z złośliwym makrem.
- Post-eksploatacja — gdy już masz dostęp, prawdziwa praca się zaczyna: eskalacja uprawnień, ruch lateralny, zbieranie poświadczeń za pomocą narzędzi takich jak Mimikatz czy
secretsdump.py, i ustalenie, jak daleko faktycznie sięga dostęp. - Raportowanie — opisanie znalezisk z wynikami CVSS, krokami reprodukcji, dowodami i wytycznymi naprawy, które zespół inżynierów klienta może wdrożyć.
Rodzaje pentestów, na które się natkniesz
Pentesty sieciowe targetują infrastrukturę wewnętrzną lub zewnętrzną — serwery, firewalle, routery. Pentesty aplikacji webowych skupiają się na rzeczach z OWASP Top 10: injection flaws, broken authentication, insecure deserialization. Pentesty aplikacji mobilnych zagłębiają się w pliki APK/IPA, endpointy API i local storage. Pentesty bezprzewodowe testują bezpieczeństwo Wi-Fi (WPA2/3 handshake capture, rogue access points). Pentesty fizyczne i social engineering testują, czy ktoś może wejść do budynku lub przekonać pracownika do wydania poświadczeń, bez żadnego kodu.
Dlaczego firmy faktycznie za to płacą
Poza znalezieniem błędów, pentesty spełniają wymagania zgodności. PCI DSS wymaga corocznych pentestów dla każdego, kto obsługuje dane karty. SOC 2 i audyty ISO 27001 często oczekują dowodów regularnego testowania. Ale szczera przyczyna, dla której dobre zespoły bezpieczeństwa zamawiają pentesty, to nie tylko checkbox — to fakt, że automatyczne skanery pomijają błędy logiki biznesowej, łańcuchy problemów niskiej wagi i ten rodzaj kreatywnej eksploatacji, którą znajdzie doświadczony człowiek. Skaner nie zauważy, że zmiana ID zamówienia w URL pozwala ci zobaczyć fakturę kogoś innego. Tester zauważy.
Wejście do tego pola
Jeśli celuje w pentesting jako karierę, praktyka hands-on ma większe znaczenie niż same certifikacje. Platformy takie jak HackTheBox i TryHackMe budują mięśniową pamięć; certifikaty takie jak OSCP ją walidują. Naucz się czytać kod źródłowy, zrozum, jak HTTP faktycznie działa na poziomie bajtów, i zaznajom się z terminalem Linux zanim zamartwisz się błyszczącymi narzędziami.
Jeśli to wyjaśnienie było przydatne, Korra Studio ma więcej segmentów w torze Offensive obejmujące specyficzne techniki eksploatacji, walkthroughy narzędzi i oparte na laboratorium praktyki, którą możesz śledzić.
Napisane z pomocą AI, zweryfikowane i opublikowane przez Michal Pilch (CISSP), Korra Studio.
To jedna notatka z bazy wiedzy Korra Studio — platforma łączy każdy temat z mentoringiem 1 na 1.
Zacznij za darmoarrow_forward