You are on page 1of 17

Spis treści

Kapelusze, tygrysy i etyka hakowania ................................................................................................................. 2


Kapelusze i tygrysy............................................................................................................................................. 2
Inne określenia z branży hakerskiej ................................................................................................................ 3
Script kiddies ...................................................................................................................................................... 4
Tiger Team .......................................................................................................................................................... 4
Etyka hakowania ................................................................................................................................................ 4
Przesąd prawomyślnego obywatela ............................................................................................................... 4
Przesąd gry komputerowej i przesąd Hakera ................................................................................................ 5
Hacktivism ........................................................................................................................................................... 5
Etyczny haker ...................................................................................................................................................... 6
Rodzaje testów penetracyjnych ........................................................................................................................... 6
Poznaj wroga – anatomia ataku .......................................................................................................................... 8
Rozpoznanie ..................................................................................................................................................... 10
Skanowanie ....................................................................................................................................................... 10
Uzyskanie dostępu ........................................................................................................................................... 10
Utrzymanie dostępu ........................................................................................................................................ 10
Zacieranie śladów ............................................................................................................................................ 10
Rozpoznanie ..................................................................................................................................................... 11
Skanowanie........................................................................................................................................................... 13
Wykrycie aktywnych maszyn .......................................................................................................................... 13
Nmap ................................................................................................................................................................. 14
Uzyskanie i utrzymanie dostępu.................................................................................................................... 14

Testy penetracyjne - sztuka etycznego hakowania 1


Zabezpieczanie sieci organizacji jest procesem ciągłym, podlegającym kolejnym udoskonaleniom,
mającym na celu minimalizację zagrożeń, na jakie narażone są chronione zasoby. Ponieważ
zasadniczym celem wdrażania wszelkich firewalli, IDS i innych zbliżonych rozwiązań jest zapobieganie
atakom sieciowym, należałoby sobie zadać pytanie – na ile podjęte przez nas działania są skuteczne
wobec rzeczywistych zagrożeń?

Załóżmy bardzo prosty i prawdopodobny scenariusz – właśnie postawiliśmy sobie bramę do Internetu,
która pracuje jako Firewall, obsługując zarówno klientów wewnętrznych (którzy poprzez nią korzystają
z zasobów w Internecie), jak i klientów zewnętrznych, poprzez wydzielony interfejs sieciowy, na którym
umieściliśmy strefę zdemilitaryzowaną z publicznym serwerem WWW, FTP i pocztowym. Wydaje się, że
zrobiliśmy wszystko jak należy – jeżeli jednak trapią nas wątpliwości, to jest właściwy moment, w
którym powinniśmy rozważyć przeprowadzenie testów penetracyjnych.

Może ten tytuł zabrzmi nieco dziwnie, ale ma on swoje uzasadnienie, które zaraz przedstawię.
Zacznijmy jednak od definicji hakera. Według wzorców wyniesionych z Hollywood to najczęściej
genialny nastolatek, który włamuje się do systemów komputerowych, ewentualnie może to być
(również genialny) przestępca włamujący się do sieci NASA, CIA lub innej w celu siania zniszczenia lub
kradzieży (jak najbardziej genialnych) wynalazków.

W potocznym angielskim haker niekoniecznie musi być kojarzony z przestępcą komputerowym, raczej
jest to osoba, która pragnie zgłębić tajniki jakiejś dziedziny, zbadać ją od podszewki, zrozumieć jak
działa i wiedzę tę wykorzystać – niekoniecznie w niecnych celach. Jeżeli czytamy w Internecie o google
hacks – to nie chodzi tu o włamanie do jednej z najpopularniejszych wyszukiwarek w sieci, ale o
wykorzystanie jej wszystkich możliwości, dokładne poznanie wszystkich opcji i możliwości.

Skoro już wiemy, że nie zawsze haker jest tożsamy z hollywoodzkim przestępcą komputerowym, to
chyba czas napisać parę słów o rodzajach hakerów. Podstawowy i najczęściej spotykany jest podział
„kapeluszowy”.

Tabela 1. „Kapeluszowy” podział hakerów

Czarne kapelusze Jak sama nazwa wskazuje – mówimy tutaj o czarnych


charakterach. To właśnie o nich Hollywood kręci firmy. Są to
Black Hats
przestępcy, wykorzystujący swoją wiedzę o systemach

Testy penetracyjne - sztuka etycznego hakowania 2


komputerowych w celu osiągnięcia wymiernych korzyści, w
sposób niezgodny z prawem i nieetyczny.

Mogą działać na własną rękę, lub na zlecenie – na przykład jako


szpiedzy przemysłowi, starający się wykraść tajemnice
przedsiębiorstwa, albo zniszczyć jego wiarygodność u klientów.
Mogą to być też złodzieje kradnący numery kart kredytowych,
sprzedający wykradzione dane osobowe itd. Pole działalności jest
szerokie, zawsze jednak nieetyczne i często kolidujące z
obowiązującym prawem.

Białe kapelusze Stanowią opozycję względem opisanych wyżej czarnych


