Bezpieczeństwo

Testy Penetracyjne

Metodologie testów penetracyjnych sieci, narzędzia i techniki etycznego hackingu.

Test penetracyjny i jego zakres

Ocena podatności analizuje systemy pod kątem znanych słabości, konfiguracji i odstępstw od dobrych praktyk. Jej zakres może obejmować wiele hostów, aplikacji i urządzeń. Wynikiem jest lista potencjalnych problemów wraz z opisem, dowodami oraz oceną ważności, na przykład: "Usługa używa wersji z opublikowaną luką" albo "Konfiguracja mechanizmu uwierzytelniania nie spełnia przyjętej polityki". Taka ocena opisuje obecność podatności, lecz sama nie potwierdza możliwości przeprowadzenia konkretnego ataku.

Organizacja może jednak potrzebować odpowiedzi na inne pytanie: "Czy podatność pozwala osiągnąć określony cel przy założonych warunkach ataku?"

Test penetracyjny prowadzi w tym celu upoważniony zespół testerów. Testerzy działają w uzgodnionym zakresie i aktywnie sprawdzają zabezpieczenia. Analizują punkty wejścia, próbują kontrolowanych wykorzystań podatności i weryfikują, czy można osiągnąć cel, na przykład uzyskać dostęp do określonego serwera lub danych. Każda próba powinna uwzględniać reguły postępowania, ograniczenia wpływu na usługę oraz sposób dokumentowania wyników.

To jest właśnie podstawowa koncepcja . Jest to autoryzowana próba oceny bezpieczeństwa infrastruktury IT przez kontrolowane wykorzystanie podatności. Wynik odpowiada na pytanie, jaki wpływ ma podatność, jakie warunki są potrzebne do jej wykorzystania oraz jakie zasoby można osiągnąć. Plan testu powinien określać cele, adresy i aplikacje objęte zakresem, terminy, dozwolone techniki, kontakty awaryjne oraz kryteria przerwania. Tester dokumentuje dowody w sposób pozwalający odtworzyć wynik bez ujawniania danych, które nie są potrzebne do oceny.

Pentest a ocena podatności

Ocena podatności i test penetracyjny mają różne cele, zakresy i wyniki.

Ocena podatności ma dostarczyć szerokiej listy znanych potencjalnych słabości w określonym zakresie systemów. Jej głównym wynikiem jest raport opisujący podatności, zwykle wraz z oceną ich ważności. Test penetracyjny jest ćwiczeniem skoncentrowanym na celu. Tester może wykorzystać wyniki skanowania jako punkt wyjścia, a następnie sprawdzić łączenie podatności w ścieżkę prowadzącą na przykład do dostępu administracyjnego do krytycznego serwera lub do odczytu wrażliwych danych.

AspektOcena PodatnościTesty Penetracyjne
CelIdentyfikacja i skatalogowanie podatności (Szerokość).Wykorzystanie podatności w celu udowodnienia wpływu (Głębia).
PodejścieProaktywne skanowanie i analiza (Znajdź wady).Adwersaryjne i zorientowane na cel (Symuluj atak).
AutomatyzacjaWspierane automatyzacją, głównie przy użyciu skanerów.Łączy zautomatyzowane narzędzia ze znaczącą, kreatywną pracą manualną człowieka.
RezultatSpriorytetyzowana lista słabości.Udokumentowanie potwierdzonej ścieżki ataku, jeśli została wykazana, oraz raport o ryzyku biznesowym.

Ocena podatności wskazuje obecność i charakter słabości. Test penetracyjny dokumentuje kontrolowaną ścieżkę wykorzystania, uzyskany poziom dostępu oraz wpływ na cel testu.

Autoryzacja i role testera

Testy penetracyjne są często określane mianem . Formalna zgoda właściciela systemu, określony zakres i reguły postępowania odróżniają test od działania przestępczego. Klasyfikacja kolorystyczna opisuje role i zamiary osób testujących systemy:

  • Hakerzy w Białych Kapeluszach (White Hat Hackers): To specjaliści bezpieczeństwa działający w celach obronnych. Tester penetracyjny pracuje za wyraźną zgodą, w określonym zakresie, a wyniki przekazuje organizacji w celu usunięcia podatności przed ich wykorzystaniem w prawdziwym ataku.
  • Hakerzy w Czarnych Kapeluszach (Black Hat Hackers): To złośliwi aktorzy działający bez pozwolenia. Włamują się do systemów w celu kradzieży danych, zakłócenia działania usług lub wymuszenia okupu.
  • Hakerzy w Szarych Kapeluszach (Gray Hat Hackers): Działają bez autoryzacji, lecz ich zamiar może polegać na zgłoszeniu podatności zamiast wyrządzeniu szkody, czasem za opłatą w ramach bug bounty. Brak zgody oznacza, że takie działanie może naruszać prawo, nawet przy braku złośliwego zamiaru.

