Offensive Security’ s PWK & OSCP Review

w dniu 19 grudnia 2017 r. otrzymałem jeden z najbardziej pożądanych e-maili od aspirujących entuzjastów i specjalistów od bezpieczeństwa ofensywnego…

Szanowny Jacku,

z przyjemnością informujemy, że pomyślnie przeszedłeś testy penetracyjne z egzaminem certyfikacyjnym Kali Linux i uzyskałeś certyfikat ofensywa Security Certified Professional (OSCP).

Mężczyzna mnie zachwycił! Po wyczerpujących 2 miesiącach treningu w laboratorium OffSec i długich, ale udanych 20 godzinach egzaminu, wszystko się opłaciło – w końcu zostałem OSCP!

mogłem tylko marzyć o tym certyfikacie, nigdy nie spodziewałem się, że tak szybko stanie się rzeczywistością! Wszystkie te szkolenia, nieprzespane noce i entuzjazm do nauki przywiodły mnie tutaj. Tak więc pisząc ten post, chcę podzielić się moimi przemyśleniami, doświadczeniami i kilkoma wskazówkami dla tych, którzy dążą do osiągnięcia OSCP!

Tło& doświadczenie

zanim zagłębię się w kurs PWK i OSCP, chcę przekazać Ci kilka informacji na temat mojego doświadczenia i doświadczenia. W momencie pisania tego posta jestem w branży InfoSec od ~3 lat. Wiele z moich doświadczeń pochodzi z samokształcenia, spędzania niezliczonych godzin w domu i przed książkami ucząc się nowych narzędzi i technik. Wiele z tego, czego się nauczyłem, zostało przetestowanych w pracy, gdzie przeprowadziłem wewnętrzne testy pióra, oceny bezpieczeństwa, inżynierię wsteczną złośliwego oprogramowania (bardziej jak debugowanie) i takie tam. W tym samym czasie wyparłem moje studia z praktyki – takie jak konkurowanie w CTF, ćwiczenie na maszynach wirtualnych VulnHub i w laboratoriach HackTheBox. Dla tych, którzy są ciekawi specyfiki moich badań, Czytaj dalej, ponieważ będę zagłębiać się w tym więcej w dziale Porady. Ale teraz przejdźmy do prawdziwego mięsa rzeczy!

kurs PWK

ogólne doświadczenie OSCP można postrzegać jako proces 3 częściowy. Kurs PWK, laboratorium PWK i egzamin OSCP. Możesz zarejestrować się na 30, 60 lub 90 dni czasu laboratorium. Po rejestracji wybierasz tydzień, w którym chcesz rozpocząć studia-konkretnie w sobotę/niedzielę jest nowy kurs. Zachęcamy do rejestracji 10-30 dni przed spodziewanym tygodniem rozpoczęcia, ponieważ szczeliny czasowe zapełniają się bardzo szybko! W wyznaczonym terminie rozpoczęcia kursu otrzymasz dostęp do wszystkich materiałów szkoleniowych, w tym 8-godzinnych filmów z kursu PWK Offensive Security, 375-stronicowego kursu PWK PDF oraz dostępu do laboratorium VPN. Gdy rozpocznie się czas laboratorium – będzie to ciągły blok, co oznacza, że nie można go zatrzymać/uruchomić w dowolnym momencie po dacie rozpoczęcia.

rozpoczynając swoją przygodę z OSCP zdecydowałem się na około 60 dni w laboratoriach (2 miesiące). Myślałem, że to będzie dużo czasu dla mnie, aby przejść przez PDF, Filmy i laboratorium, i że to zapewni mi wystarczająco dużo miejsca, jeśli niektóre dni/tygodnie byłyby zbyt gorączkowe dla mnie, aby studiować.

14 października około godziny 19: 00 otrzymałem swój VPN PWK i materiał z kursu. Natychmiast zabrałem się do pracy, przeglądając plik PDF i zastępując każdy rozdział odpowiednim filmem. Zaleca się przeglądanie zarówno plików PDF, jak i filmów, ponieważ Filmy czasami zawierają więcej szczegółów niż pdf – co powinno pomóc rzucić trochę światła na kilka rzeczy. PDF / Filmy obejmują wiele sekcji, w tym Podstawy Linuksa, podstawowe narzędzia, wyliczenia, zbieranie informacji, przepełnienie bufora, eskalację uprawnień, ataki po stronie klienta, ataki aplikacji internetowych, obracanie i Metasploit.

