Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Jak / gdzie zacząć przygodę z IT security?

10 listopada 2023, 08:26 | Teksty | komentarzy 12

Zawody CTF (Capture The Flag) nie są może ściśle związane z IT security, ale często właśnie tak są kojarzone. Tak naprawdę stanowią one specyficzną mieszankę zadań związanych z szyframi, komputerami, programowaniem, szukaniem podatności i z ogólnie pojętym hackowaniem. Znajomość security do zabawy w CTF-y nie jest więc niezbędna – studenci kierunków ścisłych czy programiści również sobie radzą – ale zdecydowanie się przydaje.

Czy CTF-y mogą pomóc w zdobyciu wiedzy IT security?

Na pewno CTF-y nie są niezbędne do zdobycia wiedzy związanej z bezpieczeństwem IT. Jeśli jednak ktoś lubi rywalizację albo problemy motywują go do poszukiwania rozwiązań, to CTF-y mogą być dobrym pomysłem. Uczą też specyficznego myślenia, maksymalnie zorientowanego na efekt, którym w tym przypadku jest zdobycie flagi, czyli nieoczywistego ciągu znaków. Przy okazji można nawiązać nowe znajomości z ludźmi o podobnych zainteresowaniach albo po prostu pobawić się wspólnie ze znajomymi.

Jako pierwsze zawody CTF rekomenduję Google CTF, a dokładnie – specjalną edycję dla początkujących: Begginers Quest.

Jednak poza typowymi zawodami CTF, które są dość wymagające pod względem dyspozycyjności czasowej, można skorzystać z platform online, które uczą hackowania lub cyberbezpieczeństwa. Jest to także świetny sposób do przygotowania się do prawdziwych zawodów CTF!

Popularne platformy online

Poniżej zaprezentuję wybrane platformy online, na których można sprawdzić swoje umiejętności albo zacząć naukę. Wszystkie działają od lat i są dobrej jakości.

Root Me – to francuska platforma zaprojektowana z myślą o nauce. Zadania są pogrupowane w kategorie (rysunek 1), dotyczą zwykle konkretnego typu podatności. Dodatkowo sam tytuł zadań często mocno sugeruje, o jaki konkretnie typ podatności chodzi. Same zadania często odsyłają do ogólnych źródeł wiedzy, której uzupełnienie powinno umożliwić rozwiązanie danego zadania. Możemy zamieścić swoje rozwiązanie na platformie oraz zapoznać się z propozycjami innych uczestników. Platforma zawiera opcję płatnego dostępu, co umożliwia m.in. wcześniejsze przystąpienie do nowych zadań, ale wersja bezpłatna jest w zupełności wystarczająca.

Rysunek 1. Root Me – widok kategorii zadań na platformie


RingZer0 Team Online CTF (rysunek 2) – to serwis nieco podobny do opisywanego w poprzednim akapicie, ale bardziej nastawiony na samo rozwiązywanie zadań. W mojej ocenie zadania są też nieco trudniejsze, a tytuły raczej nie sugerują typu podatności.

Rysunek 2. RingZer0 Team Online CTF to serwis zawierający zadania o nieco większym stopniu trudności

Google Beginners Quest – Google poza tym, że organizuje swój zwykły CTF, ma także specjalną edycję dla początkujących. Dodatkowo część zadań dostępna jest cały rok. Jak wskazuje nazwa, są one łatwiejsze, przyjazne początkującym. Uwagę zwraca wygląd w stylu ascii-art (rysunek 3), nawiązujący nieco do starych terminali komputerowych. Platforma jest całkowicie bezpłatna.

Rysunek 3. Google Beginners Quest to specjalna edycja dla początkujących

Hacker101 (rysunek 4) – to platforma stworzona przez twórców serwisu bug bounty HackerOne. Nieco nietypowa na tle innych, bo w założeniu ma uczyć zdolności pentesterskich. Stąd koncentracja na podatnościach webowych oraz istnienie wielu flag w zadaniach. Zadaniem uczestnika jest bowiem znalezienie nie jednej, ale jak największej ich liczby. Logowanie odbywa się za pomocą konta HackerOne. Zdobywanie punktów pozwala na dołączenie do tzw. prywatnych programów na platformie HackerOne. Serwis jest całkowicie bezpłatny.

Rysunek 4. Widok zadań na platformie Hacker101

