Jak zostać pentesterem? Odpowiada 21 polskich fachowców z branży

dodał 5 marca 2016 o 18:57 w kategorii Info  z tagami:
Jak zostać pentesterem? Odpowiada 21 polskich fachowców z branży

Rynek na gwałt szuka pentesterów i wiele osób zastanawia się, czy zacząć swoją karierę od tego zawodu lub czy się przekwalifikować. Co trzeba w sobie mieć, by zająć się pentestami? Zapytaliśmy kilka osób.

W ostatnich dniach lista dyskusyjna OWASP zapełniła się ogłoszeniami o pracy. Wszyscy na gwałt szukają pentesterów, których jak widać na rynku brakuje. Czy oznacza to, że bycie pentesterem wcale nie jest takie proste? Poniżej znajdziecie 21 wypowiedzi polskich fachowców z branży bezpieczeństwa. Wielu z nich pracowało lub pracują jako pentesterzy, część pentesterów chce zatrudnić lub od lat zatrudnia, a wszyscy wiedzą o czym mówią bo osiągnęli w branży bezpieczeństwa wymierny sukces. Odpowiedzi zamieszczamy w losowej kolejności. Pytanie brzmiało „Jak zostać pentesterem”. Każdy miał przysłać 3 zdania, ale niektórzy nie mogli się powstrzymać. Niestety nie wszyscy mogli się podpisać imieniem, nazwiskiem i nazwą firmy. Pozdrawiamy te firmy.

Klasyczny wizerunek pentestera

Klasyczny wizerunek pentestera

Piotr Konieczny, Niebezpiecznik.pl

Aby móc coś rzetelnie przetestować pod kątem bezpieczeństwa, dobrze jest najpierw w pełni zrozumieć jak to coś działa albo od czego zależy – dlatego tym, którzy chcą zostać pentesterem sugeruję najpierw rozpocząć karierę programisty (aplikacji webowych lub mobilnych) albo administratora systemów, a dopiero po paru latach doświadczenia w zawodzie zacząć mocniej nadbudowywać swoją wiedzę o aspekty bezpieczeństwa znanych już rozwiązań (języków programowania, systemów, technologii, etc.). To może być czasami tak łatwe jak wpisanie do Google „foobar +(vulnerability OR security)” albo tak pracochłonne jak kilkutygodniowe czytanie kodu źródłowego. Jedno jest pewne, samo przeczytanie o danej podatności nie pozwoli jej tak zrozumieć, jak jej wykorzystanie w praktyce, ale w tym pomóc mogą zarówno płatne szkolenia jak i darmowe serwisy takie jak vulnhub.com.

Wojciech Dworakowski, Partner Zarządzający, SecuRing

Nie jest to zawód którego można się nauczyć w teorii (nawet przygotowując się do OSCP). Wiedzę zdobywa się w projektach ale żeby w nich uczestniczyć trzeba… już być pentesterem. Polecam szukać firm które potrafią i chcą zainwestować w „wychowanie” pentestera. Na początek najistotniejsze jest duże zainteresowanie tematem (czytanie, eksperymentowanie, spotkania OWASP, itp.), instynkt do szukania dziury w całym i choćby minimalne doświadczenie zdobyte przy aplikacjach szkoleniowych, programach bug bounty czy mniejszych zleceniach. Dobrze sprawdzają się „przechrzczeni” programiści lub administratorzy.

Michał Sajdak, pentester i trener w Securitum

Hackuj, hackuj i jeszcze raz hackuj. Tylko koniecznie w 100% legalnie. Metasploitable, rozwal.to, OWASP WebGoat. Można nawet od razu zarabiać (oficjalne programy bug bounty). Staż w jednej z firm pentesterskich (hackujesz realne systemy, ucząc się od bardziej doświadczonych).

Mateusz Kocielski, pentester, LogicalTrust

Rób robotę, chłoń wiedzę i nie zastanawiaj się czy chcesz pracować zdalnie czy lokalnie, czy chcesz mieć multisport, piłkarzyki, jeździć do Kataru itd. Naucz się porządnie programować, wyjdź poza webappki, zrozum jak działają różne technologie i rozwiń w sobie ciekawość, które nie pozwoli Ci zasnąć jak nie zrozumiesz dlaczego jakiś webservice odpowiada z kodem 500 jak wrzucisz tam ciąg „apudapud”. Dodam, że najlepsi pentesterzy jakich znam, to ludzie, którzy wcześniej byli administratorami, programistami, …, i pewnego dnia się zorientowali, że w sumie to o bezpieczeństwie wiedzą więcej niż o konfiguracji sendmaila.