spędziłem około tygodnia przechodząc przez cały kurs PWK i kilka ćwiczeń, i spędziłem dużo czasu na sekcji przepełnienia bufora, ponieważ był to jeden z tematów, o których wiedziałem, że chcę ace! Ogólnie rzecz biorąc, dla mnie kurs PWK był szczerze odświeżający – jedyną rzeczą, która była dla mnie korzystna, był przepełnienie bufora i przestawne sekcje kursu. Ukończyłem tylko około połowy ćwiczeń, zanim zdecydowałem się wskoczyć do laboratoriów PWK.

zauważ, że kurs PWK nie zapewnia Ci wszystkiego, co musisz wiedzieć ! Kurs ma pomóc zbudować fundament i nauczyć cię początkowych podstaw, których potrzebujesz, aby odnieść sukces. Będzie niezliczona ilość rzeczy, które nadal będziesz musiał się uczyć / badać samodzielnie podczas swojego czasu w laboratoriach-więc proponuję odświeżyć swoje Google Fu!

Laboratorium PWK

laboratorium PWK jest mięsem kursu PWK. To tutaj odbywa się większość twojej nauki. Laboratorium ma około 50 maszyn o różnych systemach operacyjnych, lukach i błędnych konfiguracjach podzielonych na 4 różne sekcje sieci-publiczne, IT, Dev i Admin. Twoim celem jest uzyskanie dostępu do sieci administracyjnej, ale dla niektórych cel może być inny – więc nie pozwól, aby cię to dostało, jeśli nie możesz dostać się do sieci administracyjnej!

wszystkie maszyny w laboratorium różnią się stopniem trudności – niektóre są łatwe, a niektóre “walą głową o stół godzinami”. W laboratoriach może być czas, kiedy myślisz, że maszyna jest niezniszczalna … i możesz mieć rację, ale nie tak ustawiono kurs. Laboratorium PWK zostało skonfigurowane do symulacji rzeczywistego środowiska sieciowego, co oznacza, że niektóre maszyny współdziałają ze sobą i mogą zostać zagrożone przez ataki po stronie klienta. Inne maszyny z drugiej strony mogą mieć informacje na ich temat, które mogą prowadzić do kompromisu innej maszyny w laboratorium. Ogólnie rzecz biorąc, nigdy nie należy pozostawiać żadnego kamienia bez odwrócenia i prawidłowo wyliczyć. Jeśli utkniesz, zawsze możesz uzyskać dostęp do forum OSCP i IRC, aby poprosić o pomoc lub przeglądać wskazówki. Nie martw się, jeśli musisz to zrobić-to część procesu uczenia się! Po prostu nie denerwuj się, jeśli większość odpowiedzi, które otrzymujesz, to “staraj się mocniej” lub “Wylicz!”, ponieważ są szanse, że nie wyliczyłeś prawidłowo i przegapiłeś krytyczną informację.

na początku kiedy wszedłem do laboratorium byłem przytłoczony, nie wiedziałem od czego zacząć! Na szczęście kurs PWK obejmuje kilka prostych skanów wyliczeniowych, które mogą pomóc w rozpoczęciu ataku. Przez cały czas używałem OneNote do śledzenia wszystkich moich notatek, skanów, poleceń i zrzutów ekranu.

po wskoczeniu do laboratorium przeprowadziłem mały zestaw skanów za pomocą Nmap i zauważyłem konkretną usługę działającą na jednej z maszyn, taką, którą wcześniej widziałem podczas robienia maszyny W HackTheBox! Byłem tak podekscytowany, że zaatakowałem maszynę od razu-w ciągu godziny miałem dostęp do roota i udało mi się nauczyć kilku nowych rzeczy! To był naprawdę świetny początek. W ciągu 30 dni udało mi się wykorzenić 38 urządzeń – w tym Pain, Sufferance, Ghost i Bethany – i miałem dostęp do sieci Dev i IT. W tym momencie zdecydowałem się na egzamin OSCP i zablokowałem czas na 16 grudnia o 9 rano.