CTFlearn (rysunek 5) – to platforma reklamująca się jako najbardziej przyjazny początkującym sposób na zapoznanie się z kwestiami cyberbezpieczeństwa. Zawiera wiele zadań, pogrupowanych w kategorie i podzielonych na trzy stopnie trudności. Te najłatwiejsze faktycznie są bardzo przystępne dla osób, które dopiero zaczynają przygodę z CTF-ami. Jednocześnie opis zadań bardzo przypomina zwykłe zawody CTF. Zdecydowanie polecam ją na początek. Platforma zawiera także laby, mające za zadanie umożliwienie nauki. Aktualnie dostępne są dwa laby związane z Linuksem oraz jeden poświęcony SQL injection. W wersji darmowej dostęp do labów ograniczony jest do 30 minut dziennie, co zupełnie nie przeszkadza w korzystaniu z części z zadaniami CTF.

Rysunek 5. Zadania w serwisie CTFlearn

Bawiąc, uczy

Hack The Box (rysunek 6) – to kompleksowa platforma do nauki cyberbezpieczeństwa, ze świetną oprawą graficzną. W sekcji Challenges znajdziemy klasyczne zadania, podzielone na typowe kategorie. Natomiast sekcja Machines zawiera systemy, do których trzeba najpierw zdobyć dostęp na prawach nieuprzywilejowanego użytkownika, a następnie wyeskalować uprawnienia. Dostęp do maszyn można uzyskać w dwojaki sposób. Możemy albo łączyć się za pomocą VPN i korzystać z własnego systemu i narzędzi na nim, albo skorzystać z maszyny wirtualnej z Parrot Linux dostarczanej przez platformę. W wersji darmowej maszyna wirtualna dostępna jest przez dwie godziny w miesiącu. Dodatkowo maszyny pogrupowane są w tematyczne ścieżki, pozwalające skupić się na jednym zagadnieniu.

W ocenie stopnia trudności zadania pomóc nam mogą oceny wystawione przez użytkowników, którzy rozwiązali zadanie. Platformę HTB cechuje zmienność zadań. Raz w tygodniu jedna z maszyn trafia na „emeryturę”, czyli do archiwum, a w jej miejsce pojawia się nowa. Archiwalne zadania i maszyny są dostępne tylko dla kont VIP, czyli płatnych, ale za to nie wpływają na punktację i pozycję w rankingu.

Rysunek 6. Hack The Box jest kompleksową platformą do nauki cyberbezpieczeństwa

TryHackMe (rysunek 7) – to aktywnie rozwijana, nowoczesna platforma służąca do zapoznania się z kwestiami bezpieczeństwa w sieci. Mniej zorientowana na CTF-y, bardziej na naukę, mocno na rywalizację i w znacznym stopniu wykorzystująca gamifikację. Serwis posiada rozbudowany system odznak. Podobnie jak Hack The Box, platforma TryHackMe dostarcza, dostępne przez przeglądarkę, maszyny wirtualne z zainstalowanymi narzędziami potrzebnymi do rozwiązania zadań. Dzięki temu początkujący, chcący skupić się na nauce cybersecurity, nie muszą borykać się z instalacją oprogramowania lokalnie. W wersji bezpłatnej maszyny dostępne są przez godzinę dziennie. Od dwóch lat platforma organizuje wydarzenie o nazwie Advent of Cyber, polegające na codziennym rozwiązywaniu prostych zadań security. To świetna okazja do rozpoczęcia nauki. Platforma jest komercyjna, ale część zasobów jest dostępna bezpłatnie.

Rysunek 7. TryHackMe to kolejna platforma do zdobywania doświadczenia w zakresie cyberbezpieczeństwa

PortSwigger Academy – to nietypowa w tym zestawieniu platforma. Jej celem jest zdecydowanie nauka. I to tylko w wybranym obszarze: podatności webowych. Mimo to warto ją ująć w tym zestawieniu, bo jest wartościowym, dopracowanym zasobem, a działanie przypomina nieco dwie poprzednie. Dostajemy tu ścieżkę do nauki, z labami w formie zadań. Każde zagadnienie jest poprzedzone opisem podatności, z przykładami. Sam lab również umożliwia podejrzenie wskazówek, niezależnie od rozwiązania zadania. Wszystko w imię nauki. Platforma jednak prowadzi ranking (rysunek 8), a nasz postęp możemy śledzić na dashboardzie. Należy pamiętać, że PortSwigger jest producentem – świetnego swoją drogą – narzędzia Burp Suite, więc rozwiązania opierają się właśnie na nim. Serwis jest zupełnie darmowy.