charakterów. Białe kapelusze to uzdolnieni i wysokokwalifikowani
White Hats
inżynierowie, wykorzystujący swoją wiedzę w celu testowania
zabezpieczeń systemów informatycznych.

Jeżeli mówimy o testach penetracyjnych to właśnie do nich


powinniśmy się zwrócić – posiadają odpowiednie zaplecze
technologiczne i wiedzę, pozwalającą na skuteczne i efektywne
przeprowadzenie testów.

Szare kapelusze W tym przypadku mówimy o nawróconych hakerach: Czarnych


kapeluszach, którzy porzucili działalność przestępczą i prowadzą
Gray hats
legalną działalność konsultantów bezpieczeństwa,
przeprowadzających testy penetracyjne.

Skorzystanie z usług takiej osoby ma widoczne gołym okiem


zalety – wynajmujemy osobę, która włamywała się do środowisk
produkcyjnych, świetnie zna techniki do tego niezbędne, ma duże
doświadczenie w obszarze włamań.

Niestety, wady są równie widoczne: musimy zdecydować, czy


rzeczywiście chcemy zapłacić takiej osobie za to, by próbowała się
włamać do najpilniej strzeżonych zasobów naszej firmy.
Podejrzana działalność z przeszłości rzutuje na ocenę moralną
takiej osoby – od nas zależy, czy zechcemy jej zaufać. Termin
Szary kapelusz ma jednoznacznie wskazywać na fakt, że był on w
przeszłości Czarny i nie da się go nigdy całkowicie wybielić.

Znając podstawowe typy hakerów przyjrzyjmy się bliżej kilku innym określeniom „z branży hakerskiej”.

Testy penetracyjne - sztuka etycznego hakowania 3


Jednoznacznie negatywnym określeniem jest cracker – to osoba, która wykorzystuje wszelkie środki (w
tym nielegalne) w celu osiągnięcia osobistych korzyści lub zaszkodzenia komuś.

Script kiddies – tłumacząc dosłownie „skryptowe dzieciaki” – jest to zjawisko wynikające z


powszechnego dostępu do różnorodnych narzędzi umożliwiających przeprowadzenie ataków na sieci
komputerowe. Mając odpowiednie narzędzie atak może przeprowadzić nawet dziecko. Akcent należy
położyć tu na łatwość wykorzystania we wrogim celu narzędzi, bez pełnego zrozumienia zasady
wykorzystywanej podatności, bez dogłębnej wiedzy na temat atakowanego systemu.

Kiedyś haker musiał być technicznym ekspertem potrafiącym samemu pisać oprogramowanie, które
wykorzystywał badając interesujący go system – obecnie można ściągnąć gotowego exploita nie mając
pojęcia jak on działa – i co gorsza skutecznie go wykorzystać by komuś zaszkodzić.

Tiger Team – zespół tygrysów – tym mianem określa się wysoko kwalifikowany zespół ekspertów
przeprowadzających testy bezpieczeństwa, w tym testy penetracyjne. Są w nim specjaliści z różnych
dziedzin, a połączenie ich działań ma prowadzić do skutecznego przetestowania szerokiego spektrum
zabezpieczeń – technologicznych, fizycznych, proceduralnych. Termin ten pierwotnie wywodzi się z
działań grup wojskowych, które przeprowadzały testy zabezpieczeń we własnych obiektach – jeżeli
udało im się pokonać zabezpieczenia pozostawiali dowód swojej działalności (np. przez zostawienie
kartki z wiadomością w sejfie z kodami, do którego udało im się niepostrzeżenie włamać).

Zakładając, że hakowanie niekoniecznie jest jednoznacznie złe, możemy się przyjrzeć, jakie działania
uznamy za etyczne a jakie nieetyczne.

Zanim napiszę dokładniej, jak należy rozumieć etyczne hakowanie i kim jest etyczny haker, chciałbym
wspomnieć choć w kilku słowach o paru przesądach błędnie funkcjonujących w świadomości wielu
użytkowników Internetu.

Przesąd prawomyślnego obywatela (The Law-Abiding Citizen Fallady) polega na myleniu tego, do
czego mamy prawo z tym, co możemy robić. Amerykanie najczęściej powołują się tutaj na pierwszą
poprawkę do swojej konstytucji, która definiuje wolność słowa w USA. Błędne rozumowanie polega na
rozciąganiu tego prawa do obszarów, które są szkodliwe dla społeczeństwa.

Posłużmy się tu przykładem osoby piszącej szkodliwy wirus komputerowy, zasłaniającej się prawem
do wolności słowa – tłumacząc, że konstytucja zapewnia im prawo do wyrażania swoich poglądów w

Testy penetracyjne - sztuka etycznego hakowania 4


formie pisania, a oni robią to pisząc wirusy. Pomijając aspekt prawny, takie działanie jest nieetyczne,
ponieważ poprzez wywołane przez wirusa szkody szkodzi społeczeństwu, nie wnosząc nic dobrego.