na początku przeszedłem przez Laboratorium używając Metasploita i trochę ręcznej eksploatacji. Przez ostatnie 30 dni przeglądałem wszystkie maszyny, które wykorzystałem za pomocą Metasploita i udało mi się zrobić je wszystkie ręcznie – albo przenosząc exploity Metasploita za pomocą Pythona, albo używając skryptów i narzędzi innych firm do łączenia się z usługami takimi jak MSSQL itp. Szczerze mówiąc, był to świetny pomysł, ponieważ pomógł mi lepiej zrozumieć pisanie i pomógł mi podczas egzaminu OSCP.

egzamin OSCP

ten żmudny 24-godzinny egzamin z całą szczerością jest brutalny i ma do tego prawo! Jego początkowym celem jest udowodnienie, że masz dobre podstawy cyklu testów penetracyjnych oraz udowodnienie, że rzeczywiście nauczyłeś się i zachowałeś swoje szkolenie. Do egzaminu zostanie przydzielonych 6 Maszyn, 5 maszyn egzaminacyjnych i 1 Windows Test VM podobnie jak w laboratoriach – ta maszyna będzie twoim debuggerem do pisania exploitów. Każda maszyna ma określone cele, które musisz ukończyć, aby twoje punkty mogły się liczyć. Oprócz tego, Metasploit jest ograniczony tylko do jednej maszyny, ale sugeruję, abyś nie używał Metasploita i nie zapisywał go w ostateczności. Aby przejść musisz zdobyć 70/100 punktów, każda maszyna ma inną ilość punktów w zależności od celów. Wysoce sugeruję przeczytanie Przewodnika egzaminacyjnego OSCP, aby uzyskać więcej informacji na temat tego, co jest, a co nie jest dozwolone podczas egzaminu.

wreszcie-16 grudnia. Obudziłem się około 7: 30 – zjadłem śniadanie, wypiłem herbatę i poszedłem na spacer, aby się zrelaksować i złapać myśli. Przez 8:30 siedziałem przy biurku, wszystkie moje przestrzenie robocze w Kali zostały skonfigurowane tak, jak mi się podobało, OneNote został skonfigurowany do egzaminu, a ja w kolejce kilka godzin Deadmau5 i trochę Drum and Bass grać w słuchawkach, jak pracowałem. Oczywiście, o 9 rano otrzymałem e-mail od OffSec z moim egzaminacyjnym VPN i instrukcjami. Zajęło mi 15 minut, aby przeczytać wszystko i zrobić mentalną notatkę o tym, co muszę zrobić. O 9: 30 byłem off i biorąc na pierwszej maszynie.

2 godziny po moim początkowym czasie uruchamiania skończyłem maszynę przepełnienia bufora-ale nie bez żadnych problemów. Musiałem skontaktować się z OffSec, aby zresetować maszynę, ponieważ usługa nie działała prawidłowo. Po zresetowaniu byłem w stanie wykorzystać maszynę i osiągnąć powłokę root! Byłem nerwowym wrakiem, a motyle w brzuchu działały, ale przed 12: 00 miałem dwie maszyny zakorzenione z 35 punktami pod pasem! W tym momencie postanowiłem odejść na godzinę i zrobić sobie małą przerwę.

po relaksującej przerwie, i trochę jedzenia we mnie, godzinę później udało mi się osiągnąć ograniczoną powłokę na innym urządzeniu za pomocą dość złożonej i interesującej metody. Krótko po tym udało mi się osiągnąć wysoki poziom uprzywilejowania, doprowadzając mnie do 55 punktów! Szczerze mówiąc, nadmiernie skomplikowałem proces i przegapiłem krytyczną informację-znalazłem ją dopiero, gdy wróciłem i ponownie wyliczyłem!