Rysunek 8. Hall of fame na platformie PortSwigger Academy

Polski akcent

Podczas poszukiwań trafiłem na polski akcent. Opisuję wyłącznie jako ciekawostkę.

Hackme na uw-team.org – na stronie zawieszonego projektu uw-team.org znajdziemy kilka edycji Hackme. Proste webowe zadania oraz CTF podobny do opisywanego wcześniej Hacker101, czyli jedna aplikacja webowa, wiele flag. Trafia do zestawienia głównie jako ciekawostka i polski akcent. Wszystkie zadania dostępne są w języku polskim – co może być zaletą dla młodszych uczestników – i za darmo.

Przydatne narzędzia

Dla zupełnie początkujących przygotowałem listę narzędzi przydatnych przy rozwiązywaniu CTF-ów.

Przeglądarka internetowa – niby banalna rzecz, a w zupełności wystarcza do zrobienia niektórych, prostych zadań. I nie chodzi o korzystanie z wyszukiwarek internetowych. Podgląd źródła strony czy narzędzia deweloperskie bywają bardzo przydatne. Czasem, szczególnie podczas zabaw z JavaScript, są wręcz niezastąpione.

Binwalk – to narzędzie służące do analizy i rozpakowywania plików. Bywa przydatne szczególnie przy szukaniu połączonych lub zagnieżdżonych plików. Godne wymienienia, gdyż poza środowiskiem security i związanym z CTF-ami jest mało popularne, a niespecjalnie daje się łatwo zastąpić. W dystrybucjach Linuksa jest dostępne jako gotowy do instalacji pakiet.

Edytor heksadecymalny – dowolny edytor pozwalający na podgląd i edycję plików w postaci heksadecymalnej. Część zadań wymaga modyfikacji lub poprawienia konkretnych bajtów nagłówka pliku. W innych pliki obejrzane w ten sposób mogą ujawnić właściwości, które pozwolą na rozwiązanie zadania.

Serwis dcode.fr – rewelacyjna francuska inicjatywa poświęcona m.in. kryptografii, rozwijana od 2009 roku. Zawiera zarówno opisy wielu, często niszowych, sposobów kodowania, algorytmów szyfrujących, jak i narzędzia wspomagające ich używanie. Dodatkowo wiele narzędzi posiada funkcję solvera, czyli automatycznego szukania rozwiązań, która bywa przydatna podczas zawodów CTF. Poza sekcją kryptograficzną warto zerknąć na pozostałe narzędzia dostępne w serwisie. Znajdziemy tam dużo wiedzy przydatnej przy rozwiązywaniu CTF-ów. Serwis jest całkowicie darmowy.

Burp Suite – lokalne proxy WWW z funkcjami ułatwiającymi testowanie. Stosowane przez pentesterów, świetnie sprawdza się przy CTF-ach. Napisane w Javie, więc działa na wszystkich platformach. Szerzej opisane w Mastering Burp Suite #1 oraz Mastering Burp Suite #2. Program dystrybuowany jest zarówno w wersji pełnej, płatnej, jak i nieco zubożonej, darmowej wersji Community Edition.

CyberChef – webowe narzędzie pozwalające na tworzenie „przepisów” obróbki danych wejściowych. Narzędzie posiada bardzo dużą liczbę funkcji przydatnych w CTF-ach i obsługuje wiele formatów danych. Można wpisywać dane wejściowe w pole tekstowe, można wczytać plik. Nawet dla programistów tworzenie bloków w postaci bloków opisujących kolejne kroki potoku przetwarzania danych może być wygodniejsze i szybsze niż pisanie kodu. Dodatkowo CyberChef umożliwia łatwe dzielenie się przepisem z resztą teamu czy ze znajomymi.

Podsumowanie