Przesąd gry komputerowej i przesąd Hakera (The Computer Game Fallacy & The Haker Fallacy) -
najpopularniejszy przesąd, uznający że komputer nie pozwoli nam zrobić czegoś złego. Wywodzi się z
przekonania, że komputer jest tak stworzony, że generalnie nie pozwala na oszukiwanie i nadużycia.
Efektem tego przesądu jest przeświadczenie, że jeżeli system nie jest właściwie chroniony to
odpowiada za to tylko i wyłącznie jego administrator. Hakerzy wykorzystują to przeświadczenie na
kilka sposobów: po pierwsze twierdzą, że jeżeli administrator nie chciał kogoś wpuścić do systemu, to
powinien go lepiej zabezpieczyć. Idąc dalej, są tacy, którzy włamując się do systemów uważają, że
robią to dla dobra jego użytkowników, bowiem pozwalają na odkrycie słabych stron zaatakowanego.
Mówiąc: „Jeżeli nie chcesz, bym się włamał do twojego systemu, uczyń to niemożliwe, inaczej mam
prawo przetestować bezpieczeństwo systemu i włamać się do niego” uważają to za poprawne. „Jeżeli
zostawiłeś dziurę w systemie to Twoja wina, a ja tylko z niej skorzystałem” Niestety, życie to nie gra
komputerowa i obowiązują w nim inne reguły. W grze wszystko jest czarne lub białe, w życiu mamy
pełną skalę odcieni szarości.

Porównują powyższe stwierdzenia do sytuacji z życia codziennego, można by uznać, że jeżeli ktoś
zostawił uchylone okno wychodząc do pracy, to mamy pełne prawo włamać się przez nie – a to nic
innego jak przestępstwo. W przypadku systemu komputerowego być może nie skonfigurowaliśmy
prawidłowo zapory ogniowej, ale nie daje to prawa do włamywania się do naszej sieci. Podobnie jest
ze skanowaniem komputerów – to jakbyśmy weszli na cudze podwórko i szarpali za wszystkie klamki i
próbowali, czy okna są aby dobrze zamknięte – chyba nikt by tego nie uznał za normalne, a w
przypadku komputerów wiele osób nie widzi w tym nic złego.

Przesąd hakera mówi, że jeżeli nie robimy nic mając złe intencje, nie czynimy nic złego. A że mamy
prawo do nauki dla samej nauki, możemy do woli eksperymentować, tak długo jak długo nie chcemy
kogoś skrzywdzić. Błąd tego rozumowania można wyjaśnić opierając się na wcześniejszym przykładzie
z otwartym oknem. Nieetyczny haker uznaje za dopuszczalne włamanie się przez dziurę w systemie w
celu spenetrowania go, nie widzi w tym nic złego tak długo jak długo nie chce komuś szkodzić.
Ciekawy, czy gdyby ktoś włamał się do jego mieszkania przez uchylone okno, tylko po to, by przeczytać
jego korespondencję, zobaczyć co ma w szafach i szufladach, pobuszować w lodówce i nic nie
uszkodził uznałby to za poprawne?

Poza powyższymi przesądami funkcjonuje jeszcze ciekawe pojęcie hacktivism – oznacza ono
wykorzystywanie działań o podłożu hakerskim w celu osiągnięcia jakiś wyższych celów, a nie tylko w
celu zdobycia korzyści dla siebie. Jednak takie działania nadal pozostają w sprzeczności z prawem,
które daje nam inne możliwości wyrażania swoich opinii i przekonań. Wykorzystując naszą
wcześniejszą analogię można uznać włamanie się na cudzy serwer WWW w celu zmiany treści serwisu

Testy penetracyjne - sztuka etycznego hakowania 5


na głoszący nasze postulaty jest porównywalne do włamania się do cudzego domu w celu
wywieszenia własnych transparentów na jego froncie.

W pierwszym odruchu, po tym co napisałem wyżej może wydawać się, że w tym zestawieniu dwóch
wyrazów występuje sprzeczność. Jeżeli jednak wrócimy do pierwotnej definicji hakera jako osoby
pragnącej dokładnie poznać system, aby go lepiej zrozumieć i wykorzystać, okaże się, że nie jest to
oksymoron.

Etyczny haker to Biały kapelusz – osoba wykorzystująca swoje umiejętności w celu pomocy innym,
zwiększenia bezpieczeństwa, poprawy jakości działania systemu. Od nieetycznego hakera różni się
intencjami, ale również formalnym podejściem do swoich działań.

Etyczny haker nie będzie badał cudzej sieci aby stwierdzić, czy jest bezpieczna – tak długo, jak długo
nie zostanie o to poproszony – a podstawą dla jego działań będzie zlecenie klienta. Działa na korzyść
klienta, który sam zdecydował o konieczności przeprowadzenia testów. Podstawą do jego działań jest
formalna umowa, określająca zakres i dopuszczalne formy testów.

Wykorzystuje profesjonalne podejście do zarządzania całym procesem testów, definiuje ścieżki


