testy penetracyjne szkolenie fragment

background image

Szkolenie

Testy penetracyjne systemów IT

wybrane fragmenty prezentacji

Michał Sajdak, CISSP

Securitum

www.securitum.pl

background image

O dokumencie

Niniejsza prezentacja zawiera

wybrane slajdy

ze szkolenia:

testy penetracyjne systemów IT
organizowanego przez Securitum

Więcej informacji:

www.securitum.pl/szkolenia

Copyright 2009 Securitum

www.securitum.pl

background image

Czym jest test penetracyjny?

Symulowany atak na system IT

Ewentualnie wybrane elementy systemu IT

Penetration Test (pentest)
Test penetracyjny vs Audyt Bezpieczeostwa

Copyright 2009 Securitum

www.securitum.pl

background image

Po co wykonywad test penetracyjny?

Określenie bezpieczeostwa systemu

W zakresie realnej odporności na ataki

Najlepiej to zweryfikowad… przeprowadzając atak
Konkretny typ (klasa) ataku

np. próbujący wykraśd dane

Element całościowej analizy ryzyka

Chcę rozsądnie zarządzad ryzykiem w organizacji

Powinienem znad bieżący stan zabezpieczeo… oraz
ekspozycji na ataki

Copyright 2009 Securitum

www.securitum.pl

background image

Po co wykonywad test penetracyjny?

Element całościowej analizy ryzyka

Zasób -> podatnośd -> zagrożenie -> ryzyko

Skupiam się na określonym zasobie (np. jednym
serwerze)
Skupiam się na określonej grupie zagrożeo (np. atak
techniczny z zewnątrz organizacji)
Skupiam się na wyszukaniu stosownych podatności
Określam ryzyko

Jakie mogą byd skutki udanego ataku?
Jakie jest prawdopodobieostwo udanego ataku?

Copyright 2009 Securitum

www.securitum.pl

background image

Po co wykonywad test penetracyjny?

Zagrożenia

Test jest ograniczony czasowo

Realny atak taki nie jest…

Test powinien się skupiad na możliwie szerokiej gamie

zagrożeo / podatności

Do realnego ataku wystarczy wykorzystanie jednej

podatności

Test w znacznym stopniu zależy od kompetencji

pentesterów

Podobnie jak skuteczny atak w znacznym stopniu zależy od

kompetencji hackera

Copyright 2009 Securitum

www.securitum.pl

background image

Po co wykonywad test penetracyjny?

Zagrożenia

Test może negatywnie zadziaład na funkcjonalnośd systemu
IT

Przypadkowy DoS…
Ciężko znaleźd kompletnie odseparowane środowisko testowe

Test nie wykryje wszystkich podatności

Podobnie jak QA nie wykryje wszystkich błędów funkcjonalnych…

Z czasem wyniki testu stają się coraz mniej aktualne

Nowe podatności
Zmiany w systemie

Copyright 2009 Securitum

www.securitum.pl

background image

Elementy testu penetracyjnego

A) – elementy związane z projektem IT

Project Management

B) – elementy związane z techniczną pracą

„realny test penetracyjny”

Copyright 2009 Securitum

www.securitum.pl

background image

Elementy testu penetracyjnego - przygotowanie

1) Określenie przedmiotu testu

[what?]

Co testujemy?

np. grupę serwerów usługowych – w tym wszystkie
usługi na tych serwerach

Czy testujemy środowisko produkcyjne / testowe?

Czy środowisko testowe jest lustrzane w stosunku do
produkcyjnego?

Copyright 2009 Securitum

www.securitum.pl

background image

Elementy testu penetracyjnego - przygotowanie

2) Określenie typu testów (ze względu na
rodzaj zagrożenia / głębokośd testu)

[how?]

Wiedza ograniczona (testy blackbox) – np.
symulacja ataków z Internetu na serwer w DMZ
Wiedza pełna (testy whitebox) – np. symulacja
ataków osoby z wewnątrz
Wiedza częściowa (testy graybox)

Copyright 2009 Securitum

