18 marca 2014
1 Testy penetracyjne 2 Terminologia
Co to jest test penetracyjny? Test penetracyjny (ang. penetration test) to proces przeprowadzenia kontrolowanego ataku na system teleinformatyczny, którego celem jest praktyczna ocena bieżącego stanu bezpieczeństwa tego systemu.
Dlaczego należy je przeprowadzać? Przeprowadzając testy penetracyjne możemy wykryć: błędy bezpieczeństwa wynikające z niewłaściwej konfiguracji,
Dlaczego należy je przeprowadzać? Przeprowadzając testy penetracyjne możemy wykryć: błędy bezpieczeństwa wynikające z niewłaściwej konfiguracji, luki w oprogramowaniu lub sprzęcie,
Dlaczego należy je przeprowadzać? Przeprowadzając testy penetracyjne możemy wykryć: błędy bezpieczeństwa wynikające z niewłaściwej konfiguracji, luki w oprogramowaniu lub sprzęcie, słabości w technicznych lub proceduralnych środkach zabezpieczeń,
Dlaczego należy je przeprowadzać? Przeprowadzając testy penetracyjne możemy wykryć: błędy bezpieczeństwa wynikające z niewłaściwej konfiguracji, luki w oprogramowaniu lub sprzęcie, słabości w technicznych lub proceduralnych środkach zabezpieczeń, niewystarczającą świadomość użytkowników.
Korzyści płynące z testów penetracyjnych 1 Identyfikacja krytycznych podatności, wynikających z wykorzystania w określonej kolejności kombinacji podatności małego ryzyka.
Korzyści płynące z testów penetracyjnych 1 Identyfikacja krytycznych podatności, wynikających z wykorzystania w określonej kolejności kombinacji podatności małego ryzyka. 2 Identyfikacja podatności, które mogą być trudne, a wręcz niemożliwe do wykrycia przez oprogramowanie do wykrywania podatności.
Korzyści płynące z testów penetracyjnych 1 Identyfikacja krytycznych podatności, wynikających z wykorzystania w określonej kolejności kombinacji podatności małego ryzyka. 2 Identyfikacja podatności, które mogą być trudne, a wręcz niemożliwe do wykrycia przez oprogramowanie do wykrywania podatności. 3 Ocena kosztów i skutków w przypadku udanego ataku.
Korzyści płynące z testów penetracyjnych 1 Identyfikacja krytycznych podatności, wynikających z wykorzystania w określonej kolejności kombinacji podatności małego ryzyka. 2 Identyfikacja podatności, które mogą być trudne, a wręcz niemożliwe do wykrycia przez oprogramowanie do wykrywania podatności. 3 Ocena kosztów i skutków w przypadku udanego ataku. 4 Sprawdzenie zdolności skutecznego wykrywania ataków oraz reakcji na nie.
Korzyści płynące z testów penetracyjnych 1 Identyfikacja krytycznych podatności, wynikających z wykorzystania w określonej kolejności kombinacji podatności małego ryzyka. 2 Identyfikacja podatności, które mogą być trudne, a wręcz niemożliwe do wykrycia przez oprogramowanie do wykrywania podatności. 3 Ocena kosztów i skutków w przypadku udanego ataku. 4 Sprawdzenie zdolności skutecznego wykrywania ataków oraz reakcji na nie. 5 Dostarczenie dowodów wskazujących na potrzebę zwiększenia inwestycji w bezpieczeństwo - zarówno w kadry, jak i technologię.
Pentester Testy penetracyjne Pentester - to osoba, która przeprowadza test penetracyjny.
Pentester Testy penetracyjne Przeprowadzanie testów penetracyjnych jest trudnym zadaniem. Pentester musi działać z perspektywy włamywacza i znajdować najsłabsze ogniwa w skomplikowanej sieci obrony. Testy penetracyjne potrafią wykryć wszystko, począwszy od nieuczciwych witryn, aż po oszustwa i działalność przestępczą.
Pentester Testy penetracyjne Pentester podczas korzystania z dostępnych dróg ataku powinien zawsze mieć na uwadze ryzyko wyrządzenia szkody.
Etyka pracy pentestera W swojej pracy pamiętaj o następujących zasadach: Nie bądź złośliwy.
Etyka pracy pentestera W swojej pracy pamiętaj o następujących zasadach: Nie bądź złośliwy. Nie bądź głupi.
Etyka pracy pentestera W swojej pracy pamiętaj o następujących zasadach: Nie bądź złośliwy. Nie bądź głupi. Nie atakuj celów bez uzyskania na to pisemnej zgody.
Etyka pracy pentestera W swojej pracy pamiętaj o następujących zasadach: Nie bądź złośliwy. Nie bądź głupi. Nie atakuj celów bez uzyskania na to pisemnej zgody. Miej na uwadze konsekwencje swoich działań.
Etyka pracy pentestera W swojej pracy pamiętaj o następujących zasadach: Nie bądź złośliwy. Nie bądź głupi. Nie atakuj celów bez uzyskania na to pisemnej zgody. Miej na uwadze konsekwencje swoich działań. Jeśli będziesz działał nielegalnie, możesz trafić do więzienia.
Różnica pomiędzy włamaniem, a testami penetracyjnymi Podstawową cechą odróżniającą test penetracyjny od włamania jest zgoda atakowanej strony na tego rodzaju działania, ponadto pentester jest zobowiązany do przedstawienia raportu dokumentującego znalezione podatności, a czasami nawet sposobów ich usunięcia oraz rekomendacji mających na celu podniesienie bezpieczeństwa testowanego systemu.
Rodzaje testów penetracyjnych Testy penetracyjny możemy podzielić na dwa skrajne przypadki ze względu na różny poziom wiedzy zespołu testującego: test penetracyjny z minimalną wiedzą (ang. black box),
Rodzaje testów penetracyjnych Testy penetracyjny możemy podzielić na dwa skrajne przypadki ze względu na różny poziom wiedzy zespołu testującego: test penetracyjny z minimalną wiedzą (ang. black box), test penetracyjny z pełną wiedzą (ang. crystal box).
Rodzaje testów penetracyjnych Wymienione przed chwilą dwa główne rodzaje testów penetracyjnych można także spotkać pod następującymi określeniami: ukryte (ang. covert),
Rodzaje testów penetracyjnych Wymienione przed chwilą dwa główne rodzaje testów penetracyjnych można także spotkać pod następującymi określeniami: ukryte (ang. covert), jawne (ang. overt), zwany również testem białego kapelusza (ang. white hat).
Metodyki testów penetracyjnych Istnieją następujące metodyki prowadzenia testów penetracyjnych: OSSTMM (Open Source Security Testing Methodology Manual),
Metodyki testów penetracyjnych Istnieją następujące metodyki prowadzenia testów penetracyjnych: OSSTMM (Open Source Security Testing Methodology Manual), NIST SP 800-42 (Guideline on Network Security Testing),
Metodyki testów penetracyjnych Istnieją następujące metodyki prowadzenia testów penetracyjnych: OSSTMM (Open Source Security Testing Methodology Manual), NIST SP 800-42 (Guideline on Network Security Testing), P-PEN (Metodyka P-PEN przeprowadzania testów penetracyjnych systemów teleinformatycznych),
Metodyki testów penetracyjnych Istnieją następujące metodyki prowadzenia testów penetracyjnych: OSSTMM (Open Source Security Testing Methodology Manual), NIST SP 800-42 (Guideline on Network Security Testing), P-PEN (Metodyka P-PEN przeprowadzania testów penetracyjnych systemów teleinformatycznych), NIST SP 800-115 (Technical Guide to Information Security Testing),
Metodyki testów penetracyjnych Istnieją następujące metodyki prowadzenia testów penetracyjnych: OSSTMM (Open Source Security Testing Methodology Manual), NIST SP 800-42 (Guideline on Network Security Testing), P-PEN (Metodyka P-PEN przeprowadzania testów penetracyjnych systemów teleinformatycznych), NIST SP 800-115 (Technical Guide to Information Security Testing), ISAAF (OISSG Penetration Testing Framework),
Metodyki testów penetracyjnych Istnieją następujące metodyki prowadzenia testów penetracyjnych: OSSTMM (Open Source Security Testing Methodology Manual), NIST SP 800-42 (Guideline on Network Security Testing), P-PEN (Metodyka P-PEN przeprowadzania testów penetracyjnych systemów teleinformatycznych), NIST SP 800-115 (Technical Guide to Information Security Testing), ISAAF (OISSG Penetration Testing Framework), PTES (Penetration Test Execution Standard).
Penetration Test Execution Standard Standard PTES podzielony jest na siedem kategorii, z których każda charakteryzuje się innym wymaganym poziomem działania, zależnym od rodzaju organizacji poddawanej atakom.
Penetration Test Execution Standard 1. Czynności wstępne Czynności wstępne (ang. pre-engagement interactions) to z reguły ustalenie z klientem zakresu i warunków przeprowadzenia testów penetracyjnych.
Penetration Test Execution Standard 2. Zbieranie informacji W fazie zbierania informacji (ang. intelligence gathering) należy zgromadzić wszelkie dostępne informacje na temat organizacji, którą musimy atakować. W tym celu wykorzystuje się portale społecznościowe, Google hacking, footprinting celu itd.
Penetration Test Execution Standard 3. Modelowanie zagrożeń Informacje zgromadzone w poprzedniej fazie, są wykorzystywane w fazie modelowania zagrożeń (ang. threat modeling) do określenia wszelkich luk w zabezpieczeniach systemu będącego celem.
Penetration Test Execution Standard 4. Analiza luk w zabezpieczeniach Po określeniu najbardziej realnych metod ataku należy się zastanowić, w jaki sposób uzyskać dostęp do celu. Podczas fazy analizy luk w zabezpieczeniach (ang. vulnerability analysis) wykorzystuje się wszystkie informacje zdobyte w poprzednich fazach do zdefiniowania tego, jakie ataki są wykonalne.
Penetration Test Execution Standard 5. Eksploatacja Eksploatacja (ang. exploitation) to prawdopodobnie jedna z najbardziej ekscytujących faz testu penetracyjnego, ale zazwyczaj przeprowadzana jest z wykorzystaniem brutalnej siły zamiast precyzji. Stosowanie exploitów jest dopuszczalne tylko wtedy, kiedy posiada się stuprocentową pewność o tym, że dany exploit się sprawdzi.
Penetration Test Execution Standard 6. Faza poeksploatacyjna Faza poeksploatacyjna (ang. post exploitation) rozpoczyna się w momencie, kiedy udało się złamać zabezpieczenia jednego lub kilku systemów, ale do ukończenia zadania jeszcze daleka droga.
Penetration Test Execution Standard 7. Przygotowanie raportu Przygotowanie raportu (ang. reporting) jest zdecydowanie najważniejszym elementem testu penetracyjnego. Raporty pozwalają przedstawić czynności jakie zostały wykonane, sposób ich wykonania oraz co najważniejsze, przekazanie zaleceń dotyczących sposobu usunięcia luk w zabezpieczeniach danej organizacji, wykrytych podczas testu penetracyjnego.
Zadanie Testy penetracyjne
Zadanie Testy penetracyjne Wnioski z analizy treści zadania: Nie chodzi tutaj o adres URL. Zatem musi to być domena, a dokładniej mówiąc poddomena/host w domenie dobreprogramy.pl.
Zadanie Testy penetracyjne Niestety pytania wciąż nie widać
Zadanie Testy penetracyjne Niemniej otrzymujemy tu bardzo istotną wskazówkę: nie dostaliśmy komunikatu o nieistniejącej domenie. Próba odpytania serwera o np. dioda1.dobreprogramy.pl - zwraca zupełnie inny wynik: ** google-public-dns-a.google.com nie może odnaleźć dioda1.dobreprogramy.pl: No n-existent domain
Zadanie Testy penetracyjne Zatem oznacza to, że rekord dioda istnieje w strefie dobreprogramy.pl, ale po prostu nie jest typu A (adres IPv4 hosta - domyślny dla nslookup). Trzeba więc pytać o inny typ rekordu.
Zadanie Testy penetracyjne Zakładając, zgodnie z pierwotną podpowiedzią, że szukamy tekstu pytania, możemy przypuszczać, że chodzi o rekord typu TXT, albo po prostu zapytać serwer o dowolny typ rekordu istniejący pod tą nazwą (ANY).
Zadanie Testy penetracyjne Bingo
Zadanie Testy penetracyjne Treść pytania: Na górze róże, na dole serwer, Na jakim porcie szczeka pies Cerber? Jeśli to wiesz, bilet dostaniesz. Jeśli nie, na zawsze niezalogowanym pozostaniesz.
Zadanie Testy penetracyjne Pomocą w interpretacji wierszyka służyła tematyka konkursu i Active Directory (usługa katalogowa w Windows Server 2012), które jednoznacznie identyfikowały protokół Kerberos, który odpowiada za uwierzytelnianie i oparty jest o system biletów. Uczestniczą w nim zasadniczo trzy podmioty (stąd nawiązanie do psa Cerbera, który miał trzy głowy) i pierwszą odpowiedzią serwera po pomyślnym uwierzytelnieniu klienta jest tzw. Ticket Granting Ticket, w skrócie: bilet (token).
Zadanie Testy penetracyjne Odpowiedź: port 88.
Zadanie Testy penetracyjne Na górze dioda, pytanie kłoda, Docenta poezja, zadanie herezja :D
(ang. vulnerability scanners) to zautomatyzowane narzędzia służące do identyfikacji błędów w systemie bezpieczeństwa, dotyczących określonego systemu lub aplikacji.
Skanery stosują zazwyczaj fingerprinting systemu operacyjnego będącego celem oraz wszystkich uruchomionych usług. Następnie skaner jest wykorzystywany do sprawdzenia określonych elementów w celu ustalenia, czy istnieją jakieś luki w zabezpieczeniach.
Terminologia Słów kilka o MSF Metasploit Framework to platforma typu open source zapewniająca spójną, niezawodną bibliotekę stale aktualizowanych exploitów oraz oferująca kompletne środowisko programistyczne do tworzenia nowych narzędzi i automatyzowania wszelkich aspektów testu penetracyjnego.
Terminologia Słów kilka o MSF Projekt ten ewoluuje bardzo szybko. Baza kodów jest aktualizowana dziesiątki razy dziennie przez zasadniczą grupę programistów oraz poprzez setki zgłoszeń od członków społeczności. Założycielem projektu Metasploit jest HD Moore.
Terminologia Założyciel Metasploit
Terminologia Ciekawostka W 2007 r. została wydana przepisana z języka Perl do języka Ruby wersja Metasploit 3.0. Migracja frameworku zajęła 18 miesięcy i dostarczyła ponad 150 000 wierszy kodu.
Terminologia Terminologia Exploit Exploit jest środkiem, za pomocą którego osoba atakująca (pentester) wykorzystuje wadę systemu, aplikacji lub usługi. Typowe exploity obejmują przepełnianie się buforów, luki w zabezpieczeniach aplikacji WWW (takie jak wstrzykiwanie zapytań SQL) oraz błędy w konfiguracji.
Terminologia Terminologia Ładunek Ładunek (ang. payload) to kod, który ma zostać wykonany przez system, a który jest wybierany i dostarczany przez framework. Przykładowo bind shell (wiązanie powłoki) to ładunek wiążący wiersz poleceń z nasłuchującym portem na maszynie docelowej, z którą wtedy połączyć się może osoba atakująca.
Terminologia Terminologia Kod powłoki Kod powłoki (ang. shellcode) to zestaw instrukcji wykorzystywany jako ładunek, w przypadku gdy dochodzi do eksploatacji. Kod powłoki jest zazwyczaj napisany w języku asemblera. W większości przypadków po wykonaniu danej serii instrukcji na maszynie docelowej pojawi się powłoka poleceń lub powłoka Meterpretera, stąd nazwa kod powłoki.
Terminologia Terminologia Moduł Moduł (and. module) to element oprogramowania, który może być wykorzystany przez Metasploit Framework.
Terminologia Terminologia Nasłuchiwacz Nasłuchiwacz (ang. listener) jest komponentem Metasploit, którego zadaniem jest oczekiwanie na przychodzące połączenia określonego rodzaju. Przykładowo po tym, jak zaatakowana maszyna poddana zostanie eksploatacji, może wywoływać przez internet maszynę atakującą. Nasłuchiwacz obsługuje takie połączenie, oczekując na maszynie atakującej na kontakt z eksploatowanego systemu.
Pytania?
Bibliografia http://www.metasploit.com/ http://www.pentest-standard.org/ http://www.dobreprogramy.pl/ http://wikipedia.org/
Dziękuję za uwagę