eskalacji w przypadku pojawienia się niespodziewanych problemów, wykrycia krytycznych luk w
systemie, dokładnie określa jaki będzie efekt testów, jaka dokumentacja w ich efekcie powstanie itd.
Wszystkie działania są legalne, uzgodnione z klientem i właściwie zaplanowane.

Zanim przystąpimy do opisu przebiegu testów penetracyjnych, przyjrzyjmy się pokrótce najczęściej
wstępującym kategoriom testów penetracyjnych. Poniższa tabelka stanowi ich przegląd.

Tabela 2. Rodzaje testów penetracyjnych

Podział ze względu na znajomość infrastruktury klienta

Czarna skrzynka Przy tego rodzaju testach klient zamawia usługę nie zdradzając
żadnych informacji o swoim środowisku. Zespół testerów jest w
Black Box testing
pełni zdany na siebie – musi sam znaleźć metody dotarcia do
informacji o badanym kliencie, jego sieci, serwerach, dostępnych
usługach itp.

Tego rodzaju testy pozwalają w pełni zasymulować ewentualny


atak osoby z zewnątrz, na początku swoich działań nie posiadającej
żadnych informacji o celu.

Plusem tego rodzaju działalności jest możliwość w miarę


dokładnego oddania przebiegu rzeczywistego ataku. Wymaga
wysokich umiejętności ze strony testujących, najczęściej jest

Testy penetracyjne - sztuka etycznego hakowania 6


najdłużej trwającym testem, niestety jest to również najdroższa
metoda

Biała skrzynka Ten rodzaj testu zapewnia zespołowi testerów pełny dostęp do
dokumentacji badanego systemu.
White Box testing
Poprzez umożliwienie dostępu do dokumentacji nie zostanie w
pełni odwzorowany proces ataku przeprowadzanego od zera, przez
osobę nie mającą pojęcia o swoim celu. Zaletą jest zazwyczaj niższa
cena, możliwa dzięki skupieniu się tylko na wybranych testach, co
znacząco skraca czas potrzebny do zakończenia testów

Szara skrzynka Testy są przeprowadzane z pozycji pracownika firmy, mającego


pewną znajomość środowiska, jednak bez pełnego dostępu do
Grey Box testing
dokumentacji

Podział ze względu na cel ataku

Zewnętrzny atak Konsultant przeprowadzający test penetracyjny próbuje włamać się


sieciowy do firmy poprzez Internet. Występuje w pozycji wrogiego hakera,
który korzystając z udostępnionych poprzez Internet zasobów firmy
usiłuje włamać się i przejąć nad nimi kontrolę

Zewnętrzny atak Forma coraz rzadziej spotykana, czasem nazywana wardialing,


telefoniczny (dial- wykorzystująca specjalne programy (wardialer) automatycznie
up) dzwoniące pod wybrane zakresy numerów telefonów.

Po wykryciu modemu można próbować wykorzystać go do


dostania się do sieci wewnętrznej. Wykrycie modemu czasem
pozwala na ominięcie wielu zabezpieczeń ustawionych na styku
sieci chronionej z Internetem. Modem może na przykład być
podłączony do w celu umożliwienia zdalnego zarządzania
komputerem, serwerem, routerem, centralą telefoniczną itp.

Wewnętrzny atak Osoba przeprowadzająca test stara się zbadać podatność na ataki
sieciowy przeprowadzane z sieci wewnętrznej – na przykład przez
pracownika niezadowolonego z pracy, wrogiego hakera, który
zatrudnił się tylko w celu uzyskania dostępu do zasobów w naszej
sieci

Dostęp fizyczny Polega na próbie uzyskania fizycznego dostępu do zasobów. Może


to być wejście do firmy pod jakimś pretekstem, po to by uzyskać
bezpośredni dostęp do serwerów lub urządzeń sieciowych. Jak
mówi jedna z zasad bezpieczeństwa komputerowego, jeżeli ktoś

Testy penetracyjne - sztuka etycznego hakowania 7


może uzyskać dostęp fizyczny do twojego komputera, nie jest to już
twój komputer.

Uzyskanie dostępu fizycznego do infrastruktury sieciowej – choćby


na chwilę – może być również zaledwie krokiem przygotowującym
do dalszych ataków – jeżeli uda się wejść do firmy, a nie uda się
dostać bezpośrednio do pomieszczenia z serwerami, wystarczy
wpiąć w gniazdko sieciowe Access Point i potem spokojnie
wykorzystać go jako punkt do rozpoczęcia ataku w sieci
wewnętrznej, z pominięciem wszystkich urządzeń chroniących
przed atakami z Internetu

Skradzione Ten rodzaj testu ma na celu sprawdzenie, jakie informacje można


urządzenia uzyskać w przypadku kradzieży urządzeń – najczęstszym celem są
tutaj laptopy. Należy uświadomić sobie, jak duże zagrożenia kryją
się za kradzieżą notebooka:

- komputery przenośne często są używane przez kierownictwo,


które z uwagi na naturę ich obowiązków często ma dostęp do
istotnych i poufnych informacji