www.securitum.pl

background image

Elementy testu penetracyjnego - przygotowanie

3) Określenie typu testów (ze względu na
lokalizację)

[where?]

Zdalne

Z jakiego IP wykonywane będą testy?

Lokalne

11

Copyright 2009 Securitum

www.securitum.pl

background image

Elementy testu penetracyjnego - przygotowanie

4) Określenie konkretnych testów

[how?]

Jakie klasy testów są brane pod uwagę?

DoS? Social Engineering? Brute force? 0-days?

Symulacja pełnego włamania (działające na wyobraźnię, jednak

czasochłonne)
Tylko wykrycie określonych podatności, które z dużym

prawdopodobieostwem mogą prowadzid do pełnego ataku
Testy ręczne

Częśd testów wręcz z definicji nie da się przeprowadzid automatycznie

– np. badanie błędów logicznych w aplikacji

Testy automatyczne

Nie sposób wyobrazid sobie testu bez narzędzi – o różnym stopniu

automatyzacji

12

Copyright 2009 Securitum

www.securitum.pl

background image

Elementy testu penetracyjnego - przygotowanie

5) Określenie harmonogramu

[when?]

Deadline?
Czy testujemy tylko w godzinach roboczych / dniach
roboczych?
Czy w harmonogramie zawieramy kolejne sprawdzenie?
Czy jasno wskazujemy kiedy rozpocznie się test?

6) Określenie zespołu

[who?]

Klient
Zespół pentesterów

13

Copyright 2009 Securitum

www.securitum.pl

background image

Elementy testu penetracyjnego - przygotowanie

7) Określenie sposobu raportowania

[how?]

Jakie elementy znajdą się w raporcie?
Czy raport przekazany zostanie na koniec prac, czy
np. wysyłany jest update po każdym wykrytym
błędzie krytycznym?

8)Wnioski z wykonanych prac

[why?]

Potrzebna kolejna iteracja pentestu?
Jakie były problemy podczas wykonania audytu?

14

Copyright 2009 Securitum

www.securitum.pl

background image

Elementy testu penetracyjnego - przygotowanie

Pomocny może się okazad Zachman Framework

Zobacz: na google ;-)

Odpowiedź na poniższe pytania:

Why?
How?
What?
Who?
Where?
When?

15

Copyright 2009 Securitum

www.securitum.pl

background image

Elementy testu penetracyjnego - przygotowanie

Dwiczenie

Wypisad po dwa zagrożenia dla każdego z
wcześniej wymienionych punktów

na koniec szkolenia powtórzymy to dwiczenie

16

Copyright 2009 Securitum

www.securitum.pl

background image

Elementy testu penetracyjnego - przygotowanie

Checklista

Czy wiemy po co testujemy?
Czy wiemy co testujemy?
Czy znamy harmonogram?
Czy wiemy (dokładnie) jakie testy mają byd
wykonane?
Czy posiadamy zezwolenie na atakowanie celu ?
(oraz czy właściciel zna ewentualne zagrożenia)

17

Copyright 2009 Securitum

www.securitum.pl

background image

Elementy testu penetracyjnego - przygotowanie

Checklista

Czy posiadamy stosowne dostępy do testowanych
systemów?
Czy wiemy w jaki sposób raportowad?
Czy wiemy w jaki sposób chronid dane z pentestu /
bezpiecznie przesyład informacje do właściciela
systemu?

18

Copyright 2009 Securitum

www.securitum.pl

background image

Elementy testu penetracyjnego - przygotowanie

Checklista

Czy wiemy gdzie zgłaszad ewentualne problemy
podczas testu?
Czy mamy dostępne wszystkie wzmagane
narzędzia / sprzęt?
Czy pracownicy (administratorzy) docelowych
systemów będą wiedzied o planowanych atakach?

TAK – blue teaming
NIE – red teaming

19

Copyright 2009 Securitum

www.securitum.pl

background image

Elementy testu penetracyjnego - przygotowanie

Dwiczenie