Przemek Jaroszewski, Kierownik Zespołu Działań Operacyjnych, CERT Polska, NASK

Podstawowa cecha niezbędna pentesterowi to zamiłowanie do psucia rzeczy w dobrym tego słowa znaczeniu – rozbierania ich na czynniki pierwsze żeby zobaczyć jak działają i co się stanie, gdy śrubki skręci się trochę inaczej niż producent zaplanował. Dalej wymieniłbym solidną wiedzę techniczną, pozwalającą na jak najlepsze zrozumienie środowiska, w którym działa testowane rozwiązanie, oraz cierpliwość i systematyczność. Żeby zrobić z tych cech użytek, warto rozpocząć od podpatrzenia jak robią to inni (lektury materiałów, przykładów, ćwiczeń), a wreszcie przejść do praktyki – byle nie były to „niezamówione testy bezpieczeństwa”!

Bartosz Kwitkowski, CTO & Founder, PREBYTES

Nim zostaniesz pentesterem musisz dokonać samodiagnozy. Przede wszystkim należy być dociekliwym, a wręcz wścibskim. Dodatkowo, trzeba być rzetelnym skrybą, pamiętającym że zawsze jest przyczyna danego zachowania. Później już jest z górki, czyli wystarczy nie walczyć ze standardami a je stosować – OWASP, OSSTMM, PTES. Ponadto, warto zainwestować własny czas w odkrywanie obszarów wiedzy, które są dla Ciebie ciekawe. Pentester powinien (a może musi? ;]) się angażować w swoje „dzieło zniszczenia” w takim samym stopniu jak miałby się przed nim bronić.

Sławek Rozbicki, ekspert bezpieczeństwa informacji, PKO Bank Polski

Od poziomu biegłości w konkretnej technologii bardziej cenie cechy charakteru takie jak kreatywność, dociekliwość i przekorność. Są one fundamentem fascynacji, która napędza głód wiedzy i wynagradza nieprzespane noce.

Mirosław Maj, CISO, ComCERT SA

Zdecydować co się chce tak naprawdę testować, wśród dobrych pentesterów jest daleko posunięta specjalizacja. Poznawać najlepsze dokumenty, standardy, np: OWASP-owe i rekomendowane listy narzędzi. Na koniec jak się chce już na dobre wejść na rynek, a nie jest się pewnym swoich wysokich umiejętności, zdobyć jakiś rozpoznawalny certyfikat;).

Borys Łącki, Owner/Pentester, LogicalTrust

Kolejność – od góry – najważniejsze.

Jak zacząć?

  1. Praktykować/Testować – hackme, CTF, testy różnego oprogramowania we własnym labie – pamiętaj, że „niezamówione pentesty” mogą skończyć się źle :)
  2. Czytać – owasp.org, writeupy CTF/bugbounty, Twitter, RSS, IRC, koleżanki i koledzy
  3. Zacytuję kogoś bardzo mądrego „rozwiń w sobie ciekawość”

Zalety wyborowego pentestera:

Twarde:

  • Posiada doświadczenie w testach bezpieczeństwa – im więcej testował w praktyce tym lepiej
  • Zdobywa wiedzę teoretyczną – czyta blogi, opisy, rozwija się w kwestii security
  • Lubi szukać niesztampowych rozwiązań – także w życiu. Potrafi szerzej spojrzeć na każdy problem (z dystansu), a nie mówić „W instrukcji napisali, że się nie da”
  • Posiada „background” techniczny – np. były programista, były administrator