Prawidłowo zlecony test prowadzą upoważnieni testerzy działający na podstawie umowy, zakresu i reguł postępowania. Dokumentacja autoryzacji ogranicza ryzyko prawne i operacyjne. Plan powinien wskazywać systemy, okna testowe, dozwolone techniki, kontakty awaryjne, zasady obchodzenia się z danymi i kryteria przerwania. Takie ustalenia ograniczają działania wykraczające poza zgodę właściciela.

Etapy testu penetracyjnego

Profesjonalny test penetracyjny przebiega według ustalonej metodologii. NIST SP 800-115 grupuje ocenę wokół planowania, wykonania i czynności po wykonaniu, a techniki obejmują przegląd, identyfikację celu, analizę oraz walidację ataku. Poniższy model dydaktyczny rozkłada aktywności testera na pięć etapów i wymaga reguł postępowania uzgodnionych przed rozpoczęciem. Faza planowania obejmuje także autoryzację, zakres, sposób komunikacji i przygotowanie środowiska. Po wykonaniu testu zespół porządkuje dowody, omawia ustalenia z właścicielem systemu i przekazuje zalecenia naprawcze.

Faza 1: Rekonesans

Jest to faza zbierania informacji. Tester ustala zakres celu i buduje mapę cyfrowego śladu organizacji, korzystając ze źródeł publicznych oraz dozwolonych interakcji z systemami. Rekonesans obejmuje dwa typy:

  • Rekonesans Pasywny: Zbieranie informacji bez bezpośredniej interakcji z systemami celu. Polega na wykorzystaniu publicznie dostępnych źródeł, co czyni go bardzo trudnym do wykrycia. Techniki obejmują przeszukiwanie Google w poszukiwaniu nazwisk pracowników i wzmianek o technologiach, badanie profili w mediach społecznościowych, sprawdzanie ogłoszeń o pracę w poszukiwaniu wskazówek na temat używanych technologii oraz używanie narzędzi takich jak WHOIS do znajdowania informacji o rejestracji domen i powiązanych zakresów adresów IP.
  • Rekonesans Aktywny:Polega na bezpośrednim sondowaniu systemów celu w celu zebrania bardziej szczegółowych informacji. Jest to głośniejsze i bardziej prawdopodobne do wykrycia przez systemy bezpieczeństwa. Techniki obejmują skanowanie portów za pomocą narzędzi takich jak Nmap w celu znalezienia otwartych usług, enumerację DNS w celu odkrycia subdomen oraz "banner grabbing" w celu identyfikacji konkretnych wersji oprogramowania.

Faza 2: Skanowanie

Na podstawie zebranych informacji tester wykonuje ukierunkowane skanowanie podatności, zgodnie z zakresem i oknem testowym. Może użyć skanerów takich jak Nessus lub OpenVAS, lecz analizuje również wyniki ręcznie. Wybiera punkty wejścia o największym znaczeniu dla celu, na przykład nieaktualny serwer WWW, odsłoniętą bazę danych albo źle skonfigurowany zasób chmurowy, który może zapewnić dostęp do dalszej części sieci.

Faza 3: Uzyskanie Dostępu (Exploitacja)

W tej fazie tester wykonuje kontrolowane próby wykorzystania podatności zidentyfikowanych wcześniej, aby sprawdzić, czy można uzyskać dostęp przewidziany w scenariuszu testu. Metoda zależy od podatności i musi ograniczać ryzyko dla systemu. Może to obejmować:

  • Exploity Sieciowe: Użycie frameworka takiego jak Metasploit do uruchomienia znanego exploita przeciwko podatnej usłudze działającej na otwartym porcie. Na przykład, wykorzystanie znanej luki w protokole zdalnego pulpitu Microsoftu w celu uzyskania zdalnej kontroli nad serwerem.
  • Ataki na Aplikacje Webowe: Wykorzystanie powszechnych podatności webowych, takich jak SQL Injection do manipulacji bazą danych, lub Cross-Site Scripting (XSS) do kradzieży ciasteczka sesyjnego użytkownika.
  • Inżynieria Społeczna: To kontrolowany test czynnika ludzkiego. Tester może wysłać uzgodniony e-mail phishingowy, sprawdzając, czy pracownik ujawni hasło na stronie testowej lub uruchomi załącznik. Zakres powinien określać dozwolone działania i sposób przerwania testu.

Uzyskany na początku dostęp często ogranicza się do konta użytkownika o niskich uprawnieniach.

Faza 4: Utrzymanie dostępu

