TryHackMe

Reskilling od zera z TryHackMe. Czy to możliwe?

W tekście tym chciałbym podzielić się moimi doświadczeniami z platformą TryHackMe.com, w kontekście nabywania wiedzy i umiejętności z zakresu cyberbezpieczeństwa, startując z poziomu zupełnie podstawowego. Swój stan, kiedy zaczynałem określiłbym jako „średniozielony”. Mam na myśli to, że nie mam wykształcenia związanego z informatyką i dotychczas byłem jedynie trochę bardziej zaawansowanym użytkownikiem komputera niż przeciętny człowiek. Miałem niewielką wiedzę na temat InfoSec wynikającą z czytania czasem branżowych stron, ale szczegóły techniczne były dla mnie w większości niezrozumiałe. Zatem dla osób z większym doświadczeniem jestem totalnym świeżakiem. Temat jednak mnie interesuje, więc postanowiłem to zmienić.

TryHackMe. Czym jest, jak działa, o co tu chodzi.

Ujmując temat w skrócie, serwis oferuje ścieżki edukacyjne o różnym profilu oraz specjalnie przygotowane maszyny, posiadające jakieś podatności, które można hakować aby ćwiczyć swoje umiejętności. Ponieważ jestem na początku swojej drogi, skupię się na kwestiach użytkowych oraz tych związanych bezpośrednio z nauką. Przedstawione informacje i wrażenia oparte są na bazie ogólnego obeznania się z platformą oraz doświadczeń związanych, w większości, z przejściem dwóch najłatwiejszych ścieżek edukacyjnych, stanowiących wstęp do tematu.

Materiały do nauki można wybierać według własnych potrzeb i zainteresowań lub skorzystać z przygotowanych tematycznie ścieżek nauki. Druga opcja wydaje się rozsądna, ponieważ można oczekiwać wyselekcjonowanych informacji i zadań w odpowiedniej kolejności. Ścieżki edukacyjne składają się z modułów, moduły składają z pokoi, a każdy pokój złożony jest z zadań, które mogą mieć charakter teoretyczny, praktyczny lub mieszany. Zrealizowanie pojedynczego zadania może wymagać jednej lub kilku odpowiedzi. Każda ścieżka edukacyjna ma podane wstępne wymagania dotyczące potrzebnej wiedzy. Na ile te wymagania są trafne możecie dowiedzieć się w dalszej części tego artykułu.

TryHackMe - ścieżki edukacyjne
TryHackMe – ścieżki edukacyjne

Chociaż zarejestrować się można nieodpłatnie, to szybko przekonamy się, że użytkownicy nie posiadający subskrypcji mają dostęp tylko do niewielkiej części treści przeznaczonych do nauki. Zazwyczaj są to pierwsze pokoje w modułach, z których składa się dany 'learning path’. Koszt subskrypcji TryHackMe wynosi 10 USD miesięcznie. Natomiast cała ścieżka 'Attacking and defending AWS’ jest dostępna tylko dla użytkowników biznesowych, którzy dodatkowo zapłacili za taką zawartość. Zadania wymagające praktycznych działań realizowane są na wirtualnych maszynach uruchamianych na potrzeby ich wykonania. Użytkownicy darmowi potrzebują mieć skonfigurowany OpenVPN i do znacznej części zadań też przygotowaną na swoim komputerze instalację Linuxa, wraz z różnymi narzędziami. W przypadku osób, które kupiły subskrypcje wszystko może odbywać się także z innej wirtualnej maszyny, uruchomionej w ramach serwisu, nazywanej 'AttackBox’. W takiej sytuacji wszystko odbywa się poprzez przeglądarkę, co ma swoje wady i zalety, o których napiszę nieco później. Widok domyślnie zostaje podzielony, choć jest też możliwe by AttackBox zajmował całe okno.

TryHackMe - widok AttackBox
TryHackMe – widok AttackBox

Po zrealizowaniu całej ścieżki system TryHackMe może wygenerować certyfikat jej ukończenia w formie pliku graficznego. Zależnie od preferencji użytkownika mogą się na nim znajdować prawdziwe dane lub tylko nazwa użytkownika, podana podczas rejestracji. W moim odczuciu certyfikaty mogą się przydać jedynie aby dokumentować swoje zainteresowanie tematem i robienie postępów, a nie konkretne umiejętności. Choćby dlatego, że w sieci są dostępne rozwiązania zadań, które trzeba wykonać.

A skoro już jesteśmy przy postępach to warto wspomnieć, że w serwisie TryHackMe zaimplementowane są różne funkcjonalności mające na celu ich monitorowanie i utrzymywanie motywacji do nauki. Oprócz znanego motywu streak-a oraz osiągania kolejnych poziomów, mamy do dyspozycji liczbę udzielonych odpowiedzi w ciągu ostatniego tygodnia wraz z wykresem, skills matrix (jako spider chart) i ranking wszystkich użytkowników.

TryHackMe - widok postępów i ranking
TryHackMe – widok postępów i ranking