około godziny 18 Uderzyłem w blokadę drogową, z dwoma maszynami w lewo nie mogłem na całe życie znaleźć punktu wejścia. Wyliczyłem wszystko, co mogłem, ale ciągle wymyślałem puste miejsca lub szedłem do króliczych NOR. Po około godzinie trafienia w ślepe uliczki zdecydowałem się zrobić małą godzinną przerwę na jedzenie i oglądanie telewizji. Kiedy moja przerwa się skończyła, wróciłem i zacząłem wyliczać ponownie, i szybko zauważyłem coś podczas korzystania z beknięcia. Po kilku godzinach prób i błędów, do 23: 00 udało mi się zdobyć ograniczoną skorupę, która zwiększyła mnie do 67,5 punktu!

o rany, byłem zachwycony-zrobiłem okrążenie zwycięstwa wokół domu i zagrałem piosenkę Try Harder, aby świętować! Wszystko czego potrzebowałem to skorupa korzeniowa i zdaję, spokojnie! Prawda…? Źle!

przez następne 4 godziny byłem na innej blokadzie. Nie mogłem znaleźć sposobu na eskalację przywilejów-mimo że przeszedłem przez ten proces dwa razy. Nic nie działało. Znalazłem się odbijając się z powrotem między eskalacją przywilejów a drugą maszyną, mając nadzieję znaleźć sposób na uzyskanie ostatecznej ograniczonej powłoki lub osiągnięcie korzenia. Do 2 w nocy zrezygnowałem z prób zdobycia korzenia i zdecydowałem, że potrzebuję drugiej ograniczonej powłoki, aby przejść.

w tym momencie byłem wyczerpany, 18 godzin do egzaminu i byłem tak blisko! Powiedziałem sobie, że nie zawiodę, że będę “starał się bardziej” … i wtedy to do mnie dotarło. W chwili, gdy zdałem sobie sprawę, że “za bardzo się staram”, czułem się, jakby ktoś uderzył mnie kijem w tył głowy… przez ostatnie kilka godzin podążałem za ślepym zaułkiem! Podatność, którą próbowałem wykorzystać, nigdy nie była nauczana w OSCP, nigdy nie została znaleziona w laboratoriach-wiedziałem o tym tylko dzięki moim studiom! Cofnęłam się o krok i poświęciłam kilka minut na odetchnięcie i zaparzenie herbaty.

wróciłem do maszyny ze świeżym umysłem i nastawieniem “think simple”. I zadziałało! Przeprowadziłem kolejne skanowanie Nikto w katalogu i obdarzyło mnie prostą luką. Ale nawet w tym momencie nie byłem w stanie tego wykorzystać … dopóki nie zobaczyłem czegoś interesującego. Szybkie wyszukiwanie w Google doprowadziło mnie do kilku rzeczy i po kilku próbach i błędach, do 3 rano miałem kolejną ograniczoną skorupę, soląc mnie do 77,5 punktów – wystarczy, aby przejść!

w tym momencie nazwałem go quits, wróciłem, aby zebrać wszystkie zrzuty ekranu i upewnić się, że mam wszystkie wymagania. O 4 rano szczęśliwie spałem-wiedząc, że zdałem! Obudziłem się około godziny 13 następnego dnia i zacząłem pracować nad moim raportem, który był długi na 89 stron i dość szczegółowy. Zgłosiłem się około 4 rano w poniedziałek rano-poszedłem na koncert z bratem tego wieczora haha-a we wtorek rano dostałem odpowiedź, że zdałem!

jedyne co mogę powiedzieć to – wow! Mam najwyższy szacunek dla każdego, kto podejmie wyzwanie OSCP i zda je. Jest to zdecydowanie jedno z najtrudniejszych wyzwań, które zrobiłem do tej pory i nauczył mnie mnóstwo nowych rzeczy, które mogę wykorzystać w mojej codziennej pracy. Szczerze chcę podziękować OffSec za to niesamowite doświadczenie i możliwość, może następnym razem zrobię OBWE!

porady & rekomendacje

