32 220 35 21 biuro@omegasoft.pl


Chcesz zostać pentesterem? To jedna z najpopularniejszych form pracy w branży bezpieczeństwa. Pentesterzy odpowiadają za wykonywanie testów penetracyjnych, które w wielkim skrócie można porównać do kontrolowanych ataków hakerskich. Dzięki nim organizacja może przekonać się, jak w praktyce sprawdzają się rozwiązania, które zastosowano dla zapewnienia jej cyberbezpieczeństwa.

Aby być pentesterem, musisz więc myśleć jak haker… aby go przechytrzyć. Potrzebna Ci jest odpowiednia wiedza, umiejętność wyszukiwania informacji i odrobina sprytu. Dowiedz się, na czym dokładnie polega pentesting, jakie są rodzaje pentestów i jakie warunki musisz spełnić, aby zostać pentesterem.

Pentesty – czym są?

Pentesty, zwane też testami penetracyjnymi lub testami bezpieczeństwa IT, to kontrolowane, symulowane ataki hakerskie na systemy informatyczne. Ich celem jest ocena skuteczności posiadanych w organizacji rozwiązań bezpieczeństwa. Stanowią formę etycznego hakowania.

Pentesty sprawdzają, jaki jest stan bezpieczeństwa danych zasobów informatycznych. Do zasobów tych mogą należeć sieci, różnego typu aplikacje (mobilne, webowe, desktopowe), a także cała infrastruktura IT.

Rolą pentestera jest znalezienie błędów – luk w zabezpieczeniach i podatności na cyberzagrożenia – w oprogramowaniu stosowanym w danej organizacji. Podczas pentestów wykonuje on analizę obszarów pod kątem potencjalnych błędów bezpieczeństwa spowodowanych różnymi niedociągnięciami, np. niewłaściwą konfiguracją, słabościami w rozwiązaniach technicznych lub proceduralnych, niewystarczającą świadomością użytkowników itp.

Aby pentest był skuteczny, powinien jak najbardziej przypominać prawdziwy cyberatak. Pentesterzy naśladują strategie i działania osób atakujących, aby ocenić możliwości włamania się do systemów komputerowych organizacji, sieci lub aplikacji internetowych. Celem jest znalezienie wszystkich słabych punktów, zanim zrobią to cyberprzestępcy.

Pentesty powinny służyć sprawdzeniu poszczególnych elementów systemu, takich jak:

  • funkcjonowanie sieci
  • konfiguracja firewalla, 
  • konfiguracja baz MYSQL/SQL,
  • konfiguracja serwerów poczty SMTP,
  • ustawienia FTP,
  • aplikacje sieciowe,
  • oprogramowanie używane po stronie klienta,
  • przeglądarki internetowe,
  • odtwarzacze multimediów,
  • pakiety biurowe,
  • struktura sieci bezprzewodowej.

Elementem pentestów powinny być również testy socjotechniczne, dokonujące oceny personelu obsługującego system informatyczny. Takie testy obejmują próby nakłonienia pracowników do udostępnienia pentesterowi istotnych informacji umożliwiających na przeprowadzenie ataku. Mogą to być np. maile zawierające załączniki będące oprogramowaniem szpiegującym lub próby wyłudzenia haseł do systemu.

Pentesty kończą się raportem, który zawiera informacje o wszystkich wykrytych podatnościach oraz propozycje rozwiązań, które mają wyeliminować te podatności lub ograniczyć możliwość ich wykorzystania przez prawdziwych atakujących.

Rodzaje pentestów

Zwykle wyróżnia się trzy rodzaje testów penetracyjnych – black box, white box i grey box. Kryterium stanowi tu poziom wiedzy pentestera na temat systemu informatycznego klienta.

  • Black Box Pentest (test czarnej skrzynki) – zwany też testem penetracyjnym z minimalną wiedzą. Pentester ma w tym wypadku taką wiedzę o systemie, jak ewentualny włamywacz – zna np. wyłącznie adres strony internetowej klienta. Nie wie nic na temat testowanego obszaru oraz nie posiada uprawnień dostępu i dostępu do schematów/architektury.

Pierwszą fazą Black Box Pentest jest zbieranie informacji. Następnie pentester bazuje na błędach w zabezpieczeniach, które sam znalazł. Zazwyczaj do określenia podatności systemu na włamania wykorzystuje się tu automatyczne oprogramowanie. Uzyskane wyniki analizuje doświadczony specjalista ds. zabezpieczeń.