Miękkie:

  • Ogólnie pojęta komunikacja na wysokim poziomie – werbalnie lub/i cyfrowo
  • Rozumie to co robi (technicznie). Rozumie podatność i potrafi ją wytłumaczyć np. opisując/omawiając
  • Działanie w zespole – Wie, że dzielenie się wiedzą sprawia, że dzięki pracy zespołowej wyniki testów będą lepsze
  • Zrozumienie, że zazwyczaj test bezpieczeństwa to nie CTF – nie trzeba rozwiązać konkretnej zagadki, znaleźć SQL Injection lub RCE i wtedy otwierać szampana. To systematyczna praca, w której „od A-Z” należy przetestować aplikację tak by po testach Klient podniósł bezpieczeństwo swoich zasobów czyli wykryte podatności zostały naprawione, programiści/testerzy zrozumieli problemy bezpieczeństwa, przedyskutowano model zagrożeń i dobrano testy do konkretnej potrzeby biznesowej. „Zazwyczaj” bo co jakiś czas zdarzają się testy nastawione na konkretny efekt np. kradzież informacji firmowych
  • Umiejętność zachowania porządku, systematycznej pracy (#dostępność), dokumentacji własnej pracy (#integralność)
  • Wie, że chce być najlepszy i chce się temu działaniu poświęcić – pomiędzy ćwiczeniami karate, basenem, oglądaniem kotów na YT i w weekend – nie zostaniesz profesjonalistą
  • Ego/Skromność – skromny pentester to pentester, który nie opowiada na imprezach, że dziś znalazł RCE w największym serwisie WWW w kraju (#poufność)

Anonimowy Reverse Engineer

Jak byłem mały to rozkładałem samochodziki na części składowe, bo dorośli nie chcieli mi wytłumaczyć jak działają. Jak dorosłem to zacząłem się zastanawiać jak działa złośliwe oprogramowanie, bo to było jedyne oprogramowanie, które nie deklarowało jasno co robi. Wziąłem kilka prawdziwych próbek z Internetu i zacząłem je analizować, szukając przy okazji technik, które mi by pomagały. Polecam taką praktykę wszystkim, którzy chcą zacząć swoją karierę w bezpieczeństwa – bądźcie ciekawi jak coś działa i nigdy nie dajcie sobie wmówić, że coś jest magią!

Anonimowy bezpiecznik z sektora finansowego

Ja zacząłem od różnych języków programowania – tworzyłem programy na własny użytek. Testując swoje wytwory okazywało się, że programy nie były perfekcyjne i dopisywałem dodatkowe linie kodu, które np. sprawdzały zmienne, itp. I tak w kółko :) Uogólniając – bezpieczne programowanie.

Tworzone aplikacje wymagały jakiegoś serwera – na przykład apache. No wiec instalacja, konfiguracja różnych usług, a następnie ich łatanie :). Sprawdzałem za pomocą ogólnodostępnych exploitów czy posiadam jakąś podatną usługę – ale wtedy robiłem to dla czystej zabawy ;) Uogólniając – administracja, serwery linuxowe, instalacja, konfiguracja

W późniejszym czasie przydatne okazywały się dystrybucje takie jak Backtrack, które oferowały zestaw gotowych narzędzi. Tworzyłem małe laby (zazwyczaj złożone z kilku maszyn vm) i na nich testowałem różne narzędzia. W ten oto sposób udawało się osiągać różne, mniejsze bądź większe sukcesy.

Ostatnimi laty popularne są różnego typu ctfy – chociażby tak jak ten na sekurak.pl. Stanowią świetną zabawę i wiedząc, że jest jakiś problem/bug w aplikacji, za wszelką cenę staram się go odnaleźć ;). To wszystko przełożyło się na moją obecną pracę – pracuję w bezpieczeństwie i można powiedzieć, że na podstawie tego, co uzyskałem „bawiąc się”, mogę przełożyć na dotychczasowe bezpieczeństwo różnych, produkcyjnych produktów.

Specjalista ds. Bezpieczeństwa Systemów IT w dużej korporacji

Chcesz zostać pentesterem? Zacznij myśleć jak atakujący. Musisz potrafić trafnie wiązać pewne fakty, być dociekliwym, szybko i dużo się uczyć. To ciężka praca, ale sprawiająca mnóstwo satysfakcji.

Robert Jaroszuk, Penetration Testing Specialist, Royal Bank of Scotland

Trzeba wypracować w sobie odpowiednie nastawienie – samodzielność, umiejętność rozwijania się, motywowania się, postrzegania problemów jako wyzwania, poszukiwania rozwiązań. Później warto zdobyć doświadczenie, aby rozumieć systemy, z którymi ma się do czynienia. Warto otrzeć się np. o administrację systemami, sieciami, o programowanie. Zdobywanie doświadczenia powinno cały czas być ukierunkowane na bezpieczeństwo, na rozumienie zagrożeń, na nastawienie „a jak bym zaatakował ten system?” itp. I na koniec – trzeba umieć pisać i mówić, aby potrafić przekazać klientowi swoje spostrzeżenia. Nikt nie zapłaci wielu tysięcy złotych za raport, z którego nic nie zrozumie, bo pentester nie potrafił się wysłowić.

siefca, BAD[SECTOR].PL

