Czym są Pro Laby na platformie Hackthebox?
Zacznijmy od wprowadzenia, dla kogoś kto jeszcze nie miał styczności z Pro Labami. Pro laby to dość rozbudowane laboratoria, które symulują środowiska korporacyjne (najczęściej). Są zaprojektowane tak, aby łączyć wiele wektorów ataku i etapów (phishing, lateral movement, eskalacja uprawnień, ataki na usługi sieciowe, binary exploitation, OT/ICS itp.). Celem nie jest zdobycie flagi w godzinę czy dwie, ale przejście realistycznej ścieżki od Initial Access do pełnej kontroli, uzyskania persistence, zwykle z elementami pivotingu. Swojego pro laba robiłem prawie dwa miesiące, chociaż przyznam szczerze, iż większość czasu zajęło mi zdobycie JEDNEJ FLAGI.
Pro laby wymagają planowania, narzędzi, cierpliwości i umiejętności łączenia wyników z różnych obszarów – to bardzo fajne ćwiczenie przed pentestami dużych sieci czy działaniami Red Team.
Pro Laby to zestaw różnych, oddzielnych środowisk:
Cybernetics
Cybernetics to jeden z trudniejszych pro-labów, zaprojektowany jako rozbudowane środowisko Active Directory z zaawansowaną infrastrukturą i solidnymi mechanizmami obronnymi. Lab kładzie nacisk na pełny cykl ataku — footprinting, phishing, omijanie ochrony punktów końcowych, lateral movement i eskalację do poziomu domeny.
Alchemy
Alchemy to scenariusz IT/OT (industrial/SCADA) — czyli hybryda środowisk klasycznych usług korporacyjnych z warstwą przemysłową. W praktyce oznacza to, iż ataki mogą zaczynać się od aplikacji web czy usług IT, a kończyć na elementach bliższych OT/PLC, modelach produkcyjnych lub sieciach segmentowanych inaczej niż typowe AD. To świetny lab, jeżeli chcemy poznać specyfikę ataków na środowiska przemysłowe i różnice w podejściu do eksploatacji takich sieci.
Zephyr
Zephyr to bardziej „średniej” wielkości pro-lab (Red Team Operator II level, podobnie jak Rasta Lab) skonstruowany jako typowa sieć serwisów i firm zarządzających infrastrukturą — dobry wybór, jeżeli chcesz szlifować podstawowe i średniozaawansowane umiejętności AD, enumeracji i lateral movement. Jest polecany jako etap po mniejszych scenariuszach przed przeskokiem na naprawdę duże, zaawansowane środowiska.

Czym jest RastaLab
RastaLab to przykład takiego średnio-zaawansowanego pro-laba: środowisko z domeną (rastalabs.local), kilkoma serwerami i stacjami roboczymi, usługami takimi jak OWA/SQL, oraz elementami typowymi dla firm (file server, backup, bazy danych). Jednym słowem – typowa, korporacyjna sieć z wieloma usługami on-premise (i nie tylko, zakładając, iż OWA jest częścią usługi chmurowej od Microsoftu). RastaLab naprawdę fajnie pokazuje, jak wiele technologii i technik współgra podczas realistycznego ataku.
Całosć składa się z 15 maszyn i 22 flag do „wbicia”.

Jakie zagadnienia powinienem znać, żeby zrobić takiego laba?
Na to pytanie nie ma jednoznacznej odpowiedzi. Przecież wielu rzeczy możemy nauczyć się właśnie w procesie robienia tego Pro Laba, prawda? Zebrałem jednak poniżej kilka tematów, które warto pobieżnie znać wcześniej, aby praca z Pro Labem nie stała się dla nas męczarnią:
- Active Directory (AD) – struktura domeny, konta usługowe, grupy (Domain Admins), prawa do GPO, DCSync/NTDS, podstawy Kerberos/NTLM oraz narzędzia do enumeracji (np. BloodHound, Impacket).
- Enumeracja sieci i usług – skanowanie, identyfikacja wersji, rozumienie typowych usług (OWA, MSSQL, SMB, RDP) – to chyba oczywiste, ale stwierdziłem, iż warto też to ująć.
- Phishing i Social Engineering – tworzenie i hostowanie payloadów, rozumienie wektorów dostępu przez e-mail/OWA i słabości w ochronie punktów końcowych takie jak słabe AV/EDR czy podatność użytkownika końcowego na phishing.
- Command & Control (C2) – jak działają beacony, stageless vs staged, obsługa listenerów i podstawy operowania nad połączeniem zwrotnym (ale bez instrukcji uruchamiania narzędzi komercyjnych). W teorii można użyć meterpretera, ale może to dobra okazja, żeby nauczyć się prawdziwego C2?
- Pivoting / tunelowanie – przekierowania, redirectory, tworzenie tuneli i kontroli ruchu przez maszyny pośrednie; zrozumienie ograniczeń ruchu wychodzącego (np. dozwolone porty 80/8080).
- Credential harvesting & lateral movement – Credential Manager, DPAPI, LAPS, wykorzystywanie zapisanych poświadczeń i sposoby ich ochrony od strony obronnej.
- Privilege escalation – techniki eskalacji uprawnień na hostach i w domenie.
- Binary exploitation – Umiejętność debugowania, obsługi GDB, ROP-chain, pwntools – wszystko to jest (niestety) konieczne do ukończenia tego laba – to właśnie ten fragment Rasta zajął mi 3/4 czasu potrzebnego na ukończenie laba.
Czego w Labie jest mało? Akurat w tym labie kilka jest ataków związanych z aplikacjami webowymi, wiec o ile ktoś chce się skupić na tym aspekcie, to raczej proponuję odpuścić Rasta Laba.
Pomoc na Discord Hackthebox
HackTheBox ma aktywną społeczność, w tym dedykowany kanał Discord do pomocy przy pro-labach. To dobre miejsce, aby pytać o ogólne wskazówki, dyskutować koncepcje i dowiedzieć się, gdzie szukać informacji. Czasami pod naszymi pytaniami o hinty i o pomoc odpisują ludzie, którzy oferują wsparcie na DM. Warto z tego korzystąć gdy jesteśmy „pod ścianą”.