Na zakończenie warto wspomnieć o CTF-owym savoir vivre – jeśli uczymy się i bawimy wspólnie ze znajomymi, pilnujmy się, by nie zdradzić sposobu rozwiązania. To odpowiednik streszczenia fabuły serialu osobie, która jeszcze nie widziała danego odcinka. Spoilery skutecznie psują radość z rozwiązywania zagadek. W zwykłych zawodach CTF jest podobnie – wymiana flag lub rozwiązań z osobami spoza własnego zespołu jest zabroniona, a lekceważenie tej zasady skutkuje wykluczeniem drużyny z zawodów.

Przestrzegam też przed szukaniem gotowych rozwiązań do „stałych” CTF-ów typu Root Me. Bez problemu można znaleźć w sieci rozwiązania do zadań z nich, ale nie jest to żadne wyzwanie. Stracimy w ten sposób całą zabawę i satysfakcję ze znalezienia rozwiązania. Jeśli faktycznie wydaje nam się, że potrzebujemy tego typu inspiracji, możemy przejrzeć write-upy do skończonych zawodów CTF na platformie CTFtime

Jak widać, istnieje sporo narzędzi i serwisów umożliwiających rozpoczęcie przygody z bezpieczeństwem IT. Chętni do nauki poprzez zabawę mają do wyboru wiele platform online, wspomagających praktyczną naukę. Niekoniecznie musi to być CTF. Pamiętajmy też, że nie musimy ograniczać się tylko do jednej platformy – każda z nich jest nieco inna i nauczymy się dzięki nim czego innego, a wiedza zdobyta na jednej ułatwi rozwiązanie zadań na kolejnej.

Warto poszukać znajomych do wspólnej zabawy. Rywalizacja może pozytywnie wpłynąć na motywację, a jeśli utkniemy na jakimś problemie, znajomi mogą podsunąć wskazówkę, która naprowadzi nas na właściwe rozwiązanie.

~Paweł „Róża” Różański

Przy okazji zapraszamy do dołączenia do projektu Sekurak.Academy (regularne szkolenia na żywo + nagrania) – idealnego dla osób rozpoczynających swoją przygodę z bezpieczeństwem IT

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Polecam https://hackmyvm.eu/

    Są tam świetne obrazy Linuxa i Windowsa do złamania. Ciągle jest aktualizowana. i do tego wszystko za darmo.
    Są też ciekawe zadania.

    Odpowiedz
  2. Jaroslawpolskezbaw

    Nic po polsku nie ma? To po co to wrzucać w ogóle jak po angielsku jest. Mieszkamy w Polsce nie Anglii jakbyście w redakcji nie zauważyli i mówimy po Polsku. Czy tak już was do końca oderwało, że nawet nie zauważyliście tego faktu.

    Odpowiedz
    • Jak ktoś nie ogarnia angielskiego na poziomie powiedzmy medium, to raczej nie wróżymy mu oszałamiającej kariery w IT security ;-)

      Odpowiedz
      • Jak ktoś chce robić naprawdę oszałamiającą karierę w bezpieczeństwie IT, to warto też znać ruski;)

        Odpowiedz
        • lukasz

          I chiński

          Odpowiedz
    • eej

      Mam nadzieje że to tylko pijacki żarcik…

      Odpowiedz
  3. Pawel

    Też kiedyś mieliście fajny darmowy ctf. Później go usunęliście aby zrobić jakiś komercyjny ale ten nowy chyba wam nie wypalił:p

    Odpowiedz
    • tak, tak, rozwal.to, który niebawem powraca w darmowej formie :)

      Odpowiedz
  4. lukasz

    Od kilku tygodni uczę sie podstaw na tryhackme.com. Nie mam porównania z innymi, ale wydaje się spoko. Trochę infantylny wygląd, ale fajnie poukładane, podoba mi się podział na mikrotematy.

    Odpowiedz
    • Jeśli zależy Ci typowo na nauce, THM jest dobrym wyborem. Do tego służy ta platforma. :-)

      Odpowiedz
  5. Mike

    W kontekscie wejscia do IT sec – we wrzesniu 2023 na Sekuraku pojawilo sie ogloszenie o prace na helpdesk do Sekuraka z mozliwoscia wyszkolenia w obszarze IT sec – ogloszenie wisialo pare dni a potem zniknelo.
    @Sekurak – mozecie napisac co sie stalo?

    Odpowiedz
    • kandydat wybrany (już w pracy :), więc na razie ogłoszenie nieaktualne

      Odpowiedz

Odpowiedz