Wadą testu czarnej skrzynki jest ryzyko poświęcenia przez pentestera nieproporcjonalnie dużej ilości czasu na na działania bezproduktywne, takie jak np. próba złamania hasła, podczas gdy włamywacz może przejąć je innymi sposobami – np. za pomocą phishingu lub innych, nielegalnych metod.

  • White Box Pentest (test białej skrzynki) – inaczej test penetracyjny z pełną wiedzą lub Crystal Box Pentest. W tym przypadku pentester ma pełny dostęp do dokumentacji projektowej, kodu źródłowego, konfiguracji urządzeń sieciowych, adresów IP, informacji o używanych systemach operacyjnych itd. Posiada też uprawnienia dostępu i dostęp do schematów/architektury.

W przypadku White Box Pentest praca pentestera w dużym stopniu polega na analizie kodu źródłowego. To dobry sposób na wykrycie ewentualnych metod ataku z zewnątrz, ale też skuteczna metoda analizy niebezpieczeństwa ataku z wewnątrz organizacji. Ten typ testu daje też możliwość znalezienia błędów popełnionych podczas projektowania systemu.

Wadą testu białej skrzynki  jest możliwość pominięcia rozbieżności pomiędzy stanem udokumentowanym a stanem faktycznym.

  • Grey Box Pentest (test szarej skrzynki) – w tym przypadku pentester otrzymuje  częściowe informacje na temat badanego obszaru. To rozwiązanie będące kompromisem pomiędzy black box i white box, zawierające elementy obu podejść.

Test szarej skrzynki ma w założeniu modelować atak dokonany przez cyberprzestępcę, który zdobył już pewne informacje pochodzące z wewnątrz organizacji. Pentester nie powinien mieć jednak dostępu do kodu źródłowego.

Warto zwrócić tu uwagę, że test penetracyjny nie jest tym samym, co audyt bezpieczeństwa teleinformatycznego. Audyt opiera się na  formalnej specyfikacji stanu pożądanego – ma za zadanie określić stopień zgodności audytowanego obiektu ze specyfikacją. Pentest określa faktyczny stan bezpieczeństwa danego obiektu i nie musi opierać się na szczególnej normie czy akcie prawnym.

6 etapów testów penetracyjnych

Ogromną zaletą pentestów w porównaniu z innymi metodami oceny cyberbezpieczeństwa jest fakt, że można je dostosować do dowolnej branży lub organizacji. Techniki, metodologie i narzędzia testowania mogą się różnić w zależności od infrastruktury, personelu IT i standardów firmy, jednak ich podstawowy schemat pozostaje ten sam. Poniższy sześcioetapowy proces przeprowadzania pentestów pozwala na uzyskanie wyników, pomagających organizacjom w aktywnym aktualizowaniu ich protokołów bezpieczeństwa.

1. Przygotowanie

W zależności od potrzeb organizacji, ten krok może być prostą lub skomplikowaną procedurą. Jeśli organizacja nie zdecydowała, które podatności chce ocenić, należy poświęcić znaczną ilość czasu i zasobów na przeszukanie systemu pod kątem możliwych punktów wejścia. Zwykle jest to konieczne dla firm, które nie przeprowadziły jeszcze pełnego audytu swoich systemów.

2. Skonstruowanie planu ataku

Przed zatrudnieniem pentesterów dział IT opracowuje cyberatak lub listę cyberataków, których należy użyć do przeprowadzenia pentestu. Na tym etapie ważne jest również określenie, jaki poziom dostępu do systemu ma mieć pentester.

3. Wybór pentesterów

Sukces testu penetracyjnego zależy w dużej mierze od kompetencji osób, które go przeprowadzą. Wyznaczenie odpowiednich pentesterów wiąże się z posiadaną przez nich specjalizacją – np. jeśli firma chce przetestować swoje bezpieczeństwo w chmurze, ekspert ds. chmury może być najlepszą osobą do właściwej oceny jej cyberbezpieczeństwa. 

4. Określenie typu danych

W kolejnym kroku należy wskazać, w jakie dane ma celować zespół pentesterów. Typ danych wybrany na tym etapie może mieć głęboki wpływ na narzędzia, strategie i techniki wykorzystywane do ich pozyskiwania.

5. Wykonanie testu