Test penetracyjny
Spróbujmy wypełnid checklistę

20

Copyright 2009 Securitum

www.securitum.pl

background image

Elementy testu penetracyjnego - harmonogram

Przykładowy harmonogram

Wykres Gantta

MS Project
MS Visio
dotProject

21

Copyright 2009 Securitum

www.securitum.pl

background image

Metodologie / Dokumentacje

NIST (National Institute of Standards and

Technology)
OSSTMM (Open Source Security Testing

Methodology Manual)
ISSAF (Information Systems Security Assessment

Framework)
NSA (National Security Agency) Security

Configuration Guides
CIS Benchmarks

22

Copyright 2009 Securitum

www.securitum.pl

background image

Metodologie / Dokumentacje

Inne

Penetration Test Framework:

http://www.vulnerabilityassessment.co.uk/Penetration%2

0Test.html

Elementy charakterystyczne dla danego elementu

Aplikacje webowe (np. OWASP)
Sied zbudowana na komponentach CISCO (np. CISCO Safe)
Systemy mobilne (np. odpowiednie rekomendacje NIST)
Nmap Network Scanning: The Official Nmap Project Guide

to Network Discovery and Security Scanning

23

Copyright 2009 Securitum

www.securitum.pl

background image

Wybrane narzędzia

Nmap

Dwiczenie – przygotowad prosty skrypt w bashu

1) Prosty skan [TCP & UDP & Version & Script scan & OS fingerprint,

100 najpopularniejszych portów, tryb agresywny (czas), traceroute ]

IP do skanowania pobierz z pliku (np. networks.txt)
Wynik zapisz do osobnych plików wyjściowych / (jeden per host)

2.1) Full scan TCP & Version
2.2) Full scan UDP & Version

IP do skanowania pobierz z pliku (np. networks.txt)
Wynik zapisz do osobnych plików wyjściowych / (jeden per host)

– do tych samych co wyżej

3) Kilka nietypowych skanów (np. ACK, FIN, NULL, z danym portem

źródłowym – np. 80 TCP, 53 UDP, 500 UDP, z wykorzystaniem

fragmentacji, z błędnym checksum)

24

Copyright 2009 Securitum

www.securitum.pl

background image

Wybrane narzędzia

Hping

Dwiczenie – kontynuowad prosty skrypt w bashu

Wysład kilka nietypowych pakietów ICMP (różne type & code)

Problem? Można napisad prosty skrypt w pythonie (& scapy)

Traceroute (TCP, port 80)
Weryfikacja IP ID

25

Copyright 2009 Securitum

www.securitum.pl

background image

Exploity

Przepełnienie bufora

Program w pamięci:

Kod wykonywalny (code|

text

segment)

Dane (

data

,

bss

segment – zmienne globalne, statyczne)

Sterta (

heap

)

Stos (

stack

)

26

Copyright 2009 Securitum

www.securitum.pl

background image

Exploity

Przepełnienie bufora

Stack

Wykorzystywany przy wywołaniu funkcji
m.in. zawiera adres powrotu (EIP)

Dwiczenie

Prosty program z wywołaniem jednej funkcji
GDB
EIP (instruction pointer)
ESP (stack pointer)

27

Copyright 2009 Securitum

www.securitum.pl

background image

Exploity

gcc test.c –o test –g
gdb test
list 1, 20
ustawienie breakpointów
run
info register
x/16xw $esp

28

Copyright 2009 Securitum

www.securitum.pl

background image

Exploity

Lokalizacja adresu powrotu
disassemble main
Set *0x… (adres skoku) = 0x…(adres następnej
instrukcji)

29

Copyright 2009 Securitum

www.securitum.pl

background image

Exploity

Exploit

Kod wstrzykujący odpowiednie zmienne (przepełnienie
bufora + nadpisujący EIP)
Dowolny kod wykonywany przez atakowaną aplikację
(najczęściej

shell

code, ale niekoniecznie :-)

RET ustalamy tak aby trafił mniej więcej w nasz
shellcode (adres na stosie)
NOP|NOP|…NOP|SHELLCODE|RET|RET