- mając do dyspozycji skradziony komputer, atakujący dysponuje


dowolnie długim okresem na przełamanie zabezpieczeń

- mając dostęp fizyczny można zupełnie pominąć większość


zabezpieczeń, jakie oferują systemy operacyjne

Atak Celem ataków socjotechnicznych są ludzie. Często mówi się, że to


socjotechniczny właśnie ludzie są najsłabszym ogniwem w łańcuchu zabezpieczeń.
(inżynieria Socjotechnika pozwala na wykorzystanie pewnych cech wspólnych
społeczna) dla większości ludzi w celu uzyskania informacji. Niekoniecznie
mówimy tu o cechach zazwyczaj identyfikowanych jako wady –
wiele socjotechnik bazuje na przykład na naszej chęci pomocy
innym. Hakerem znanym z perfekcyjnego opanowania
socjotechniki był Kevin Mitnick – warto przeczytać jego książkę
Sztuka podstępu, by nabrać wyobrażenia jakich technik używa się w
celu pozyskania informacji bezpośrednio od ludzi

Poznaj swojego wroga – ta strategia jako podstawa zwycięstwa jest doskonale znana i w praktyce
stosowana w wojskowości – już od wielu wieków. W VI wieku przed Chrystusem chiński strateg Sun
Tzu pisał w traktacie Sztuka Wojny:

Testy penetracyjne - sztuka etycznego hakowania 8


Więc jest powiedziane, że jeżeli znasz swoich wrogów i znasz siebie, nie będziesz narażony na
niebezpieczeństwo w stu bitwach, jeżeli nie znasz swojego wroga a znasz siebie, raz wygrasz a

raz przegrasz, jeżeli nie znasz swojego wroga ani nie znasz siebie, przegrasz w każdej bitwie.

Trochę krócej ta sama myśl jest wyrażona w innym cytacie z Sun Tzu:

Jeżeli znasz siebie i swojego wroga, wyjdziesz ze stu bitew ze stu zwycięstwami.

Aby móc skutecznie walczyć z zagrożeniami, najpierw musimy się z nimi zapoznać. Jeżeli mamy
odnieść sukces, musimy jak najlepiej poznać naszego wroga, jego metody, taktykę i strategię, nie
zapominając o perfekcyjnej znajomości własnego środowiska.

Aby móc skutecznie bronić się przed atakiem, musimy najpierw jednoznacznie określić co mamy
bronić i jakie mamy w tym zakresie możliwości – to jest znajomość siebie. Znajomość technik
stosowanych przez hakerów pozwoli nam na przybranie odpowiedniej strategii obrony – to jest
znajomość wroga. Łącznie te dwa elementy powinny zwiększyć nasze szanse w walce z zagrożeniami,
minimalizując ryzyko do akceptowalnego minimum.

Proces ataku podlega określonej metodologii i w większości przypadków można go uznać za


powtarzalny (przynajmniej w zakresie głównych faz i kolejności ich występowania). Przeprowadzając
testy penetracyjne odtwarzamy postępowanie wrogiego hakera, co powinno pozwolić nam na
osiągnięcie zbliżonych rezultatów.

Poniższy wykres kołowy prezentuje typowy przebieg ataku.

1. 2.
Rozpoznanie Skanowanie

5. 3.
Zacieranie Uzyskanie
śladów dostępu

4.
Utrzymywanie
dostępu

Rysunek 1. Typowy przebieg ataku

Testy penetracyjne - sztuka etycznego hakowania 9


Jest to faza początkowa przed właściwym atakiem. Podczas rozpoznania atakujący zbiera jak najwięcej
informacji o interesującym go celu. Informacje te zostaną wykorzystane później, podczas właściwej
próby ataku. Jako przykład może posłużyć zebranie informacji o publicznych adresach IP
wykorzystywanych przez cel ataku – co prowadzi nas do kolejnego kroku – skanowania.

Większość działań na tym etapie ma charakter pasywnego zbierania danych i analizy informacji pod
kątem ich ewentualnej przydatności do dalszych działań.

Skanowanie jest aktywną próbą pozyskania informacji o urządzeniach i usługach dostępnych w


atakowanej sieci. W jego wyniku atakujący powinien otrzymać listę maszyn, systemów operacyjnych,
usług wraz z wersjami (np. Windows 2000 z aktywną usługą IIS 5.0 lub Linux z aktywną usługą
sendmail).

Na podstawie informacji o systemach i usługach zebranej w wyniku poprzedniego kroku atakujący


wybiera właściwą formę ataku, pozwalającą mu na uzyskanie dostępu do konkretnej maszyny. Może
zdecydować się na atak na konto administratora z wykorzystaniem generatora haseł, może skorzystać
z ataków na konkretną usługę (np. poprzez przepełnienie bufora) itp. Konkretna metoda ataku zawsze
zależy od celu, przeciw któremu jest skierowana.