Obfuskacja payloadów:
W wielkim skrócie: payloady wygenerowane prosto z narzędzi typu msfvenom NIE zadziałają. W Rasta Lab zaimplementowany jest Defender, który mimo dość starych sygnatur przez cały czas wyłapuje podstawowe payloady. Każdy payload/exploit musi być więc obfuskowany. Możesz użyć wielu gotowych metod dostępnych w Internecie, w tym moich skryptów i programów dostepnych na Githubie – https://github.com/OppressionBreedsResistance/ oraz na Gist Github: https://gist.github.com/OppressionBreedsResistance/

Przydatne narzędzia
C2
Wspomniałem o tym wyżej, ale zdecydowanie Pro Laby nadają się do nauki C2. Mamy bardzo dużo różnych hostów, kilka podsieci z potrzebą pivotingu, więc jest to bardzo dobra okazja do poznania tych narzędzi. Ja osobiście korzystałem z Cobalt Strike, ale wiem, iż istnieją podobne (lub lepsze) open-source i darmowe rozwiązania takie jak:
- Adaptix
- Havoc
- Mythic

Narzędzia do pivotingu
Proxychains – Proste narzędzie do wymuszania łańcucha proxy dla ruchu aplikacji (np. żeby skierować ruch SSH przez proxy/tunel). Przydatne przy pracy z połączeniami przez redirectory/tunelowanie w labie.

Ligolo-Ng – dość zaawansowane w możliwościach, ale proste w użyciu narzędzie. Warto przetestować w swoim domowym labie, zanim użyjemy na Hackthebox.
Wbudowane narzędzia do pivotingu w C2 – to samo, ale praktycznie w każdym C2 dostępne jako feature.
Narzędzia do enumeracji usług pocztowych w chmurze
Chyba największy hint jaki mogę dać. Zapoznajcie się z narzędziem „mailsniper”
Obsługa LAPSa
Wyobraźcie sobie sytuacje, w której macie prawo wykonywania poleceń jako użytkownik mający prawo odczytywać hasła lokalnych administratorów. Z których narzędzi skorzystacie? Ja osobiście polecam pyLAPS

Bloodhound
Tego narzędzia chyba nie trzeba przedstawiać nikomu. Proste, skuteczne i bardzo pomocne w tym labie. Praktycznie większość wskazówek „co zrobić dalej?” macie dostępnych w dashboardzie BloodHounda. Należy tylko umieć je odczytać i odpowiednio wykorzystać.

Nieoczywiste słowniki
W Rastalabie z reguły nie zadziała zwykły słownik typu „rockyou”. Musicie tworzyć słowniki na podstawie realnych konwencji, których używają użytkownicy na co dzień. Dodawanie roku, miesiąca do hasła. A może tzw. „spacer po klawiaturze”? Tu pomocny bedzie np. kwprocessor.

PwnTools
Niestety, jednym z warunków ukończenia laba jest zrobienia zadania zwiazanego z Binary Exploitation. Musisz wiedzieć czym jest:
- Format String attack
- Stack Pivoting
- Rop Chain
Aby wykonać to zadanie. Przydatne do tego jest narzędzie PwnTools, który znacząco ułatwia wykonanie tego zadania i uzyskanie flagi.

Podsumowanie
Jeśli planujecie wskoczyć w pro-laby na HTB— róbcie to krok po kroku i „na spokojnie”. To nie wyścig na czas, tylko trening myślenia: łączmy informacje, planujmy ruchy i eksperymentujmy. RastaLab (i inne podobne scenariusze) to świetne miejsce, żeby sprawdzić, które umiejętności naprawdę działają razem — AD, pivoting, phishing itp.
Przede wszystkim nie warto się przejmować, jeżeli trafimy na „ścianę”. Warto po prostu zrobić sobie dzień przerwy, poszukać pomocy na Discord i usiąść do laba później. Wbrew pozorom te zadania nie są trudne (oprócz binary exploitation), a każda flaga to mega satysfakcja.