Oczywiście najpierw trzeba poznać Lispa. To taki język z dużą liczbą nawiasów. Najmocniejszy pod względem zdolności wyrazu język programowania ogólnego przeznaczenia. Gdy już to zrobisz, musisz nauczyć się Elispa – dialektu, na bazie którego możesz konfigurować wszechświat edytora Emacs. Znając Emacsa jesteś już w połowie drogi – szukasz niezałatanego Sendmaila i niszczysz go, przenikając potrójną ścianę ognia. Jak prawdziwy, uniksowy nindża. Musisz tylko uważać, żeby nie wpuścili cię w fejka. To jest droga prawdziwego pentestera, która zostawia krwawe odciski na skodowanych opuszkach palców i pachnie wczorajszym paprykarzem. Gdy ją zrealizujesz, możesz pro forma zrobić sobie cztery certyfikaty i mienić się hardkorem. Naturalnie same umiejętności mało dziś znaczą. Warto byś miał swój styl i poznał tzw. kulturę hakerów. Możesz ubierać się w dziwne ciuchy, albo być konsumentem dobrego kina. Na początek warto obejrzeć „The Hackers” – film fabularny opowiadający o perypetiach zakochanego siedemnastolatka, który uczy się pływać z dziewczyną, bo ma szlaban na komputer.

Cezary Piekarski, Head of Security, Bank Millennium

Jednym z najistotniejszych czynników jest grupa która nas motywuje i w ramach której możemy wymieniać się wiedza. Znajdz lub sam załóż lokalny hackerspace i/lub grupe znajomych o podobnych zainteresowaniach. Nie rezygnuj z gruntownej, szerokiej edukacji informatycznej. Ale przede wszystkim dbaj o utrzymanie stałego, wysokiego poziomu zaciekawienia tym jak dzialaja rzeczy.

Marcin Ludwiszewski, Dyrektor Działu Cyberbezpieczeństwa Deloitte Polska

W mojej skromnej ocenie najlepsi pentesterzy to pasjonaci, osoby, które często od młodzieńczych lat są związane z programowaniem i sieciami. Przejawiają chęć ciągłego rozwoju, znają od podszewki funkcjonowanie sieci na poziomie infrastruktury, protokołów sieciowych, mają wiedzę o funkcjonowaniu aplikacji, umieją programować w rożnych językach. Mają doświadczenie w pracy w róznych technologiach i środowiskach. Ale przede wszystkim też są to osoby rozumiejące słabości wykorzystywanych narzędzi do testowania, które same tworzą i są w stanie tworzyć swoje narzędzia. Jednocześnie osoby te umieją rozmawiać o wynikach swojej pracy w szerszym kontekście (i różnych językach – nie mówię tutaj tylko o j. programowania ;), dodatkowo przy dużych projektach osoby te powinny być w stanie pracować w zespołach. Mi najlpiej pracuje się też z ludźmi, którzy mają poczucie humoru i dystans do pewnych spraw.. :)

Jeśli ktoś chciałby zacząć karierę jak pentester, to warto o ile nie przyjdzie mu to naturalnie (np. zapewne wielu z nas obecnych w branży w rożnych dziedzinach – nie tylko jako pentesterzy, w wieku kilku lat zaczynalo od programowania w basic na c64 i a później było częścią tzw. amigowej sceny, itd.. ;), to warto nastawić się na praktyczne zrozumienie programowania, aplikacji, sieci. Zakładając, że sprawia ci to przyjemność, warto inwestować samemu w wiedzę (książkową i praktyczną), być cierpliwym i próbować uczestniczyć w różnych ciekawych projektach a przede wszystkim uczyć się od innych. Nic nie zastąpi wiedzy i doświadczenia, kiedy ‚grasz’ wśród lepszych od siebie.

Wojtek Bojdoł, niezależny kontraktor, Secure apps ltd

Wydaje mi się, że trzeba by wyróżnić kilka specjalizacji u pentesterów – ludzie od (web)aplikacji oraz „sieciowcy”. W tej pierwszej grupie podobno najlepiej sprawdza się wypalony zawodowo programista. Taki, który widział wszystko z tej ‚drugiej strony’, próbował współpracować, ale ma już dość widząc po raz kolejny brzydki kod i rozwiązania pisane na kolanie.
Druga grupa to moim zdaniem osoby specjalizujące się w analizie infrastruktury, poszukiwaniu i identyfikacji urządzeń/aplikacji pracujących w danej „sieci”, wykorzystywaniu błędów w konfiguracji i (zbyt wolnym) procesie aktualizacji. W tej grupie dobrze pewnie będzie się sprawdzał devops-emeryt, lub ex-pracownik dużego providera. Czy można być dobrym pentesterem w obu obszarach? Na pewno jest to coraz trudniejsze.

