Jak zdałem BSCP?
Wstęp
Zapotrzebowanie na certyfikowanych ekspertów od cyberbezpieczeństwa rośnie. Opiszę tutaj moją drogę do zdobycia certyfikatu Burp Suite Certified Practitioner (BSCP) i jakie wyciągnąłem wnioski z całego procesu przygotowań oraz samego egzaminu.
O mnie
Mam prawie siedem lat doświadczenia jako administrator IT (serwery, sieci, infrastruktura). Dzięki temu dobrze rozumiem, jak działają aplikacje “pod brzuchem” – od sprzętu po użytkownika końcowego. Próbowałem swoich sił w programowaniu (strony, aplikacje na Androida, skrypty), więc potrafię na wystarczającym poziomie czytać kod. To dało mi solidne podstawy do wejścia w testy penetracyjne.
Dlaczego BSCP?
W pewnym momencie kariery potrzebowałem zmiany. Programowanie mnie nie wciągnęło, a trudno było zbudować portfolio dające dobre zarobki. Postanowiłem zostać pentesterem. W 2023 roku próbowałem sił z OSCP, ale oblałem. Zrobiłem krok w tył, by najpierw opanować webówkę.
Co w artykule
Podzielę się doświadczeniami z egzaminu, przydatnymi materiałami i moimi odczuciami. Mam nadzieję, że te wskazówki pomogą Ci przejść ten proces.
Przygotowania
Wymagania techniczne znajdziesz na oficjalnej stronie PortSwigger.
Ważna kwestia, która umknęła mi na początku przygotowań: do zdania egzaminu potrzebujesz licencji Burp Suite Professional. Kosztuje ona 449 USD (plus 99 USD za egzamin). Jeśli w pracy masz dostęp do Burpa w wersji Professional, możesz z niego skorzystać:
“If you have a Burp Suite Professional license, but it is registered under an email domain of the company you work for rather than your personal email address, you will still be absolutely fine, from a technical perspective, to use that license for taking the exam. So long as you have access to a valid, active Burp Suite Professional license at the time of your certification, you will be able to use it to take the exam.”
Materiały
Oto lista przydatnych materiałów, z których korzystałem w trakcie przygotowań:
- PortSwigger: Przeczytałem wszystkie materiały i ukończyłem wszystkie laby, poza tymi z poziomu expert. Możesz je znaleźć tutaj.
- YouTube: Dużo materiałów z tych kanałów dobrze tłumaczy ataki:
- PortSwigger Research Articles: Szczególnie jeśli chodzi o tematykę request smuggling, korzystałem z artykułów w dziale research akademii PortSwiggera.
- Botesjuan Repository: Świetne repozytorium, gdzie autor pokazuje m.in. jak praktycznie wykorzystać podatności w trakcie egzaminu (np. jak ukraść cookie).
- Botesjuan YouTube Playlist: Ta playlista to fajne dodatkowe źródło, tak samo jak kanały z3nsh3ll oraz John Hammond.
- My Own Site: Na własne potrzeby zebrałem wszystko w jednym miejscu, żeby łatwo nawigować między tematami. Znajdziesz to tutaj.
Metodologia nauki
Niezależnie od czego zaczynasz pamiętaj aby złapać powtarzalność. Na początku pozwól sobie być beznadziejnym. Ważne aby regularnie zapoznawać się z materiałami i poznawać nowe zagadnienia.
Początkowe przygotowania
Do przygotowań podszedłem dosyć prosto: przeczytałem wszystkie tematy i wykonałem wszystkie laby w akademii PortSwiggera. Po pierwszym “przejściu” wróciłem do tematów, które sprawiły mi najwięcej problemów, aby nabrać pewności. W tym celu korzystałem dodatkowo z materiałów wymienionych powyżej. Czasami wymagało to kilkukrotnego przeczytania czy obejrzenia materiału. Następnie wykonałem kilka mystery labs.
Metodologia PortSwiggera
Dalej korzystałem z metodologii zaproponowanej przez samych twórców:
“Work through the topics within the academy, completing every apprentice and practitioner-level lab as you go. As you reach the end of each topic, use the mystery labs feature to practice solving the labs with no contextual clues. When you’ve completed all the practitioner-level labs, practice solving mystery labs from all available topics to develop your recon and discovery skills. Then complete a practice exam to familiarize yourself with the exam format. Make sure to read the exam hints and tips, as they contain invaluable information that you’ll need to be successful in the exam.”
Odhaczałem kolejne zagadnienia, wykonując mystery labs dla każdego z nich, by wrócić do tych, które nadal sprawiały mi trudność. W kolejnym kroku korzystałem z mystery labs już bez wyboru tematu, aby – jak to ujęto – „develop recon and discovery skills”. Gdy poczułem się pewniej z wykrywaniem podatności, wykonałem próbny egzamin. Pamiętaj, że ten próbny egzamin jest zawsze taki sam, nie zmienia się przy kolejnych podejściach. Pozwala on jedynie na zapoznanie się w praktyce z formą egzaminu, przećwiczenie zapisywania pliku itp.
Końcówka przygotowań
Każdy ma inne doświadczenie, natomiast w moim przypadku kilka tematów, takich jak request smuggling, ciągle było niejasnych. Dlatego końcówka przygotowań to były na zmianę mystery labs z problematycznych tematów, a następnie losowe zadania ze wszystkich działów.
Ile to zajmie czasu?
Rozpocząłem przygotowania w maju, a egzamin zdałem w styczniu. W trakcie nauki pracowałem na etacie, próbując wcisnąć naukę w każdą wolną chwilę. Każdy ma inne możliwości i wiedzę, natomiast myślę, że okres 6 miesięcy jest bardzo realistyczny, szczególnie jeśli chcesz nie tylko zdać, ale i zrozumieć poszczególne klasy podatności i wykorzystywać je w pracy. Oczywiście, jeśli posiadasz więcej czasu i jesteś mocno zmotywowany, to myślę, że 3-4 miesiące również Ci wystarczą.
Egzamin
Egzamin trwa 2 godziny i za zadanie masz przetestowanie dwóch aplikacji, podobnych do tych z labów. W każdej aplikacji musisz wykonać 3 kroki:
- Uzyskanie dostępu jako “zwykły” użytkownik (zazwyczaj będzie to carlos).
- Podniesienie uprawnień do administratora.
- Odczytanie zawartości pliku
/home/carlos/secretna serwerze.
Więcej szczegółów znajdziesz tutaj.
Moje wskazówki
Mi udało mi się zdać za drugim razem. Tutaj kilka wskazówek ode mnie:
-
Zacznij od aktywnego skanowania: Uruchom aktywne skanowanie dla obu aplikacji jednocześnie. To oczywiście zajmie sporo czasu, ale korzystanie ze skanera przy ograniczonym czasie egzaminu jest niezbędne. Z biegiem czasu, gdy będziesz eksplorował aplikacje i generował nowe żądania, jeśli jakiś fragment wyda Ci się interesujący, wykonaj jego skanowanie (opcje: scan for specific insertion points or requests).
-
Korzystaj z dwóch ekranów: Na jednym ekranie miej cały czas otwartego Burpa, a na drugim przeglądarkę z uruchomioną aplikacją egzaminacyjną i notatkami.
-
Poznaj techniki obfuskacji: Musisz pamiętać, że niektóre podatności nie będą tak łatwe do wykorzystania jak w labach. Większość labów opiera się na podstawowych technikach obfuskacji, natomiast w trakcie egzaminu będziesz musiał trochę pokombinować. Nie pomiń rozdziału na ten temat w module “Essential skills”.
-
Automatyzacja SQL Injection: W trakcie pierwszej próby miałem problem z SQL Injection. Przed drugim podejściem poświęciłem na to więcej czasu i nauczyłem się korzystać z rozszerzenia CO, które pozwala na integrację z sqlmapem. To rozwiązanie znacząco ułatwiło cały proces i zaoszczędziło mnóstwo czasu na pozostałe fragmenty egzaminu.
-
Dodatki i narzędzia: Trzymaj się narzędzi i dodatków, które są polecane w akademii PortSwiggera. Jeśli masz zamiar skorzystać z dodatków (tak jak ja z CO), pamiętaj, aby wcześniej poświęcić czas na naukę ich obsługi. Musisz wiedzieć, jak działają, by nie tracić czasu na egzaminie. Używaj tylko tego, co znasz i rozumiesz.
Przemyślenia
Zdanie egzaminu dało mi ogromną satysfakcję i ulgę. Droga była trudna, ale ostatecznie pogłębiła moją pasję do testów penetracyjnych i bezpieczeństwa sieci.
Przygotowującym się do egzaminu chcę powiedzieć: jeśli tracicie motywację po miesiącach lub latach w obecnej pracy, pamiętajcie, że takie osiągnięcia mogą na nowo rozpalić zapał. Jeśli macie wątpliwości, zapewniam, że moment zdania daje niesamowitą satysfakcję. Znam to z własnego doświadczenia – stworzyłem bloga od zera i napisałem ten post w zaledwie cztery dni. Jeszcze dwa miesiące wcześniej myślałem, że zajmie mi to całe wieki.
Podsumowanie
Podsumowując, moja droga do zdania egzaminu BSCP była zarówno satysfakcjonująca, jak i pouczająca.
W przyszłości chcę dalej zgłębiać wiedzę o bezpieczeństwie. Mój plan to zdobycie doświadczenia jako tester penetracyjny oraz rozwój poprzez platformy CTF. Chciałbym też ponownie podejść do OSCP i kiedyś wystąpić na konferencjach bezpieczeństwa. To marzenie motywuje mnie do dalszej pracy.
Zdobycie certyfikatu Burp Suite Certified Practitioner było jednym z największych wyzwań w mojej karierze. Skoro mi się udało, Tobie też się uda – zacznij już dziś!