Jest to jedna z najbardziej skomplikowanych części procesu testowania. Istnieje wiele zautomatyzowanych programów i technik, z których mogą korzystać testerzy, w tym Kali Linux, Nmap, Metasploit i Wireshark. Ich wybór zależy od rodzaju danych, w jakie celuje pentester, a także od wiedzy, doświadczenia i umiejętności pentestera.

6. Zinterpretowanie wyników raportu

Raportowanie to najważniejszy etap procesu. Wyniki muszą być szczegółowe, aby organizacja mogła je uwzględnić.

Kto przeprowadza pentesty?

Analiza systemu oraz symulowany atak hakerski przeprowadzany jest z perspektywy potencjalnego włamywacza, czyli tzw. etycznego hakera. To stanowisko nosi nazwę testera penetracyjnego lub w skrócie – pentestera.

Najlepiej, gdy pentesterzy pochodzą spoza organizacji, którą testują, aby jak najmniej znali testowane środowisko lub nie znali go wcale. Tylko wtedy mają szansę obiektywnie spojrzeć na obszar badań, co pozwala wyłapać znacznie więcej luk i nieścisłości, niż wtedy, gdy zna się środowisko od podszewki. Profesjonalny pentester zauważy błędy, których nie są w stanie dostrzec programiści, którzy budowali dany system.

Pentesterzy powinni posiadać odpowiednią wiedzę i praktykę, aby ich działania były skuteczne. Dobrze, aby mieli doświadczenie jako programiści lub osoby zarządzające infrastrukturą IT. Powinni dobrze orientować się w cyberzagrożeniach, a także najnowszych metodach stosowanych przez hakerów.

Zdarza się, że organizacje samodzielnie wykonują pentesty – do ich przeprowadzenia korzystają wtedy ze specjalnego oprogramowania. Takie testy mają jednak wiele ograniczeń i nie są tak skuteczne, jak te przeprowadzone przez profesjonalnych, doświadczonych pentesterów.

Jakie umiejętności trzeba posiadać, aby zostać pentesterem?

Pentester to zawód, który wzbudza obecnie sporo zainteresowania. Aby zostać specjalistą w tej dziedzinie, konieczne jest posiadanie odpowiedniej wiedzy i doświadczenia. Co jest istotne, a co nie w zawodzie pentestera? Przeanalizujmy kilka kluczowych kwestii.

Studia

Teoretycznie studia wyższe nie są konieczne do podjęcia pracy jako pentester, jednak może się zdarzyć, że ich brak zaważy na przyjęciu lub nie na wymarzone stanowisko. Jest to jednak coraz rzadszy wymóg. Pamiętaj jednak, że studia dają solidne podstawy wiedzy, które przydadzą Ci się w pracy.

Znajomość programowania

Teoretycznie ta umiejętność nie jest konieczna, by zostać pentesterem, jest jednak bardzo przydatna, a w niektórych przypadkach wręcz niezbędna. Znajomość dowolnego języka programowania pozwala zrozumieć, jak działają różnego rodzaju procesy i funkcjonalności, a także umożliwia tworzenie własnych narzędzi do przeprowadzania testów. Wiedza z zakresu programowania sprawia, że przeprowadzanie pentestów staje się dużo łatwiejsze.

Obsługa Windows/Linux

Aby pracować jako pentester, musisz mieć podstawowe umiejętności z zakresu obsługi Windowsa, a najlepiej również Linuxa.

Wiedza o działaniu sieci

Pentester musi mieć wiedzę na temat działania sieci Internet – umieć wyjaśnić, czym jest routing, czym różni się protokół http od https itp. Powinien poznać od podszewki funkcjonowanie sieci na poziomie infrastruktury, protokołów sieciowych oraz licznych języków programowania.

Maszyny wirtualne

Kolejną konieczną umiejętnością jest korzystanie z maszyn wirtualnych, np. VMware, VirtualBox.

Certyfikaty, kursy i szkolenia

Certyfikaty nie są konieczne, jednak segregują zdobytą wiedzę i potwierdzają Twoje umiejętności. Warto postawić tu zwłaszcza na te, które w głównej mierze opierają się na praktyce – np. w ramach kursu dają dostęp do jakiegoś przygotowanego laboratorium, w którym czeka Cię szereg zadań praktycznych. Pamiętaj – liczy się jakość, a nie ilość. Najbardziej znana certyfikacja to CEH (Certified Ethical Hacker).

Znajomość IDE

