HackTheBox ProLabs – Rastalab

how2hax.pl 1 tydzień temu

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/

Przykład obfuskacji skryptu Powershella

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:

  1. Format String attack
  2. Stack Pivoting
  3. 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.

Idź do oryginalnego materiału