Mając już dostęp do danego komputera atakujący w kolejnym kroku stara się utrzymać ten dostęp.
Może zainstalować w tym celu rootkit, jeden z wielu back doorów, może uruchomić netcat, aby bez
problemu móc wrócić do opanowanej przez siebie maszyny. Częstym działaniem w tym etapie jest
wgranie brakujących poprawek do systemu – ma to na celu uniemożliwienie przejęcie komputera
przez innego atakującego. Jeżeli haker opanował system korzystając z ataku przepełnienia bufora w
IIS, nie chce oddać swojej zdobyczy innemu hakerowi, korzystającemu z tej samej podatności.

W tym etapie dochodzi do właściwej eksploracji systemu, próby wykradzenia informacji itp. Haker
może też zdecydować się do wykorzystania opanowanego systemu jako przyczółka do dalszych
ataków na inne systemy.

Skoro już udało się uzyskać i utrzymać system, kolejnym krokiem jest zadbanie o pozostanie
niewykrytym jak najdłużej. Działania, które mają to umożliwić to na przykład zmiana zawartości logów
lub ich wykasowanie.

Warto zwrócić uwagę na kołowy charakter wykresu. Ma on podkreślić fakt, że haker po opanowaniu
jednej maszyny lub sieci może ją wykorzystać do ataku na kolejne. Jeżeli już udało się opanować jeden

Testy penetracyjne - sztuka etycznego hakowania 10


komputer w DMZ, możemy go wykorzystać do dalszego penetrowania interesującej sieci. Pozostając w
DMZ nie musimy się przedzierać poprzez Firewall, a jeżeli zdecydujemy się na atak na sieć wewnętrzną
najczęściej mamy znacznie ułatwione zadanie – jakiś rodzaj ruchu między DMZ a siecią wewnętrzną
najczęściej jest legalny (np. we wszelkiego rodzaju konfiguracjach front end – back end: serwery
pocztowe, serwery WWW lub aplikacyjne korzystające z baz danych w sieci wewnętrznej itp.). Atak z
wykorzystaniem kanału dopuszczanego jako legalny nie zostanie wychwycony przez Firewall, wymaga
on zastosowania w sieci urządzeń klasy IDS/IPS.

W dalszej części tekstu postaram się nieco szerzej omówić poszczególne fazy ataku ze wskazaniem na
kilka narzędzi, które można wykorzystać na danym etapie.

Angielski termin opisujący ten etap to footprinting – co można tłumaczyć jako tropienie, podążanie za
śladami. Jeżeli ktoś w dzieciństwie czytał książki Karola Maya może mieć skojarzenia z tropicielami,
podążającymi śladem innych – poniekąd będzie to słuszne skojarzenie.

Footprinting to proces odnajdywania śladów tam, gdzie inni ich nie dostrzegają i wyciąganie z nich
informacji, które często nie były celowo pozostawione. To umiejętność dostrzegania i odczytywania
śladów z wielu źródeł.

Proces ten jest bardzo ważny w przypadku testów typu black box – czyli kiedy nie posiadamy wiedzy o
środowisku klienta, który zamówił testy penetracyjne. W przypadku testów white box jest on
pomijalny.

Zastanówmy się najpierw, jakich informacji może szukać wrogi haker, co pozwoli nam na wskazanie
miejsc, gdzie można się ich spodziewać. Najczęściej poszukiwane informacje to między innymi:
 Adres lub adresy firmy;
 Informacje o pracownikach (nazwiska, telefony, adresy email);
 Informacje DNS (zarejestrowane nazwy, usługi);
 Zakresy używanych adresów publicznych;
 Technologie używane w firmie.

Większość z podanych wyżej informacji jest mniej lub bardziej świadomie udostępniana publicznie.
Idąc tym tropem, spróbujmy odpowiedzieć sobie gdzie i jak szukać interesujących nas informacji, oraz
co możemy zrobić z już zdobytą wiedzą.

Adres firmy najprawdopodobniej zdobędziemy bez problemu na stronie WWW. Jest duża szansa, że
również znajdziemy tam przynajmniej część informacji o kluczowych pracownikach. Te informacje
stanowią doskonałą odskocznię do rozpoczęcia ataku socjotechnicznego. Znając nazwiska i numery
telefonu możemy próbować podszywać się pod prawdziwych pracowników, aby wydobyć interesujące

Testy penetracyjne - sztuka etycznego hakowania 11


nas informacje o badanej firmie – bez wzbudzania podejrzeń wykorzystywanych w tym celu
pracowników.

Często stosowaną metodą jest stworzenie lokalnej kopii serwisu WWW. Można do tego celu
wykorzystać różne narzędzia. Taką kopię można potem spokojnie przeglądać w wolnej chwili w celu
uzyskania interesujących nas informacji.

Jeżeli interesują nas informacje historyczne, już niedostępne na serwisie WWW, można skorzystać z
serwisów archiwizujących Internet, takich jak http://www.archive.org/, które periodycznie zapisują
stan aktualny wielu serwisów WWW. Można tam zobaczyć choćby zawartość serwisu Onet z lutego
1997 roku – ciekawe doświadczenie z perspektywy 9 lat. Trochę się przez te lata zmieniło…