Zintegrowane środowisko programistyczne, czyli IDE to program lub zespół programów służących do tworzenia, modyfikowania, testowania i konserwacji oprogramowania. Pentester powinien mieć umiejętność edycji kodu źródłowego, baz danych, komponentów i innych.

Znajomość OWASP Top 10

OWASP Top 10 to zbiór 10 najpopularniejszych podatności (czyli błędów), które występują na stronach internetowych. Daje pentesterowi poglądowy zakres tego, z czym będzie się mierzyć podczas wykonywania testów penetracyjnych. To pewnego rodzaju standard w branży – każdy szanujący się pentester wie, co to OWASP TOP 10, jakie błędy się tam znajdują i jak ich poszukiwać.

Znajomość  Burp Suite Community Edition

Burp to narzędzie, którego jedną z funkcji jest przechwytywanie requestów HTTP oraz ich modyfikacja w trakcie przesyłania do serwera. Pomaga w analizie różnych scenariuszy ataku.

Znajomość innych narzędzi

Jest konieczna do bardziej złożonych testów, np. testów infrastruktury. Przydatne są m.in. NMAP, Metasploit, Kali Linux.

Znajomość języka angielskiego

To bardzo ważna w tym zawodzie umiejętność. Istotna jest zwłaszcza znajomość słownictwa branżowego.

Specjalizacja

Zakres wiedzy, jaka czeka na pentestera, jest ogromny. Aby osiągnąć sukces, warto spróbować zostać specjalistą w jednej dziedzinie – np. dogłębnie poznać ataki XSS lub kwestie bezpieczeństwa chmury. Dzięki temu będziesz w stanie w tym zakresie znajdować błędy, o których inni nie mieli pojęcia.

Kompetencje społeczne i językowe

Na stanowisku pentestera, oprócz wiedzy i umiejętności, istotne są również cechy charakteru, takie jak cierpliwość, systematyczność, samodzielność w działaniu, dążenie do samorozwoju, motywowanie się, umiejętność pracy w zespole. Ważne jest również poprawne, komunikatywne mówienie i pisanie – to niezbędne, aby pentester mógł wytłumaczyć klientowi swoje spostrzeżenia oraz podjęte działania.

Co powinien zawierać raport pentestera?

Pierwszą częścią pracy pentestera jest znalezienie błędów. Równie istotne jest jednak stworzenie raportu, w którym zostaną one dokładnie opisane. Raport to dokument, który pentester przedstawia firmie, która zleciła mu pracę. Pozwala organizacji poznać odnalezione błędy i naprawić je.

Dobrze napisany raport, który jest sporządzony w jasny i czytelny sposób, świadczy o profesjonalizmie i kompetencjach pentestera. Oto co powinno znaleźć się w dobrze sporządzonym raporcie:

  • Opis błędu.
  • Informacje, jakich narzędzi użyto do odnalezienia tego błędu.
  • Opis dodatkowych, specjalnych warunków, które są konieczne, aby doszło do błędu – jeśli takie występują.
  • Plik proof of concept (poc), pozwalający na reprodukcję błędu.
  • Impakt dla organizacji – są to przewidywania, jak groźny może być znaleziony błąd, jeśli wykorzystałby ją cyberprzestępca.
  • Wskazówki, jak naprawić znaleziony błąd.

W przypadku mniej znanych podatności warto również dołączyć do raportu odnośniki do stron tłumaczących, na czym on polega. Dobrą opcją jest również przygotowanie materiału wideo, w którym krok po kroku pokażesz, co należy zrobić, aby wykorzystać odkryty błąd.

Ile zarabia pentester?

Branża IT cechuje się dobrymi zarobkami – również na stanowisku pentestera. Wiele firm wydaje gigantyczne pieniądze na ten obszar, dlatego nawet początkujący pentester może spodziewać się satysfakcjonującego wynagrodzenia.

Producenci oprogramowania przykładają dużą wagę do jakości i funkcjonalności swoich produktów, zapominając często o testach bezpieczeństwa. Tu właśnie wkracza pentester – pomaga odkryć luki w oprogramowaniu, dzięki czemu organizacja może uniknąć strat finansowych wynikających z ataków hakerskich. Przekłada się to na zarobki pentesterów.

Początkujący pentester zarabia zwykle około 6000 – 7000 zł netto. Pensja doświadczonego specjalisty to nawet 30 000 – 40 000 zł.