Pierwsze wrażenie vs rzeczywistość

Przejdźmy zatem do tego jak to wyszło w praktyce. W tym miejscu chcę jednak zrobić jedną uwagę. Miejcie na względzie, że jestem osobą dość krytyczną. Mam naturalną łatwość do wskazywania co jest nie tak, co się nie zgadza, co mi się nie podoba. Będę starał się być obiektywny i wskażę także dobre strony ale, mimo tego, ta część tekstu może być pod pewnym obciążeniem wspomnianych powyżej cech. Poza tym pamiętajcie, że startuję
z wiedzą od zera.

1 Nauka

Pogrupowanie materiałów do nauki w gotowe ścieżki jest, z mojej perspektywy, dobre dla początkujących osób. Nie trzeba się zastanawiać nad wyborem tematów i ich kolejnością. Dobrze sprawdza się też podział na moduły i pokoje, ponieważ nie trzeba poświęcać jednorazowo dużo czasu. Łatwo jest odnieść wrażenie, że już coś się zrobiło. Małym rozczarowaniem jest natomiast fakt, że materiału nie jest tak dużo jak się na początku wydaje. Jest tak dlatego, że niektóre moduły są wykorzystywane w więcej niż jednej ścieżce nauki. Realizując tylko ścieżkę 'Pre Security’ uzyskałem też znaczny postęp w ścieżce 'Introduction to cybersecurity’, mniejszy w 'Web Fundamentals’ oraz bardzo niewielki w trzech innych.

Niestety, treści do nauki są różnej jakości. Nie każda część jest napisana jasno, spójnie i w sensownej kolejności. Czasem można odnieść wrażenie, że treść była edytowana, ale niezbyt starannie. Zdarza się, że na przykład opis w tekście nie pokrywa się z komendą na screenshocie, co na etapie gdy jeszcze nie wiemy o co chodzi, może zupełnie zdezorientować. Dziwne się też czyta, że o jakieś kwestii dowiem się później, podczas gdy już się to przerobiło wcześniej. A apogeum tego bałaganu jest zadanie, które sugeruje użycie Burpa, podczas gdy moduł uczący pracy z tym programem, jest w tej ścieżce nauki, ale dopiero później… Trzeba jednak podkreślić, że opisane powyżej problemy nie są, na szczęście, normą. Jest też dużo tekstów przygotowanych poprawnie, jak również takie, które są napisane bardzo przyjemnie, a praktyczne zadania zazwyczaj przygotowane są dobrze i często też żartobliwie.

TryHackMe - przykładowe zadania
TryHackMe – przykładowe zadania

W obecnych czasach dostęp do wiedzy nie jest żadnym problemem, ale wyselekcjonowanie tego co wartościowe, często okazuje się wyzwaniem. Dlatego dobrym pomysłem są, pojawiające się czasem, linki do dalszych informacji dotyczących omawianego tematu. Każdy by mógł je sam znaleźć, ale podanie dobrego źródła wiedzy, jest wartościowe i oszczędza czas.

Za to pewien problem mogą stanowić opisy wymagań dla poszczególnych ścieżek, ponieważ czasem są zbyt optymistyczne lub nieprecyzyjne. Przykładem niech będzie ścieżka 'Web Fundamentals’, dla której wystarczającym przygotowaniem miałaby być ścieżka 'Pre Security’, ale w trakcie szybko okazuje się, że bez chociaż małego zrozumienia HTML-a, JavaScript-u i PHP może nie być łatwo łapać na bieżąco co się dzieje i dlaczego. Oczywiście jest logiczne, że powyższe zagadnienia są potrzebne gdy zabieramy się za kwestię aplikacji webowych, ale uważam, że albo powinna być podstawowa wiedza zawarta w ścieżce nauki, albo jasna informacja, że należy się doszkolić na własną rękę.

2 Maszyny wirtualne

Wspomniany wcześniej AttackBox, czyli wirtualna maszyna, z której możemy atakować inną maszynę, uruchomioną w chmurze TryHackMe na potrzeby danego ćwiczenia, ma swoje wady i zalety. Na pewno jest dużym ułatwieniem dla osób zupełnie początkujących. Może być też oszczędnością czasu oraz ratuje osoby (takie jak ja), które aktualnie nie mają miejsca na dysku na swoją maszynę wirtualną. Jak zwykle, nie ma jednak róży bez kolców. Działanie na nieswoim systemie wprowadza różne ograniczenia w tym co można zrobić. Nie działają m.in. komendy systemctl od sterowania procesami, nie można obejrzeć niektórych logów, nie jest też możliwe zarządzanie repozytoriami software-u. Jest to dla mnie całkowicie zrozumiałe, że nie można pozwolić na wszystko użytkownikom, ale tylko przeczytać o niektórych możliwościach to zdecydowanie nie to samo co móc to zrobić, przećwiczyć. Tym bardziej, że czasem nie są to proste komendy i proste sprawy dla kogoś kto dopiero poznaje Linuxa. Napisanie :