wiem, że wielu z Was, którzy będą czytać ten post, poprosi o wskazówki/zalecenia dotyczące przygotowania do egzaminu OSCP lub jak/co zrobić podczas egzaminu. Cóż, nie martw się – w tym dziale podzielę się i dołączę wiele materiałów, z których przygotowywałem się do OSCP, a także kilka wskazówek/trików do egzaminu.

:

na kursie PWK OffSec stwierdza, że aby wziąć udział w kursie, musisz zrozumieć następujące podstawy…

testy penetracyjne z Kali Linux to podstawowy Kurs bezpieczeństwa, ale nadal wymaga od uczniów posiadania pewnej wiedzy przed wzięciem udziału w szkoleniu online. Wymagane jest solidne zrozumienie TCP / IP, Sieci i rozsądnych umiejętności Linux. Znajomość skryptów Bash wraz z podstawowym Perlem lub Pythonem jest uważana za plus. Ten zaawansowany kurs testów penetracyjnych nie jest dla osób o słabym sercu; wymaga praktyki, testowania i umiejętności chęci uczenia się w sposób, który rozwinie Twoją karierę w dziedzinie bezpieczeństwa informacji i przezwycięży wszelkie Plateau uczenia się.

jeśli nie znasz tych podstaw, oto kilka linków, które pomogą Ci nauczyć się wymaganych materiałów:

  • TCP/IP & sieci
    • podstawy sieci: Model TCP, UDP, TCP / IP i OSI
    • wspólne porty & protokoły
    • bezpieczeństwo+ Sekcja 1: Bezpieczeństwo sieci
    • podstawy Nmap
  • Linux & skrypty Bash
    • Bash Scritping Tutorial
    • Null Byte-podstawy Linuksa
  • Python
    • Codecademy-Python
    • dokumentacja Pythona 2.7.14

praktyka:

teraz, gdy masz fundamentalne zrozumienie podstaw, musisz ćwiczyć … dużo! Jeśli jesteś całkiem nowy w testach penetracyjnych i myślisz, że biorąc OSCP nauczy cię – to jesteś w błędzie! Potrzebujesz dużo wcześniejszego szkolenia i doświadczenia, aby nawet spróbować czegoś takiego jak OSCP.

poniższe materiały pomogą Ci podjąć pierwsze kroki w testach penetracyjnych, a dla tych, którzy są już doświadczeni, pomogą Ci ćwiczyć i rozwijać swoje umiejętności.

  • Filmy
    • Cybrary – testy penetracyjne i etyczne hakowanie
    • Cybrary – zaawansowane testy penetracyjne
    • Cybrary – testy penetracyjne aplikacji internetowych
    • Hackthebox solucje ippsec
    • PwnFunction Filmy
    • liveoverflow: Tajny przewodnik krok po kroku do nauki hackingu
  • Książki
    • testy penetracyjne: praktyczne wprowadzenie do hakowania
    • The Hacker Playbook 3: praktyczny przewodnik po testach penetracyjnych
    • the Web Application Hacker ‘ s Handbook: Finding and Exploiting Security Flaws
    • Black Hat Python: Programowanie w języku Python dla hakerów i Pentesterów
    • Hacking: the Art of Exploitation, 2nd Edition
  • Practice Labs
    • VulnHub
      • OSCP like VMs:
        • Kioptrix 1-5
        • Fristilaks: 1.3
        • Zszywacz: 1
        • PwnLab: INIT
        • Brainpan: 1
        • Mr-Robot: 1
        • HackLab: Vulnix
        • VulnOS: 2
        • Sikos: 1.2
        • Skytower: 1
    • HackTheBox
      • Ćwicz też na emerytowanych maszynach … zaufaj mi!
    • Pentestit Labs (Tylko Dla Zaawansowanych!)
    • CTF365
    • PentesetLab-Bootcamp
    • Exploit Exercises-Mainsequence
  • materiały do nauki & Przewodniki
    • niesamowity Pentest
    • Notatnik bezpieczeństwa
    • tworzenie powłoki TTY (interaktywnej)
    • Odwrócona Ściągawka powłoki
    • podstawy Metasploita
    • Tworzenie ładunków Metasploita
    • Windows eskalacja uprawnień
      • podstawy eskalacji uprawnień systemu Windows
      • eskalacja uprawnień systemu Windows – Lista kontrolna
      • szybkie notatki
    • Linux Privilige Escalation
      • Basic Linux Privilege Escalation
      • Linux Privilege Escalation Scripts
      • Exploit Exercises – Nebula
    • Buffer Overflows
      • Exploit Writing Tutorial Part 1 : Stack Based Overflows
      • Exploit Writing Tutorial Part 2 : Przepełnienia oparte na stosie-Skoki do Shellcode
      • Intro do x86 Assembly
      • Exploit Exercises-Protostar