Radek Kaczorek, CEO, IMMUSEC

Kiedy budowałem swój pierwszy zespół bezpieczeństwa blisko 20 lat temu przekonałem się, że pentester to stan umysłu a nie umiejętności i wiedza. Jeśli potrafisz nie spać wiele nocy z rzędu, żeby znaleźć odpowiedź na nurtujące cię pytanie, to jesteś na dobrej drodze. Jeśli potrafisz nawet najbardziej skomplikowany problem rozłożyć na części pierwsze, a niechętnie poświęcasz czas tematom, które cię nie interesują to masz wszystko co jest potrzebne do odniesienia sukcesu. Całej reszty można się nauczyć.

evilrez

1. Poznaj technologie: podstawowe konstrukcje języków w jakich tworzone są systemy/aplikacji (dla webowego pentestera: Java, Ruby lub Python, Javascript, HTML 4/5) i najczęściej używane protokoły (idąc tropem web’a: rodzina RFC dla HTTP, SSL/TLS jak i źródła opisujące jak zachowują się przeglądarki i dodatki do nich względem RFC – Browser Security Handbook, itp.).

2. Poznaj znane i popularne metody ataków, aby nie wymyślać no nowo koła: OWASP Testing Guide, OWASP Code Review (jeśli dotykasz kodu), książki z rodziny Web Application Hacker’s Handbook – idąc do jednego, mięsistego miejsca, zaoszczędzisz dużo czasu na szukanie sensownych źródeł, wróć do tego jak skończysz etap 3.

3. Poznaj metody modelowania zagrożeń (threat modeling), które pozwolą Ci poza radosnym testowaniem, ułożyć pentest w choćby ramowy plan, lepiej zrozumieć testowany system i nie robić z każdej podatności „CRITICAL”’a, co często odróżnia napalonego pentestera od dojrzałego profesjonalisty – zarządzaj krytycznością świadomie, nie emocjonalnie.

Teraz masz duże szanse by dostać pracę jako pentester i zacząć właściwy rozwój w tej działce.

Robert Pająk, Head of Information Security, Base

Jest wiele sposobów na to aby zostać pentesterem. Generalnie upraszczając jest to coś czego można sie nauczyć – każdy oczywiście przyswaja wiedzę w specyficzny dla siebie sposob. Ze swojej strony chciałbym jednak zwrócić uwagę na to, ze nie chodzi tu stricte o naukę w jaki sposob używać narzędzi, czy poznanie metodyk (chociaz warto znać jedno i drugie) ale raczej o wykształcenie w sobie dwóch kwestii. Pewnego nawyku myślenia opartego na dogłębnej chęci rozumienia przedmiotu/obiektu testów, oraz swoistej dyscypliny w myśleniu. Nie zawadzi też garść kreatywności – dla mnie testy penetracyjne to rodzaj sztuki i podobnie jak można poznać zasady rysowania ale nie czyni nas to artystą tak i czysta teoria to za mało. Za najważniejsze w tej specjalizacji uważam praktykę oraz doświadczenie, checklisty pozwalają nam po prostu o niczym nie zapomnieć.

Piotr Szeptyński, ISEC

Z perspektywy firmy dostarczającej usługi bezpieczeństwa, ale przede wszystkim jej klientów, dobry pentester to ten, który rozumie istotę oraz cele realizowanych projektów. Ważne jest zatem to, by szukając i wykorzystując podatności w badanej aplikacji, mieć świadomość oczekiwań klienta, który najczęściej nie doceni (całkiem dosłownie) czasu i wysiłku poświeconego na „research” – nawet najbardziej złożony – nad konkretnym błędem. Wyniki testu muszą dla klienta nieść wartość w postaci rzetelnej i obiektywnej opinii na temat prawdopodobieństwa i skutków wykorzystania zidentyfikowanych podatności. Sprzyja temu dociekliwość, dokładność i poszerzanie przez pentestera horyzontów, także w pozatechnicznych dziedzinach związanych z bezpieczeństwem IT i informacji w ogóle.

Komentarz redakcji

Dziękujemy wszystkim, którzy podzielili się swoim doświadczeniem i opinią. Zapraszamy także do dyskusji w komentarzach. Można łatwo zauważyć, że niektóre wątki w powyższych wypowiedziach przewijają się częściej niż inne. Jakie? Dobry pentester sam je znajdzie, bo musi ćwiczyć spostrzegawczość, korelację i wyciąganie wniosków.