W scenariuszu ataku utrzymanie dostępu oznacza próbę zapewnienia obecności po wylogowaniu użytkownika lub ponownym uruchomieniu systemu. Tester dokumentuje, czy możliwe byłyby mechanizmy trwałości, takie jak dodatkowe konto administracyjne, backdoor albo rootkit. W kontrolowanym teście nie instaluje takich mechanizmów bez wyraźnej zgody i planu wycofania zmian.

Ta faza często obejmuje również eskalację uprawnień. Tester będzie próbował wykorzystać lokalne luki w zabezpieczeniach na skompromitowanej maszynie, aby podnieść swoje uprawnienia z poziomu zwykłego użytkownika do poziomu administratora (root lub SYSTEM), dając mu pełną kontrolę nad systemem.

Faza 5: Ocena wykrywania i śladów

Atakujący może próbować usuwać logi, zmieniać znaczniki czasu i ukrywać narzędzia. Tester ocenia ten scenariusz przez dokumentowanie logów, które wskazywałyby takie działania, oraz przez sprawdzenie, czy systemy monitorowania wykryłyby i pozwoliły prześledzić symulowany atak. Usuwanie logów lub modyfikowanie systemu podczas testu wymaga osobnej zgody i bezpiecznej procedury.

Testy black box, white box i gray box

Testy penetracyjne mogą rozpoczynać się z różnym poziomem wiedzy o środowisku docelowym. Nazwy black box, white box i gray box opisują ilość informacji przekazanych testerowi przed rozpoczęciem pracy.

  • Testy Black Box (czarna skrzynka): Tester otrzymuje minimalne informacje o systemie docelowym, na przykład jego nazwę lub adres IP. Zaczyna z ograniczoną wiedzą, podobnie jak zewnętrzny atakujący. Musi przeprowadzić rekonesans i odkrywanie usług w ramach ustalonego zakresu. Ten typ testu odwzorowuje perspektywę zewnętrznego przeciwnika, lecz może trwać dłużej, a część systemów wewnętrznych może pozostać poza obserwacją.
  • Testy White Box (biała skrzynka): Tester otrzymuje szeroki zestaw informacji o środowisku, który może obejmować diagramy sieciowe, kod źródłowy aplikacji i poświadczenia administracyjne. Ułatwia to szerokie sprawdzenie systemu oraz wykrycie podatności pomijanych w teście black box. Ten wariant może symulować zagrożenie ze strony pracownika wewnętrznego z rozległą wiedzą.
  • Testy Gray Box (szara skrzynka): Tester otrzymuje ograniczone informacje, na przykład dane logowania standardowego użytkownika. Może pominąć część początkowego rekonesansu i skupić się na podatnościach dostępnych z perspektywy tego użytkownika, takich jak błędy umożliwiające eskalację uprawnień. Wariant ten łączy krótsze przygotowanie z perspektywą częściowo zewnętrznego użytkownika.

Raport z testu penetracyjnego

Test penetracyjny kończy się raportem opisującym zakres, metody, ustalenia i ryzyko. Szczegółowy raport pomaga organizacji zaplanować usunięcie podatności, zmiany konfiguracji i działania wykrywające.

Dobry raport zazwyczaj zawiera:

  • Podsumowanie dla Kierownictwa: Ogólny, nietechniczny przegląd ustaleń, wyjaśniający ryzyko biznesowe w sposób zrozumiały dla zarządu.
  • Ustalenia Techniczne: Szczegółowa, krok po kroku narracja ścieżki ataku, wyjaśniająca, które podatności zostały znalezione i jak dokładnie zostały wykorzystane.
  • Dowody: Zrzuty ekranu, wyniki poleceń i inne dowody dokumentujące wynik testu oraz uzyskany dostęp.
  • Ocena Ryzyka: Każda podatność otrzymuje ocenę ryzyka, na przykład Krytyczne, Wysokie lub Średnie. CVSS opisuje dotkliwość techniczną, a organizacja może połączyć ją z wpływem biznesowym wykorzystania podatności.
  • Zalecenia Naprawcze: Jasne, praktyczne kroki, które organizacja może podjąć, aby naprawić każdą zidentyfikowaną podatność.

Raport powinien podawać daty testu, ograniczenia zakresu, źródła dowodów, objęte zasoby oraz sposób potwierdzenia naprawy. Powinien rozróżniać uzyskany dostęp od hipotetycznego wpływu i chronić dane uwierzytelniające, dane osobowe oraz pozostałe wrażliwe dowody.

Test penetracyjny pokazuje, które ścieżki ataku są możliwe w ustalonych warunkach, jaki mają wpływ oraz jakie zabezpieczenia i mechanizmy wykrywania wymagają poprawy. Te informacje wspierają priorytetyzację działań naprawczych. Raport powinien też wskazywać ograniczenia testu, techniki wyłączone z zakresu i zalecany sposób ponownej weryfikacji. Sam wynik nie stanowi dowodu, że poza zakresem nie istnieją inne podatności.

Powiązane artykuły