\........................................./……/

30

Copyright 2009 Securitum

www.securitum.pl

background image

Exploity

Omijanie IDS

Wykrywanie kodu wstrzykującego (charakterystycznego
dla aplikacji)
Wykrywanie shellcode
Wykrywanie NOP
Warstwa sieciowa – np. fragmentacja
Nadmierny ruch sieciowy (wydajnośd IDS)

31

Copyright 2009 Securitum

www.securitum.pl

background image

Exploity

Omijanie IDS

Wykrywanie kodu wstrzykującego (charakterystycznego
dla aplikacji)

Alternatywne wstrzyknięcia

/ -> \
/ -> /././
Union -> /**/UniOn/**/

Wykorzystanie dodatkowych mechanizmów w warstwie
aplikacyjnej (np. RPC fragmentation)

32

Copyright 2009 Securitum

www.securitum.pl

background image

Exploity

Omijanie IDS

Wykrywanie shellcode

Wykorzystanie /bin///./sh
Zakodowanie / odkodowanie /bin/sh
Polimorficzny shellcode (zmieniający swój kod „w locie”)

http://www.milw0rm.com/shellcode/generator

shellcode obfuscator

33

Copyright 2009 Securitum

www.securitum.pl

background image

Exploity

Omijanie IDS

Wykrywanie NOP

0x90 0x90 0x90 …
Operacje dec / inc na rejestrach eax ebx ecx edx
echo –e „BITS32\ninc eax\ninc edx” > asm.s
nasm asm.s
hexdump –C asm

34

Copyright 2009 Securitum

www.securitum.pl

background image

Exploity

Omijanie IDS

Warstwa sieciowa – np. fragmentacja IP
tcpreplay + zintegrowany fragroute

nagranie komunikacji exploita (tcpdump)
konfiguracja fragroute (odpowiednia fragmentacja –
poprawna, niepoprawna)
tcpreplay zmodyfikowanej komunikacji

35

Copyright 2009 Securitum

www.securitum.pl

background image

Exploity

Omijanie IDS

Nadmierny ruch sieciowy (wydajnośd IDS)

Tomahawk

Generacja ruchu > 100Mbps
Replay ataków ze zrzutów sieciowych (jak tcpreplay)

Blokada wszystkich ataków (a nie np. 70% po przekroczeniu
„krytycznego” nasycenia łącza
Sam protokół http to tylko jeden protokół L7… -> IDS nie jest
fizycznie w stanie analizowad dokładnie całego ruchu

36

Copyright 2009 Securitum

www.securitum.pl

background image

Exploity

IDS

Wykorzystanie realnych ataków…

http://wiki.wireshark.org/SampleCaptures

slammer.pcap

Inne zrzuty pcap dostępne w necie ;-)

http://pcapr.net/

(> 2300 pcaps)

Kilka dostępnych w tomahawk (extras@sourceforge)

Nagranie ruchu (tcpdump) wygenerowanego ręcznie
przez metasploit

37

Copyright 2009 Securitum

www.securitum.pl


Wyszukiwarka

Podobne podstrony:
Testy 2012 szkolenie%20korespondencyjne%20kwiecie%c5%83%202012
Testy 2012 szkolenie%20korespondencyjne%20listopad%202011
Cwiczenie 04 Testy penetracyjne rekonesans
BSI-wsti-02c-testy penetracyjne, enumeracja
Testy 2012 szkolenie%20korespondencyjne%20marzec%202012
hakin9 6 2004 testy penetracyjne demo
Cwiczenie 05 Testy penetracyjne techniki skanowania
TESTY - BHP, szkolenia
2009 05 Testy penetracyjne
Cwiczenie 07 Testy penetracyjne ataki DoS
Cwiczenie 06 Testy penetracyjne enumeracja systemu Windows
Hacking i testy penetracyjne Podstawy
Bezpieczny system w praktyce Wyzsza szkola hackingu i testy penetracyjne Georgia Weidman

więcej podobnych podstron