Często nawet jeden adres email pozwoli nam na wydedukowanie metody generowania adresów na
serwerze pocztowym i pozwoli z dużym prawdopodobieństwem wygenerować fałszywy mail do
dowolnego pracownika, z próbą podszycia się pod cudzą tożsamość.

Adres fizyczny może pozwolić na podjęcie próby pozyskania informacji bezpośrednio w siedzibie –
albo poprzez wizytę, albo chociażby przez dumpster diving. Dumpster diving to nic innego jak
przeglądanie śmieci w celu znalezienie interesujących informacji. Jeżeli oglądaliście film Sneakers, to
jest tam scena, w której hakerzy przynoszą do swojego biura worki śmieci w celu ich przejrzenia – to
właśnie jest przykład takiej działalności. W organizacjach o ścisłym nadzorze nad informacjami stosuje
się specjalne metody nadzorowania śmieci – za przykład może posłużyć pełne śledzenie informacji po
opuszczeniu systemu informatycznego (np. wydrukowaniu). Są organizacje, w których śledzi się
informację w systemie (choćby poprzez metody kontroli dostępu takie jak DAC – ACL, MAC, audyt
dostępu do plików), poza systemem, np. po wydrukowaniu, przez wstępne zniszczenie (np. poprzez
niszczarkę mielącą papier), nadzorowany transport do spalarni aż do umieszczenia ich w piecu i
spalenie.

Świetnym źródłem informacji są też internetowe wyszukiwarki takie jak Google, Yahoo czy Altavista.
Jeżeli kogoś interesuje wykorzystanie użycie wyszukiwarek, warto przeczytać książkę Google hacking for
Penetration Testers – niestety, z tego co mi wiadomo nie doczekała się ona polskiego wydania. Chociaż
trudno w to uwierzyć, czasem wystarczy wpisać w Google:
intitle:”Index of..etc” passwd

by znaleźć wiele interesujących informacji.

Informacje o zarejestrowanych adresach IP (wraz z dodatkowymi – o administratorach itp.) znajdziemy


na stronach instytucji przydzielających adresy publiczne, takich jak nasz polski NASK, RIP NNC, ARIN,
APNIC, LACNIC.

Testy penetracyjne - sztuka etycznego hakowania 12


Możemy też wykorzystać serwisy i usługi typu whois czy finger. Możemy zarówno opierać się na
serwisach dostępnych przez WWW czy też komercyjnych lub darmowych narzędziach.

Kolejną bardzo istotną informacją dla wrogiego hakera lub zespołu testującego bezpieczeństwo są
dane o technologiach używanych przez cel ataku. Znajomość ich może znacząco pomóc przy obieraniu
celu ataku, jak również podnieść prawdopodobieństwo powodzenia, przy mniejszych nakładach.

Gdzie szukać takich informacji? Również tutaj mogą pomóc wyszukiwarki. W szczególności dobrym
źródłem mogą być grupy dyskusyjne. Jeżeli stwierdzimy, że administrator systemu często szuka
pomocy związanej z użytkowaniem Debiana, możemy spodziewać się, że w swojej sieci użytkuje
maszyny z tą dystrybucją. Czasem warto śledzić wiadomości producentów lub integratorów – zdarza
się, że ktoś chwali się podpisaniem kontraktu z celem ataku na dostawę konkretnego rozwiązania.
Jeżeli przeczytamy o dużej sprzedaży zapór ogniowych CheckPoint, możemy spodziewać się, że
będziemy mieli do czynienia z Firewall 1.

Wszystkie zebrane w tej fazie informacje mają nam ułatwić zadanie w kolejnych etapach.

Po zebraniu informacji o celu ataku mamy pewne pojęcie o tym, czego możemy się spodziewać. W
kolejnym kroku przechodzimy do swego rodzaju inwentaryzacji potencjalnych celów ataku, którą
przeprowadzimy korzystając z narzędzi do skanowania sieci.

Skanowanie można podzielić na trzy podstawowe podetapy:

 Wykrycie aktywnych maszyn;

 Badanie usług dostępnych na wykrytych wcześniej maszynach;

 Inwentaryzacja usług i kont.

Ostania część nie zawsze jest możliwa, zwłaszcza w kontekście skanowania z zewnątrz, natomiast w
przypadku badania sieci wewnętrznej jest w zasadzie obowiązkowa.

Jak mamy zabrać się do wykrycia maszyn aktywnych w sieci? Musimy wyjść od informacji zebranych w
fazie przygotowawczej – a konkretnie od zakresu adresów IP. Jeżeli ktoś wykupił prawo do korzystania
z całej klasy C adresów publicznych, być może nie używa ich wszystkich. Najprostszą metodą dostępną
do sprawdzenia, czy za danym adresem kryje się działający komputer jest wysłanie testowych
pakietów ICMP – czyli użycie PING.

Chyba każdy system ma wbudowany ping, jednak przy skanowaniu całej sieci trudno sobie wyobrazić
ręczne wpisywanie kolejnych adresów i taką też analizę ich odpowiedzi. W sukurs przyjdą nam tu
narzędzia umożliwiające automatyzację tego zadania.