wiem, że jest tu mnóstwo materiałów i na początku może to wydawać się przytłaczające – ale wiedz, że wiele z tych tematów pokrywa się ze sobą, gdy zaczniesz studiować bezpieczeństwo ofensywne. Pamiętaj, że nauka wymaga czasu – musisz cieszyć się procesem uczenia się, w przeciwnym razie nigdy nie osiągniesz celu końcowego! Powoli, zacznij od podstaw i pracuj dalej.

Porady Egzaminacyjne:

podobnie jak w przypadku wszystkiego, zawsze są pewne rzeczy, które powinieneś wiedzieć i robić podczas egzaminu PWK Lab i OSCP, poniższe wskazówki powinny pomóc ci skupić się i uciec od króliczych NOR.

  1. Wylicz, Wylicz, Wylicz!
  2. proste skanowanie Nmap w / Script Scanning to Twoi znajomi!
    • TCP: nmap -sS -sV -sC -n
    • UDP: nmap -sU -sV -n --top-ports 200
  3. Wymień SNMP (UDP 161), jeśli jest otwarty!
    • snmp-check -t -c public
    • to pokaże inne otwarte porty / uruchomione usługi i aplikacje!
  4. Wylicz SMB (TCP 139/TCP 445), jeśli jest otwarty!
    • enum4linux
    • spowoduje to wyświetlenie otwartych udziałów, anonimowych loginów itp.
  5. Uruchom nikto na ciekawych katalogach!
    • nikto -h http(s)://:/
  6. DirBuster over dirb. Wybierz średnią listę słów, aby uzyskać lepsze wyniki!
    • /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
  7. Sprawdź anonimowe Logowanie dla FTP / SMB!
    • ftp
      • Nazwa Użytkownika: anonymous Hasło: anonymous
    • smbclient -L \
      • Nazwa Użytkownika: root Hasło: Brak
  8. Sprawdź dla WebDav! Scan skryptu Nmap powinien go podnieść! Jeśli nie…
    • davtest -url http(s)://
  9. nie myśl o tym za dużo! Spróbuj najpierw nisko wiszące owoce!
    • hasło takie samo jak nazwa użytkownika?
    • kombinacja nazwy użytkownika/hasła z admin:admin?
    • Wygoogluj dokumentację. Domyślne Poświadczenia / Login?
  10. obracaj maszyny co 3-4 godziny. Nie męcz się!
  11. masz pomysł? Ale wydaje się to niemożliwe? Spróbuj … nigdy nie wiadomo! =)
  12. rób częste przerwy. Wybierz 10 minut przerwy co 2 godziny.
  13. Jedz i pij! Znajdź czas na Lunch i kolację. Twój mózg potrzebuje jedzenia do funkcjonowania.
  14. ogranicz spożycie kofeiny, 1-2 filiżanki kawy jest w porządku! Ale pij herbatę i wodę.
  15. nie miej przy sobie żadnych przekąsek. Jeśli jesteś głodny, idź do kuchni na przekąskę, to sprawi, że odejdziesz od komputera i pomoże oczyścić umysł.
  16. oddech … spokojnie … masz 24 godziny!
  17. porządkuj swoje notatki, rób zrzuty ekranu i dokumentuj wszystko!
  18. kilka dni przed egzaminem Utwórz i edytuj zarys raportu.
  19. w laboratorium PWK przećwicz przepełnienia bufora, aż będziesz mógł je robić na pamięć i bez notatek.
  20. nie poddawaj się łatwo, a co najważniejsze … ” staraj się mocniej!”.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.