„Removing packages is as easy as reversing. This process is done by using the 'add-apt-repository –remove ppa:PPA_Name/ppa’ command (…)”

brzmi trochę jak żart dla osoby, która pierwszy raz zobaczyła konsolę Linuxa 3 dni wcześniej, a kwestię zarządzania repozytorium poznała przed 3 minutami.

Z pracą poprzez AttackBox, gdy wszystko odbywa się poprzez okno przeglądarki, wiąże się jeszcze jedna niedogodność. Skróty klawiszowe działają lokalnie, a nie w wirtualnym środowisku. Nie jest to żaden dramat, ale trzeba się pilnować, bo gdy działając na wirtualnym Windowsie odruchowo wcisnąłem Alt+F4 to oczywiście zamknąłem całą swoją przeglądarkę, a nie okno w wirtualnym systemie.

Nie jest też zbyt różowo od strony niezawodności. W ciągu zaledwie dwóch tygodni dwa razy zdarzyło się, że nie mogłem uzyskać dostępu do VM, która teoretycznie działała. Na szczęście nie trwało to długo, ale jednak nie robi to dobrego wrażenia.

TryHackMe - problem z połączeniem do wirtualnej maszyny
TryHackMe – problem z połączeniem do wirtualnej maszyny

Co dalej?

Na pewno nie jest to narzędzie all-in-one, jeśli ktoś chce się nauczyć od podstaw wszystkiego co jest potrzebne. Dlatego jego użyteczność do założonego celu jest trochę ograniczona. Nie zmienia to faktu, że opisywana usługa daje wiele możliwości, które trudno byłoby znaleźć na typowych kursach. Odnoszę wrażenie, że w połączeniu z kilkoma szkoleniami, dotyczącymi np. kwestii programowania, może powstać dobre combo, umożliwiające rozwijanie się jeszcze przez długi czas. Piszę to mając na uwadze m.in. dostępną tematykę nauki dla bardziej zaawansowanych użytkowników, CTF-y, konkursy itd.

Na pewno do ideału brakuje wiele, ale ideały nie istnieją. Myślę, że należy to rozpatrywać bardziej w kategorii stosunku jakości do ceny oraz ewentualnego porównania z innymi, podobnymi usługami. Jest to jednak sprawa bardzo subiektywna. Trzeba też pamiętać o tym, że to ile otrzymamy za zapłacone pieniądze, zależy w dużej mierze od tego ile czasu możemy na to przeznaczyć. Miesięczna opłata faworyzuje tych, którzy mogą korzystać z platformy intensywnie. Nie chcę jednoznacznie oceniać ani wystawiać żadnych rekomendacji. Przedstawiłem uczciwie swoje doświadczenia z okresu ok. dwóch pierwszych tygodni, a czy warto czy nie, odpowiedzcie sami.

Jeśli macie inne doświadczenia z TryHackMe, lub korzystacie z innych serwisów tego typu, nie
wahajcie się napisać o swoich doświadczeniach w komentarzu. Dzieląc się wiedzą pomagacie innym
poznać różne punkty widzenia.

Akademia Open Security

Jeśli o swoich doświadczeniach z TryHackMe lub problemach w rozwiązywaniu zadań chcielibyście porozmawiać z osobami, które również przechodzą tę ścieżkę od zera, dołączcie do naszej społeczności na Discordzie. Wraz z tym artykułem na naszym serwerze tworzymy dedykowany kanał poświęcony TryHackMe. Zapiszcie się tutaj, a szczegóły otrzymacie na maila.

4 komentarze

  1. Super, dzięki za streszczenie, teraz będę wiedział czego się spodziewać, a przede wszystkim – czego się nie spodziewać. 🙂

    Jest szansa zrobienia podobnego materiału o HackTheBox? 🙂

  2. Podejście „nie wiem, nie znam się, nie umiem, więc nawet nie spróbuję” i strach przed porażkami mogą być paraliżującymi barierami, ale jeśli nawet ktoś Ci zabronił wchodzić do wody, dopóki nie nauczysz się pływać, pamiętaj, że Adam Małysz też nie wyskoczył z macicy na nartach, tylko urodził się, jak każdy inny człowiek.

    1. Wyobraziłem sobie tego Małysza 🙂 Ale zdecydowanie podpisuję się pod tą opinią.

  3. TryHackMe to mój zdecydowany faworyt, jeśli chodzi o tego typu strony. Znam jeszcze chociażby HTB i HTB Academy, Ine.com czy Ilabs od EC-Council.
    THM może czasem denerwować np. przeklejaniem tekstów z maszyny wirtualnej do formularza z odpowiedziami, niestabilnością działania, różnymi kwiatkami w tekstach, ale Panie za tę cenę to jest kopalnia wiedzy dla osób rozpoczynających przygodę z security w dodatku z maszynami, na których można zdobytą wiedzię stosować w praktyce.

Leave a Reply

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.