Testy penetracyjne - sztuka etycznego hakowania 13


Skoro już poruszyliśmy temat skanowania portów, nie sposób pominąć chyba najpopularniejszego
skanera – nmap. Nmap jest dostępny na wiele platform, w tym na najpopularniejsze odmieniany
Unix/Linux i Windows. Informacje o nmap znajdziemy na dedykowanym mu serwisie WWW
http://www.insecure.org/nmap/.

W podstawowej wersji nmap jest narzędziem obsługiwanym z linii poleceń. Poprzez zastosowanie
odpowiedniego przełącznika jesteśmy w stanie wybierać tryb skanowania, a trzeba przyznać, że autor
nmap daje nam tu pełną swobodę a bogactwo opcji może przytłoczyć początkujących amatorów
skanowania portów.

Nmap potrafi nie tylko stwierdzić, jakie maszyny są uruchomione w badanej sieci, ale z dużym
prawdopodobieństwem określić, jaki jest ich system operacyjny, w jakiej wersji, a nawet podać wersje
usług nasłuchujących na poszczególnych portach.

Określanie wersji systemu operacyjnego odbywa się na podstawie specyficznych odpowiedzi na


określonego rodzaje pakietów, które są przesyłane do skanowanego systemu (ang. TCP/IP Stack
FingerPrinting). Pomimo tego, że działanie TCP/IP opiera się na powszechnych standardach opisanych
w RFC, prawie każdy system implementuje je w sposób na tyle specyficzny, by dało się odróżnić go po
charakterystycznym odcisku palca.

Określanie aplikacji i ich wersji nie opiera się tylko na numerach portów, lecz na analizie informacji
uzyskanej z komunikacji między skanerem a badanym komputerem.

Przykłady tego, jak zaawansowana jest to obecnie analiza możemy rozwijać, ale wystarczy powiedzieć,
jak inteligentnie system reaguje na wykryte przez siebie właściwości badanego systemu. Jeżeli nmap
wykryje SSL, będzie próbował podłączyć się z usługą z wykorzystaniem OpenSSL by zbadać co
konkretnie działa na danym porcie (np. https, pop3s, imaps itp. Baza danych sygnatur usług, którą
posługuje się nmap zawiera około 3000 pozycji, pozwalając na rozpoznanie ponad 350 protokołów – a
ilości te ciągle wzrastają. Warto wspomnieć też o tym, że nmap obsługuje również IPv6.

W przypadku niektórych systemów w stosunkowo łatwy sposób można uzyskać szereg dodatkowych
informacji bez potrzeby autoryzacji na komputerze – aby uniknąć eufemizmu wypadałoby od razu
powiedzieć, że chodzi o systemy Windows i ich dużą słabość w domyślnej konfiguracji pozwalającą na
uzyskanie szeregu informacji bez potrzeby autoryzacji. W tym celu wystarczy nawiązać sesję typu null,
aby wyciągnąć informację o kontach, SID-ach, udostępnieniach itp.

Przechodzimy do właściwej fazy ataku. Wszystkie dotychczasowe działania miały na celu


doprowadzenie nas do tego momentu – podjęcia próby uzyskania nieuprawnionego dostępu do
systemu.

Testy penetracyjne - sztuka etycznego hakowania 14


Mając zebrane informacje o potencjalnych celach ataków trzeba usiąść do analizy informacji, mającej
na celu zestawienie par podatność – atak. Opierając się na inwentaryzacji systemów możemy zacząć
się im przyglądać pod kątem potencjalnych znanych podatności.

Jeżeli udało nam się ustalić, że dany komputer to serwer Windows 2012 z uruchomioną usługą IIS,
stanowi on łakomy kąsek dla potencjalnego wrogiego hakera lub osoby zajmującej się testami
bezpieczeństwa. Zwłaszcza, jeżeli jego podstawowa rola to na przykład serwer plików, a IIS znalazł się
na nim tylko i wyłącznie dlatego, że jest domyślnie instalowany z serwerem.

Autor:
Adam Marczyński

Testy penetracyjne - sztuka etycznego hakowania 15


Redaktor: Rafał Janus

ISBN: 978-83-269-4855-8

E-book nr: 2HH0450

Wydawnictwo: Wydawnictwo Wiedza i Praktyka sp. z o.o.

Adres: 03-918 Warszawa, ul. Łotewska 9a

Kontakt: Telefon 22 518 29 29, faks 22 617 60 10, e-mail: cok@wip.pl

NIP: 526-19-92-256

Numer KRS: 0000098264 – Sąd Rejonowy dla m.st. Warszawy, Sąd Gospodarczy
XIII Wydział Gospodarczy Rejestrowy. Wysokość kapitału zakładowego:
200.000 zł

Copyright by: Wydawnictwo Wiedza i Praktyka sp. z o.o. Warszawa 2016

Testy penetracyjne - sztuka etycznego hakowania 16

You might also like