Darmowy fragment publikacji:
Tytuł oryginału: The Basics of Hacking and Penetration Testing:
Ethical Hacking and Penetration Testing
Tłumaczenie: Robert Górczyński
ISBN: 978-83-246-6653-9
Syngress is an imprint of Elsevier. 225 Wyman Street, Waltham, MA 02451, USA
© 2011 Elsevier Inc. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or by any means, electronic or
mechanical, including photocopying, recording, or any information storage and retrieval system, without
permission in writing from the publisher.
This book and the individual contributions contained in it are protected under copyright by the Publisher
(other than as may be noted herein).
This edition of The Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing
9781597496551 by Patrick Engebretson is published by arrangement with ELSEVIER INC., a Delaware
corporation having its principal place of business at 360 Park Avenue South, New York, NY 10010, USA.
Polish edition copyright © 2013 by Helion S.A. All rights reserved.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/hactes
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
• Kup książkę
• Poleć książkę
• Oceń książkę
• Księgarnia internetowa
• Lubię to! » Nasza społeczność
Spis treĂci
Dedykacja
PodziÚkowania ........................................................................................................................................7
O autorze .................................................................................................................................................9
O redaktorze merytorycznym ................................................................................................................11
WstÚp ....................................................................................................................................................13
Rozdziaï 1. Co to jest test penetracyjny? ..............................................................................................17
Rozdziaï 2. Rekonesans .........................................................................................................................33
Rozdziaï 3. Skanowanie ........................................................................................................................63
Rozdziaï 4. Wykorzystanie luk w zabezpieczeniach .............................................................................87
Rozdziaï 5. Wykorzystywanie luk w zabezpieczeniach za pomocÈ przeglÈdarki internetowej ........133
Rozdziaï 6. Utrzymanie dostÚpu poprzez tylne drzwi i rootkity ..........................................................155
Rozdziaï 7. Podsumowanie wiadomoĂci dotyczÈcych testu penetracyjnego ....................................175
Skorowidz ............................................................................................................................................189
Poleć książkęKup książkę6 Spis treĂci
Poleć książkęKup książkęROZDZIA 3.
Skanowanie
Rozdziaï 3. Skanowanie
Informacje zawarte w rozdziale:
NarzÚdzie ping i przeczesywanie sieci za jego pomocÈ
Skanowanie portów
Skanowanie systemu pod kÈtem jego podatnoĂci na atak
WPROWADZENIE
Po zakoñczeniu pierwszego kroku testu penetracyjnego powinieneĂ doskonale znaÊ wy-
brany cel ataku oraz mieÊ zebrane dokïadne informacje na jego temat. Wspomniane in-
formacje to bÚdzie przede wszystkim zbiór adresów IP. Przypomnij sobie, ĝe jednym
z ostatnich zadañ w fazie rekonesansu jest przygotowanie listy adresów IP, które nale-
ĝÈ do celu i na których zaatakowanie masz zezwolenie. Ta lista ma znaczenie kluczowe
podczas przechodzenia z kroku pierwszego do drugiego. W kroku pierwszym zebrane
informacje zostaïy zamienione na adresy IP moĝliwe do zaatakowania. Z kolei w kroku
drugim adresy IP bÚdÈ mapowane na otwarte porty i usïugi.
Poleć książkęKup książkę64 Hacking i testy penetracyjne. Podstawy
Musisz koniecznie zrozumieÊ, ĝe zadaniem wiÚkszoĂci sieci jest zezwolenie na przynajm-
niej czÚĂciowÈ komunikacjÚ i dwukierunkowy przepïyw danych. Sieci dziaïajÈce w caï-
kowitej izolacji, pozbawione poïÈczenia z internetem oraz usïug takich jak poczta elektro-
niczna i WWW sÈ obecnie rzadkoĂciÈ. Kaĝda usïuga, poïÈczenie lub potencjalne poïÈczenie
z innÈ sieciÈ dostarczajÈ kolejnych moĝliwoĂci przeprowadzenia ataku. Skanowanie to
proces wyszukiwania funkcjonujÈcych systemów i oferowanych przez nie usïug.
Krok drugi, jakim jest skanowanie, moĝna podzieliÊ na trzy oddzielne fazy:
2.1. OkreĂlenie, czy system dziaïa.
2.2. Skanowanie portów systemu.
2.3. Skanowanie systemu pod kÈtem jego podatnoĂci na atak.
W dalszej czÚĂci rozdziaïu zostanÈ przedstawione narzÚdzia pozwalajÈce na poïÈczenie
trzech wymienionych powyĝej faz w pojedynczy proces. Aby jednak uïatwiÊ opanowa-
nie nowego materiaïu, najlepiej, jeĂli te fazy bÚdÈ omówione oddzielnie.
Krok 2.1 to proces prowadzÈcy do okreĂlenia, czy wybrany cel jest systemem wïÈczo-
nym i posiadajÈcym moĝliwoĂÊ komunikacji oraz interakcji z Twoim komputerem. Ten
krok charakteryzuje siÚ najmniejszÈ niezawodnoĂciÈ, dlatego teĝ niezaleĝnie od jego wy-
niku zawsze naleĝy wykonaÊ kolejne kroki, czyli 2.2 i 2.3. PamiÚtaj, ĝe przeprowadzenie
kroku 2.1 jest bardzo waĝne i powinieneĂ dokïadnie zanotowaÊ informacje o kompute-
rach, które udzieliïy odpowiedzi na zapytanie i okazaïy siÚ dostÚpne.
Krok 2.2 to proces identyfikacji portów i usïug dziaïajÈcych w okreĂlonym komputerze.
UjmujÈc to najproĂciej, port umoĝliwia oprogramowaniu i sieci przeprowadzenie komu-
nikacji z innym urzÈdzeniem sprzÚtowym, np. komputerem. Port to rodzaj poïÈczenia
pozwalajÈcego komputerowi na wymianÚ danych z innymi komputerami, oprogramo-
waniem lub urzÈdzeniami. Przed poïÈczeniem komputerów w sieci dane byïy wymie-
niane pomiÚdzy poszczególnymi komputerami za pomocÈ fizycznych noĂników, np.
dyskietek. OdkÈd komputery zostaïy poïÈczone w sieci, konieczne staïo siÚ opracowa-
nie sposobu pozwalajÈcego im na prowadzenie efektywnej komunikacji. OdpowiedziÈ
na wspomnianÈ potrzebÚ staïy siÚ porty. Uĝycie wielu portów pozwala na jednoczesne
prowadzenie wielu rodzajów komunikacji bez koniecznoĂci oczekiwania.
Aby jeszcze bardziej obrazowo przedstawiÊ koncepcjÚ portów i ich uĝycie w kompute-
rach, pomocne moĝe byÊ przeanalizowanie nastÚpujÈcej analogii: potraktuj komputer
jak dom. Istnieje wiele róĝnych sposobów, w jakie moĝna dostaÊ siÚ do domu. Kaĝdy
ze sposobów wejĂcia do domu (komputera) przypomina port w komputerze. Podobnie
jak w przypadku portów w komputerze, drzwi w domu pozwalajÈ zarówno na wejĂcie
do Ărodka, jak i wyjĂcie na zewnÈtrz.
Wyobraě sobie dom z pewnÈ liczbÈ drzwi. WiÚkszoĂÊ osób bÚdzie korzystaÊ z drzwi
frontowych (gïównych), ale wïaĂciciele mogÈ uĝywaÊ takĝe bocznych, garaĝowych itd.
Czasami mieszkañcy wchodzÈ do domu tylnymi drzwiami lub przez drzwi balkonowe.
Niekonwencjonalnie zachowujÈca siÚ osoba moĝe po prostu wspiÈÊ siÚ do okna i spró-
Poleć książkęKup książkęSkanowanie 65
bowaÊ przez nie wejĂÊ lub nawet wĂlizgnÈÊ siÚ przez otwór w drzwiach przeznaczony
dla psa lub kota.
Niezaleĝnie od sposobu, w jaki osoba próbuje wejĂÊ do domu, kaĝdy z wymienionych
przykïadów to doskonaïa analogia do komputera i portów. Przypomnij sobie, ĝe porty
to rodzaje drzwi wejĂciowych do komputera. Niektóre z portów sÈ powszechnie sto-
sowane i przyjmujÈ ogromnÈ iloĂÊ ruchu sieciowego (podobnie jak w przypadku drzwi
frontowych w domu), inne pozostajÈ mniej znane i rzadziej uĝywane (podobnie jak
otwór w drzwiach przeznaczony dla zwierzaka).
Wiele najczÚĂciej spotykanych usïug sieciowych dziaïa, korzystajÈc ze standardowych
numerów portów, co moĝe dostarczyÊ atakujÈcemu wskazówek dotyczÈcych przezna-
czenia atakowanego systemu. W tabeli 3.1 wymieniono listÚ najczÚĂciej uĝywanych por-
tów oraz udostÚpniane przez nie usïugi.
TABELA 3.1.
NajczÚĂciej uĝywane numery portów i odpowiadajÈce im usïugi
Numer portu
20
21
22
23
25
53
80
443
Usïuga
Transfer danych FTP
Kontrola FTP
SSH
Telnet
SMTP (e-mail)
DNS
HTTP
HTTPS
OczywiĂcie istnieje znacznie wiÚcej portów i usïug, niĝ wymieniono w powyĝszej tabe-
li. Jednak przedstawiona lista ma Ci jedynie dostarczyÊ podstawowych informacji na
temat najczÚĂciej obecnie uĝywanych portów w komputerach firmowych. Kiedy rozpocz-
niesz skanowanie portów wybranych celów, bardzo czÚsto bÚdziesz spotykaï usïugi wy-
mienione w tabeli 3.1.
SzczególnÈ uwagÚ powinieneĂ zwróciÊ na odkrycie wszelkich otwartych portów w ska-
nowanym systemie. Twórz szczegóïowe notatki i zapisuj dane wyjĂciowe generowane
przez wszystkie narzÚdzia uĝywane w kroku 2.2. PamiÚtaj, otwarty port to potencjalne
drzwi pozwalajÈce na dostanie siÚ do atakowanego systemu.
Ostatnim krokiem w fazie skanowania jest krok 2.3, czyli skanowanie systemu pod kÈ-
tem jego podatnoĂci na atak. Jest to proces polegajÈcy na wyszukiwaniu i identyfikowa-
niu wszelkich znanych sïabych punktów w usïugach oraz oprogramowaniu dziaïajÈcym
w atakowanym komputerze. Odkrycie znanych luk w atakowanym systemie moĝna
porównaÊ do znalezienia skrzyni zïota. Obecnie wystarczy wykryÊ znanÈ lukÚ w zabez-
pieczeniach, by moĝna byïo z powodzeniem zaatakowaÊ wiele komputerów dziaïajÈcych
Poleć książkęKup książkę66 Hacking i testy penetracyjne. Podstawy
w internecie, majÈc jedynie niewielkie umiejÚtnoĂci w tym zakresie lub nie majÈc prak-
tycznie ĝadnych.
Warto w tym miejscu wspomnieÊ o róĝnym poziomie niebezpieczeñstwa wynikajÈcego
z istnienia poszczególnych luk w zabezpieczeniach. Pewne luki mogÈ dostarczaÊ ataku-
jÈcemu niewielkich moĝliwoĂci, podczas gdy inne — wrÚcz przeciwnie, mogÈ pozwoliÊ
na zdobycie peïnej kontroli nad komputerem. Wspomniane róĝne poziomy niebezpie-
czeñstwa wynikajÈcego z istnienia luk w zabezpieczeniach zostanÈ dokïadniej omówio-
ne w dalszej czÚĂci rozdziaïu.
W przeszïoĂci miaïem wielu klientów proszÈcych mnie o podjÚcie próby uzyskania do-
stÚpu do pewnych waĝnych serwerów w sieci lokalnej. OczywiĂcie we wspomnianych
przypadkach ostateczny cel ataku nie jest bezpoĂrednio dostÚpny w internecie. Nieza-
leĝnie od tego, czy próbujesz uzyskaÊ dostÚp do supertajnego komputera znajdujÈcego
siÚ w sieci wewnÚtrznej, czy po prostu dostaÊ siÚ do sieci, pierwszym podejmowanym
krokiem jest najczÚĂciej skanowanie urzÈdzeñ brzegowych. Powód jest prosty: rozpo-
czynamy od urzÈdzeñ brzegowych, poniewaĝ wïaĂnie ich dotyczy wiÚkszoĂÊ informa-
cji zebranych w fazie rekonesansu. Ponadto, przy obecnie stosowanych technologiach
i architekturach, nie zawsze istnieje moĝliwoĂÊ bezpoĂredniego dostania siÚ do sieci. Dla-
tego teĝ czÚsto stosowana metoda polega na przejĂciu przez seriÚ komputerów, aby wresz-
cie dotrzeÊ do wybranego celu. W pierwszej kolejnoĂci trzeba zdobyÊ urzÈdzenie brze-
gowe, a nastÚpnie dopiero moĝna ruszyÊ w kierunku urzÈdzeñ wewnÚtrznych.
UrzÈdzenia brzegowe to komputery, serwery, routery, zapory sieciowe i inne wyposa-
ĝenie znajdujÈce siÚ na zewnÚtrznych krawÚdziach chronionej sieci. Wspomniane urzÈ-
dzenia dziaïajÈ na zasadzie poĂrednika pomiÚdzy chronionymi zasobami wewnÚtrzny-
mi oraz sieciami zewnÚtrznymi, takimi jak internet.
Jak juĝ wczeĂniej wspomniano, pierwszym krokiem jest najczÚĂciej skanowanie urzÈ-
dzeñ zewnÚtrznych w poszukiwaniu ich sïabych punktów lub luk w zabezpieczeniach,
które moĝna wykorzystaÊ, aby dostaÊ siÚ do wewnÈtrz. Po uzyskaniu dostÚpu do we-
wnÈtrz (to bÚdzie tematem rozdziaïu 4.) proces skanowania moĝna powtórzyÊ z pozio-
mu nowo zdobytego urzÈdzenia i wyszukaÊ kolejne cele ataku. Tego rodzaju cykliczny
proces pozwala na utworzenie bardzo szczegóïowej mapy sieci wewnÚtrznej i wykrycie
infrastruktury o znaczeniu krytycznym ukrytej za zaporÈ sieciowÈ.
NARZ}DZIE PING I PRZECZESYWANIE SIECI ZA JEGO POMOCk
Ping to specjalny typ pakietu sieciowego nazywany pakietem ICMP. Jego dziaïanie po-
lega na wysyïaniu okreĂlonych typów ruchu sieciowego (pakietów ICMP Echo Request)
do wskazanego interfejsu w komputerze bÈdě urzÈdzeniu sieciowym. Jeĝeli urzÈdze-
nie (i doïÈczona karta sieciowa) otrzymujÈce pakiet ping jest wïÈczone i moĝe udzielaÊ
odpowiedzi na te pakiety, nadawca otrzyma pakiet Echo Reply. Poza informacjÈ, ĝe ad-
resat pakietu jest wïÈczony i akceptuje ruch sieciowy, moĝna dziÚki pakietom ping uzy-
skaÊ inne cenne informacje, miÚdzy innymi czas trwania podróĝy pakietu do systemu
Poleć książkęKup książkęadresata i z powrotem. DziÚki ping moĝna poznaÊ takĝe poziom strat w trakcie komu-
nikacji, co pozwala na okreĂlenie stopnia niezawodnoĂci poïÈczenia. Na rysunku 3.1 po-
kazano przykïad wykonania polecenia ping.
Skanowanie 67
RYSUNEK 3.1.
Przykïad dziaïania polecenia ping
Wiersz pierwszy na rysunku 3.1 pokazuje wydanie polecenia ping. ZwróÊ uwagÚ, ĝe ry-
sunek pochodzi z systemu Windows. Wszystkie nowoczesne wersje systemów Linux
i Windows majÈ wbudowane polecenie ping. Podstawowa róĝnica pomiÚdzy wersjami
znajdujÈcymi siÚ w systemach Linux i Windows polega na tym, ĝe domyĂlnie polecenie
ping w Windows wysyïa cztery pakiety Echo Request i automatycznie koñczy dziaïa-
nie, podczas gdy w systemie Linux polecenie bÚdzie nieustannie wysyïaïo wspomniane
pakiety aĝ do chwili, gdy zakoñczysz dziaïanie narzÚdzia ping. W systemie Linux prze-
rwanie dziaïania narzÚdzia ping nastÚpuje po naciĂniÚciu klawiszy Ctrl+C.
Skoncentrujmy uwagÚ na wierszu trzecim, rozpoczynajÈcym siÚ od sïów Reply from.
Wspomniany wiersz informuje nas o dostarczeniu pakietu ICMP Echo Request na adres
IP 64.233.167.99 oraz o otrzymaniu odpowiedzi z podanego adresu. Fragment bytes=32
wskazuje na wielkoĂÊ wysïanego pakietu. Z kolei time=26ms informuje o czasie trwania
podróĝy pakietu w obie strony. Fragment TTL=240 przedstawia wartoĂÊ TTL (ang. Time
To Live) uĝywanÈ do okreĂlenia maksymalnej liczby „przeskoków” pakietu, zanim zosta-
nie on uznany za niewaĝny.
Skoro znasz juĝ podstawowy sposób dziaïania polecenia ping, przekonajmy siÚ, jak mo-
ĝe ono zostaÊ wykorzystane przez hakera. Poniewaĝ pakiet ping moĝe byÊ bardzo uĝy-
teczny w okreĂlaniu dostÚpnoĂci sprawdzanego systemu, wykorzystamy polecenie ping
w celu wykrywania komputerów. Niestety wysyïanie pakietów ping do wszystkich po-
tencjalnych komputerów nawet w maïej sieci bÚdzie wysoce nieefektywne. Na szczÚ-
Ăcie dla nas istnieje kilka narzÚdzi pozwalajÈcych na przeczesywanie sieci za pomocÈ
pakietów ping (ang. ping sweep). Przeczesanie sieci za pomocÈ pakietów ping polega na
wysïaniu serii tych pakietów do pewnego zakresu adresów IP zamiast rÚcznego poda-
wania adresu IP poszczególnych komputerów.
Poleć książkęKup książkę68 Hacking i testy penetracyjne. Podstawy
Najprostszym sposobem przeczesania sieci za pomocÈ pakietów ping jest uĝycie narzÚ-
dzia o nazwie FPing. Wymienione narzÚdzie jest wbudowane w dystrybucjÚ BackTrack
i dziaïa z poziomu powïoki. NarzÚdzie FPing moĝna pobraÊ takĝe dla systemu Windows.
Najïatwiejszym sposobem uĝycia narzÚdzia FPing jest przejĂcie do aplikacji Terminal
i wydanie polecenia fping –a –g 172.16.45.1 172.16.45.254 hosts.txt. Opcja -a powo-
duje uwzglÚdnienie w danych wyjĂciowych jedynie dostÚpnych komputerów. W ten
sposób otrzymane dane wyjĂciowe bÚdÈ znacznie czytelniejsze i ïatwiejsze do odczytu.
Opcja -g pozwala na podanie przeczesywanego zakresu adresów IP — musisz podaÊ
zarówno poczÈtkowy, jak i koñcowy adres IP zakresu. W omawianym przykïadzie ska-
nowane sÈ wszystkie adresy IP od 172.16.45.1 do 172.16.45.254. Z kolei znak oznacza
potokowanie danych wyjĂciowych do pliku o nazwie hosts.txt. Oprócz uĝytych w przed-
stawionym przykïadzie istnieje jeszcze wiele innych opcji pozwalajÈcych na zmianÚ spo-
sobu dziaïania narzÚdzia FPing. Moĝesz siÚ z nimi zapoznaÊ w dokumentacji narzÚdzia
wyĂwietlanej po wydaniu w powïoce polecenia:
man fping
Po wykonaniu omówionego powyĝej polecenia moĝesz wyĂwietliÊ zawartoĂÊ nowo
utworzonego pliku hosts.txt zawierajÈcego listÚ komputerów, które udzieliïy odpowie-
dzi na wysïany im pakiet ping. Zebrane w ten sposób adresy powinieneĂ dodaÊ do listy
potencjalnych celów. Musisz pamiÚtaÊ o jednej bardzo waĝnej rzeczy: nie wszystkie
komputery udzielajÈ odpowiedzi na pakiety ping. Niektóre komputery mogÈ byÊ scho-
wane za zaporÈ sieciowÈ, inne z kolei mogÈ mieÊ zablokowanÈ moĝliwoĂÊ udzielania
odpowiedzi na pakiety ping.
SKANOWANIE PORTÓW
PosiadajÈc listÚ celów ataku, moĝesz kontynuowaÊ ich analizÚ poprzez przeskanowanie
portów we wszystkich urzÈdzeniach o odkrytych adresach IP. Przypomnij sobie, ĝe ce-
lem skanowania portów jest wykrycie wszystkich otwartych portów i ustalenie usïug
udostÚpnianych przez dany system. Wspomniana usïuga to okreĂlona praca lub zada-
nie wykonywane przez komputer, np. obsïuga poczty elektronicznej, serwera FTP, ser-
wera wydruku, dostarczanie stron internetowych itd. Skanowanie portów moĝna po-
równaÊ do pukania w kolejne drzwi i okna domu, aby przekonaÊ siÚ, kto z mieszkañców
zareaguje. Przykïadowo po odkryciu otwartego portu 80 moĝna podjÈÊ próbÚ nawiÈza-
nia z nim poïÈczenia, a w efekcie otrzymaÊ doĂÊ szczegóïowe informacje na temat ser-
wera WWW nasïuchujÈcego na tym porcie.
W kaĝdym komputerze istnieje w sumie 65 536 portów (o numerach od 0 do 65 535). Port
moĝe byÊ typu TCP lub UDP, w zaleĝnoĂci od wykorzystujÈcej go usïugi oraz natury
prowadzonej przez niego komunikacji. Operacja skanowania ma nam dostarczyÊ in-
formacji, które z portów sÈ otwarte lub pozostajÈ w uĝyciu. W ten sposób otrzymujemy
lepszy ogólny obraz celu ataku, co z kolei pomaga w wyborze jak najskuteczniejszego
sposobu przeprowadzenia ataku.
Poleć książkęKup książkęSkanowanie 69
Jeĝeli miaïbyĂ wybraÊ tylko jedno narzÚdzie do przeprowadzenia operacji skanowania
portów, bez wÈtpienia powinno byÊ to narzÚdzie Nmap. Zostaïo ono utworzone przez
Gordona „Fyodora” Lyona; jest dostÚpne bezpïatnie na witrynie http://www.insecure.org/,
a takĝe wbudowane w wiele obecnych dystrybucji systemu Linux, w tym równieĝ Back-
Track. Wprawdzie istnieje moĝliwoĂÊ uruchomienia narzÚdzia Nmap wraz z graficznym
interfejsem uĝytkownika (ang. Graphical User Interface), ale w rozdziale skoncentrujemy
siÚ na jego wykorzystaniu z poziomu powïoki.
Osoby, które dopiero rozpoczynajÈ pracÚ na polu zapewniania bezpieczeñstwa i hac-
kingu, bardzo czÚsto zadajÈ pytania o powód nauki narzÚdzia dziaïajÈcego z poziomu
powïoki, skoro moĝna wykorzystaÊ wersjÚ danego narzÚdzia wyposaĝonÈ w graficzny
interfejs uĝytkownika. JednoczeĂnie te same osoby czÚsto narzekajÈ na trudnoĂÊ w uĝy-
waniu powïoki. Odpowiedě jest bardzo prosta. Po pierwsze, korzystajÈc z wersji na-
rzÚdzia dziaïajÈcej w powïoce, bÚdziesz mógï poznaÊ opcje pozwalajÈce na zmianÚ jego
zachowania. W ten sposób zyskujesz znacznie wiÚkszÈ elastycznoĂÊ i dokïadniejszÈ kon-
trolÚ oraz lepiej zrozumiesz uĝywane narzÚdzie. Po drugie (i prawdopodobnie znacznie
waĝniejsze), hakerzy rzadko dziaïajÈ w sposób, jaki jest pokazywany w filmach. Wresz-
cie, narzÚdzia powïoki moĝna wykorzystywaÊ w skryptach. MoĝliwoĂÊ zastosowania
skryptów i automatyzacji zyskuje kluczowe znaczenie, gdy chcesz podnieĂÊ poziom swo-
ich umiejÚtnoĂci.
PamiÚtasz film zatytuïowany Kod dostÚpu, w którym Hugh Jackman tworzyï wirusa?
Tañczyï, popijaï wino i jednoczeĂnie tworzyï wirusa, korzystajÈc z narzÚdzi wyposaĝo-
nych w graficzny interfejs uĝytkownika. To naprawdÚ wyglÈda nierealistycznie. WiÚk-
szoĂÊ poczÈtkujÈcych hakerów jest przekonana, ĝe narzÚdzia ich pracy bÚdÈ wyposaĝo-
ne w graficzny interfejs uĝytkownika, a po przejÚciu kontroli nad komputerem zobaczÈ
jego ekran i bÚdÈ mogli poruszaÊ siÚ po nim kursorem myszy. Wprawdzie taka ewen-
tualnoĂÊ istnieje, ale naprawdÚ bardzo rzadko. W wiÚkszoĂci przypadków celem jest
uzyskanie dostÚpu do powïoki z uprawnieniami administratora lub wejĂcie do systemu
dziÚki tylnym drzwiom. Powïoka to narzÚdzie pozwalajÈce na kontrolowanie kompu-
tera z poziomu wiersza poleceñ. WyglÈda i dziaïa jak okno aplikacji Terminal, w której
czÚsto pracujesz, z wyjÈtkiem tego, ĝe wydajesz polecenia na swoim komputerze, ale
wykonywane sÈ one na zdalnym. Poznanie narzÚdzi w ich wersjach dziaïajÈcych z po-
ziomu powïoki ma wiÚc znaczenie krytyczne, poniewaĝ po zdobyciu kontroli nad za-
atakowanym komputerem bÚdziesz musiaï umieĂciÊ w nim wïasne narzÚdzia i korzystaÊ
z nich za pomocÈ powïoki, a nie graficznego interfejsu uĝytkownika.
Przyjmijmy zaïoĝenie, ĝe nadal odmawiasz nauki uĝywania powïoki. Ponadto zaïóĝmy,
ĝe dziÚki uĝyciu kilku narzÚdzi byïeĂ w stanie uzyskaÊ dostÚp do zaatakowanego kom-
putera. Po uzyskaniu dostÚpu do zaatakowanego komputera zobaczysz powïokÚ, a nie
graficzny interfejs uĝytkownika. Jeĝeli nie wiesz, w jaki sposób kopiowaÊ pliki, dodawaÊ
uĝytkowników, modyfikowaÊ dokumenty i wprowadzaÊ inne zmiany z poziomu po-
wïoki, Twoja praca w celu uzyskania dostÚpu pójdzie na marne. BÚdziesz zablokowany,
podobnie jak Mojĝesz, który mógï zobaczyÊ ZiemiÚ ObiecanÈ, ale nie mógï na niÈ wejĂÊ.
Poleć książkęKup książkę70 Hacking i testy penetracyjne. Podstawy
Podczas przeprowadzania skanowania portów wykorzystywane narzÚdzie dosïownie
tworzy pakiet, a nastÚpnie wysyïa go do kaĝdego portu w skanowanym komputerze.
Celem jest ustalenie rodzaju odpowiedzi otrzymywanej z kaĝdego sprawdzanego portu.
Róĝne rodzaje operacji skanowania portów dostarczajÈ odmiennych wyników. Bardzo
waĝne jest peïne zrozumienie stosowanego rodzaju skanowania, jak równieĝ oczekiwa-
nych danych wyjĂciowych tej operacji.
Procedura nawiÈzania poïÈczenia
Kiedy dwa urzÈdzenia w danej sieci chcÈ siÚ ze sobÈ komunikowaÊ poprzez TCP, w pierw-
szej kolejnoĂci muszÈ przeprowadziÊ procedurÚ nawiÈzania poïÈczenia (ang. Three-Way
Handshake). Ten proces jest bardzo podobny do rozmowy telefonicznej, przynajmniej
przed nastaniem czasu, gdy kaĝdy ma w telefonie wïÈczonÈ identyfikacjÚ dzwoniÈce-
go. Kiedy chcesz z kimĂ porozmawiaÊ przez telefon, bierzesz aparat do rÚki i wykrÚcasz
numer. Osoba, u której dzwoni telefon, podnosi sïuchawkÚ, nie wiedzÈc, kto do niej tele-
fonuje, i mówi „Halo”. Wtedy osoba dzwoniÈca przedstawia siÚ, np. „Halo, mówi Janek”.
Jeĝeli obie osoby siÚ znajÈ, dzwoniÈcy moĝe w odpowiedzi usïyszeÊ np. „A, witaj, Jan-
ku”. Na tym etapie obie osoby majÈ wystarczajÈcÈ iloĂÊ informacji, aby w zwykïy sposób
prowadziÊ konwersacjÚ.
Komputery dziaïajÈ w bardzo podobny sposób. Kiedy dwa komputery chcÈ siÚ ze sobÈ
komunikowaÊ, muszÈ przejĂÊ przez proces podobny do przedstawionego powyĝej.
Pierwszy komputer ïÈczy siÚ z drugim poprzez wysïanie pakietu SYN do portu o okre-
Ălonym numerze. Jeĝeli drugi komputer nasïuchuje na tym porcie, udziela odpowiedzi,
wysyïajÈc pakiet SYN/ACK. Gdy pierwszy komputer otrzyma ten pakiet, odpowiada
pakietem ACK. Na tym etapie oba komputery mogÈ juĝ prowadziÊ zwykïÈ komunikacjÚ.
W omówionym wczeĂniej przykïadzie rozmowy telefonicznej osoba dzwoniÈca dziaïa
jak wysyïajÈcy pakiet SYN. Osoba odbierajÈca telefon i mówiÈca „Halo” dziaïa jak pa-
kiet SYN/ACK wysyïany dzwoniÈcemu, natomiast dzwoniÈcy przedstawia siÚ poprzez
pakiet ACK.
Uĝycie narzÚdzia Nmap do przeprowadzenia skanowania TCP
Pierwsze analizowane przez nas skanowanie nosi nazwÚ skanowania TCP. Ta operacja
jest bardzo czÚsto uznawana za najbardziej podstawowe i stabilne skanowanie wszyst-
kich portów, poniewaĝ narzÚdzie Nmap próbuje przeprowadziÊ peïny proces nawiÈza-
nia poïÈczenia ze wszystkimi portami podanymi w wywoïaniu narzÚdzia Nmap. Skoro
skanowanie w rzeczywistoĂci przeprowadza peïny proces nawiÈzywania poïÈczenia,
a nastÚpnie elegancko zamyka dane poïÈczenie, istnieje niewielkie niebezpieczeñstwo
zalania ĝÈdaniami atakowanego systemu i doprowadzenia go do awarii.
Jeĝeli w wywoïaniu narzÚdzia nie podasz zakresu portów, przeskanowany zostanie ty-
siÈc najczÚĂciej uĝywanych portów. O ile nie masz czasu do stracenia, zawsze zaleca siÚ
przeprowadzenie skanowania wszystkich portów. Powód jest prosty: administratorzy
Poleć książkęKup książkęSkanowanie 71
czÚsto próbujÈ chroniÊ usïugÚ poprzez jej uruchomienie na niestandardowym porcie.
Przeskanowanie wszystkich portów nastÚpuje po uĝyciu opcji -p w wywoïaniu narzÚ-
dzia Nmap. Z kolei opcja -PN informuje narzÚdzie Nmap, ĝe zalecane jest przeprowadze-
nie skanowania wszystkich urzÈdzeñ. Uĝycie wymienionej opcji moĝe doprowadziÊ do
wyïÈczenia wykrywania komputerów i zmuszenia narzÚdzia do przeskanowania kaĝ-
dego systemu, tak jakby byï wïÈczony. To niezwykle uĝyteczna moĝliwoĂÊ podczas wy-
krywania systemów i portów, które wczeĂniej mogïy zostaÊ przeoczone.
Aby przeprowadziÊ skanowanie TCP, z poziomu powïoki wydaj polecenie:
nmap –sT -p- -PN 172.16.45.135
Warto poĂwiÚciÊ chwilÚ na przeanalizowanie powyĝszego polecenia. Pierwsze sïowo
nmap powoduje uruchomienie narzÚdzia Nmap, opcja -sT nakazuje przeprowadzenie
skanowania TCP. TÚ opcjÚ jednak rozbijemy na czynniki pierwsze: -s pozwala na wska-
zanie rodzaju wykonywanego skanowania, natomiast -T oznacza skanowanie typu TCP.
Opcja -p zostaïa uĝyta w celu przeprowadzenia skanowania wszystkich portów, a nie
domyĂlnego tysiÈca. Opcji -PN uĝyto w celu pominiÚcia fazy wykrywania komputerów
i przeprowadzenie skanowania wszystkich adresów, tak jakby systemy byïy wïÈczone
i odpowiadaïy na ĝÈdania ping. Wreszcie, w poleceniu podajemy adres IP skanowanego
komputera. OczywiĂcie adres, którego uĝyjesz, powinien byÊ inny niĝ podany w przy-
kïadzie! Na rysunku 3.2 pokazano proces przeprowadzenia skanowania TCP przez na-
rzÚdzie Nmap i wygenerowane w jego wyniku dane wyjĂciowe.
RYSUNEK 3.2.
Skanowanie TCP i otrzymane w jego wyniku dane wyjĂciowe
Czasami proces skanowania trzeba przeprowadziÊ wzglÚdem caïej podsieci lub pewne-
go zakresu adresów IP. W takim przypadku narzÚdziu Nmap naleĝy zleciÊ przeprowa-
dzenie skanowania ciÈgïego zakresu adresów IP poprzez doïÈczenie ostatniego oktetu
koñcowego adresu IP, np.:
nmap –sT -p- -PN 172.16.45.1-254
Wydanie powyĝszego polecenia spowoduje przeskanowanie przez narzÚdzie Nmap
wszystkich komputerów o adresach IP od 172.16.45.1 do 172.16.45.254. Podobnie jak
w przypadku przeczesywania sieci za pomocÈ pakietów ping, takĝe powyĝsze rozwiÈ-
zanie to potÚĝna technika, dziÚki której moĝesz znacznie poprawiÊ swojÈ wydajnoĂÊ
podczas skanowania.
Poleć książkęKup książkę72 Hacking i testy penetracyjne. Podstawy
Jeĝeli musisz przeprowadziÊ skanowanie serii komputerów o niekolejnych adresach IP,
moĝesz utworzyÊ plik tekstowy i umieĂciÊ w nim listÚ adresów IP do przeskanowania,
po jednym adresie w kaĝdym wierszu. NastÚpnie w wywoïaniu narzÚdzia Nmap uĝyj
opcji -iL Ăcieĝka_dostÚpu_do_pliku. W ten sposób wszystkie wymienione w pliku kom-
putery zostanÈ przeskanowane po wydaniu pojedynczego polecenia. Kiedy istnieje
moĝliwoĂÊ, zawsze staraj siÚ tworzyÊ pojedynczy plik tekstowy zawierajÈcy adresy IP
wszystkich komputerów, które sÈ Twoimi celami. WiÚkszoĂÊ omawianych w ksiÈĝce
narzÚdzi posiada opcjÚ lub mechanizm pozwalajÈcy na wczytanie tych danych z pliku
tekstowego, co oszczÚdza Twój czas poprzez unikniÚcie koniecznoĂci nieustannego
wprowadzania tych samych danych. Co waĝniejsze, im mniej razy wprowadzasz adres
IP, tym mniejsze niebezpieczeñstwo popeïnienia pomyïki i przeskanowania niewïaĂci-
wego komputera.
Uĝycie narzÚdzia Nmap do przeprowadzenia skanowania SYN
Skanowanie SYN to bezsprzecznie najpopularniejszy rodzaj skanowania portów prze-
prowadzany przez narzÚdzie Nmap. Istnieje wiele powodów jego popularnoĂci, a jeden
z nich to fakt, ĝe ten rodzaj skanowania jest domyĂlnie przeprowadzany przez narzÚ-
dzie Nmap. Jeĝeli uruchomisz narzÚdzie Nmap bez wskazania rodzaju skanowania (za
pomocÈ opcji -s), to Nmap domyĂlnie przeprowadzi skanowanie SYN.
PomijajÈc aspekt ustawienia skanowania SYN jako domyĂlnego, jego popularnoĂÊ wy-
nika takĝe z szybkoĂci dziaïania — jest znacznie szybsze niĝ skanowanie TCP, a przy
tym pozostaje stosunkowo bezpieczne i minimalizuje niebezpieczeñstwo doprowadze-
nia do awarii skanowanego komputera lub uznania skanowania za atak typu DOS. WiÚk-
sza szybkoĂÊ skanowania SYN wiÈĝe siÚ z tym, ĝe zamiast peïnego procesu nawiÈzania
poïÈczenia przeprowadza tylko jego dwa pierwsze kroki.
W skanowaniu SYN komputer przeprowadzajÈcy operacjÚ skanowania wysyïa pakiet
SYN, na który skanowany komputer odpowiada pakietem SYN/ACK (oczywiĂcie przy za-
ïoĝeniu, ĝe port jest uĝywany i niefiltrowany), podobnie jak ma to miejsce w skanowaniu
TCP. Jednak na tym etapie zamiast odpowiedzieÊ tradycyjnym pakietem ACK, komputer
skanujÈcy wysyïa pakiet RST (zerowania). Wspomniany pakiet nakazuje skanowanemu
komputerowi zignorowanie poprzednich pakietów i zamkniÚcie poïÈczenia pomiÚdzy
dwoma komputerami. Jak widaÊ, wiÚksza szybkoĂÊ skanowania SYN w porównaniu ze
skanowaniem TCP wynika z mniejszej liczby przesyïanych pakietów pomiÚdzy kom-
puterami. Wprawdzie kilka pakietów mniej nie kojarzy siÚ ze zbyt duĝÈ oszczÚdnoĂciÈ,
ale ta liczba moĝe szybko siÚ zwiÚkszyÊ podczas skanowania wielu komputerów.
Jeĝeli zechcemy porównaÊ proces nawiÈzywania poïÈczenia z rozmowÈ telefonicznÈ,
skanowanie SYN moĝna przedstawiÊ nastÚpujÈco: dzwoniÈcy wykrÚca numer do osoby,
czeka, aĝ ona odbierze telefon i powie „Halo”, a wtedy odkïada sïuchawkÚ bez sïowa.
InnÈ zaletÈ skanowania SYN jest to, ĝe w pewnych sytuacjach oferuje okreĂlony poziom
anonimowoĂci. Z tego powodu ten rodzaj skanowania jest czÚsto okreĂlany mianem
Poleć książkęKup książkęSkanowanie 73
skanowania stealth. Poniewaĝ proces nawiÈzania poïÈczenia nigdy nie zostaje w peïni
przeprowadzony, oficjalnie poïÈczenie nigdy nie zostaje nawiÈzane w 100 . Pewne
aplikacje i systemy zapisu informacji w plikach dzienników zdarzeñ wymagajÈ peïne-
go nawiÈzania poïÈczenia, aby informacje na ten temat zostaïy zarejestrowane. Ponie-
waĝ w plikach dzienników zdarzeñ bÚdÈ rejestrowane tylko w peïni nawiÈzane poïÈ-
czenia, a skanowanie SYN nigdy oficjalnie nie nawiÈĝe ani jednego poïÈczenia, przez
wiele aplikacji pozostanie ono niezauwaĝone. PamiÚtaj o wyjÈtkach od przedstawionej
reguïy. Wszystkie nowoczesne zapory sieciowe i uĝywane obecnie systemy wykrywa-
nia wïamañ sÈ w stanie wykryÊ i zgïosiÊ skanowanie SYN!
Poniewaĝ skanowanie SYN to domyĂlny rodzaj skanowania przeprowadzany przez na-
rzÚdzie Nmap, nie ma koniecznoĂci jego wskazywania za pomocÈ opcji -s. Jednak w tej
ksiÈĝce koncentrujemy siÚ na podstawach, wiÚc warto wyrobiÊ sobie nawyk wyraěnego
wskazywania wybranego rodzaju skanowania.
Aby przeprowadziÊ skanowanie typu SYN, z poziomu powïoki wydaj przedstawione
poniĝej polecenie:
nmap –sS -p- -PN 172.16.45.135
Samo polecenie jest dokïadnie takie samo jak uĝyte w poprzednim przykïadzie, ale z jed-
nym wyjÈtkiem: zamiast opcji -sT zostaïa uĝyta opcja -sS. W ten sposób narzÚdzie Nmap
otrzymaïo polecenie przeprowadzenia skanowania SYN, a nie TCP. Rodzaj skanowania
bardzo ïatwo zapamiÚtaÊ: litera T wskazuje TCP, natomiast litera S wskazuje SYN. Po-
zostaïe opcje uĝyte w powyĝszym poleceniu zostaïy dokïadnie omówione w poprzed-
nim przykïadzie. JeĂli zapomniaïeĂ ich znaczenia, powróÊ do punktu „Uĝycie narzÚdzia
Nmap do przeprowadzenia skanowania TCP”, w której znajdziesz ich objaĂnienie. Na
rysunku 3.3 pokazano dane wyjĂciowe wygenerowane przez operacjÚ skanowania SYN
wskazanego komputera.
RYSUNEK 3.3.
Skanowanie SYN i otrzymane w jego wyniku dane wyjĂciowe
PoĂwiÚÊ chwilÚ na porównanie caïkowitego czasu przeprowadzenia poszczególnych
operacji skanowania TCP i SYN. Wspomniane czasy zostaïy pokazane na rysunkach 3.2
i 3.3. Nawet w tak prostym przypadku skanowania pojedynczego komputera wyraěnie
widaÊ, ĝe skanowanie SYN zostaïo przeprowadzone w krótszym czasie.
Poleć książkęKup książkę74 Hacking i testy penetracyjne. Podstawy
Uĝycie narzÚdzia Nmap do przeprowadzenia skanowania UDP
Podczas skanowania portów jeden z bïÚdów najczÚĂciej popeïnianych przez nowicjuszy
zajmujÈcych siÚ testami penetracyjnymi to zlekcewaĝenie UDP. AspirujÈcy do miana
hakerów bardzo czÚsto uruchamiajÈ narzÚdzie Nmap, przeprowadzajÈ pojedyncze ska-
nowanie (najczÚĂciej typu SYN) i przechodzÈ do operacji skanowania pod kÈtem po-
datnoĂci systemu na atak. Nigdy nie powinieneĂ lekcewaĝyÊ wagi skanowania portów
UDP! RezygnacjÚ z przeprowadzenia skanowania UDP moĝna porównaÊ do opuszcze-
nia czytania wskazówek lub przypisów w ksiÈĝce. Wprawdzie prawdopodobnie dobrze
zrozumiesz temat, ale moĝe Ci umknÈÊ wiele szczegóïów.
Trzeba koniecznie zrozumieÊ, ĝe oba rodzaje skanowania — typu TCP i SYN — opiera-
jÈ siÚ na komunikacji TCP. Wspomniany TCP to akronim Transmission Control Protocol,
natomiast UDP to akronim User Datagram Protocol. Komputery mogÈ siÚ miÚdzy sobÈ
komunikowaÊ za pomocÈ TCP lub UDP, a pomiÚdzy wymienionymi protokoïami wy-
stÚpuje wiele kluczowych róĝnic.
Protokóï TCP jest uznawany za „protokóï zorientowany pod kÈtem poïÈczenia”, ponie-
waĝ wymaga, aby komunikacja pomiÚdzy nadawcÈ i odbiorcÈ pozostaïa zsynchronizo-
wana. Ten proces gwarantuje, ĝe pakiety przekazywane pomiÚdzy komputerami pozo-
stanÈ nietkniÚte i bÚdÈ dostarczane w kolejnoĂci ich wysyïania. Z drugiej strony protokóï
UDP jest uznawany za „bezpoïÈczeniowy”, poniewaĝ nadawca po prostu wysyïa pa-
kiety do odbiorcy bez stosowania jakiegokolwiek mechanizmu gwarantujÈcego ich do-
starczenie. Kaĝdy z wymienionych protokoïów ma swoje wady i zalety w kategoriach
szybkoĂci dziaïania, niezawodnoĂci i sprawdzania pod kÈtem wystÚpowania bïÚdów.
Aby w peïni opanowaÊ sztukÚ skanowania portów, powinieneĂ w peïni zrozumieÊ wy-
mienione protokoïy. Ich poznanie wymaga czasu.
Przypomnij sobie, jak porównaliĂmy proces nawiÈzywania poïÈczenia do rozmowy te-
lefonicznej. Wspomniany proces nawiÈzania poïÈczenia to kluczowy komponent komu-
nikacji TCP pozwalajÈcy na zachowanie synchronizacji pomiÚdzy nadawcÈ i odbiorcÈ.
Poniewaĝ protokóï UDP jest bezpoïÈczeniowy, ten rodzaj komunikacji moĝna porów-
naÊ do wrzucenia listu do skrzynki pocztowej. W wiÚkszoĂci przypadków nadawca po
prostu umieszcza na kopercie adres odbiorcy, nakleja znaczek, a nastÚpnie wrzuca list
do skrzynki pocztowej. Pracownik poczty zbiera listy, poczta wysyïa do odpowiednich
miejscowoĂci, a na koñcu listonosz dostarcza je adresatom. W tym przykïadzie nadawca
nie otrzymuje potwierdzenia dostarczenia listu adresatowi. OdkÈd pracownik poczty
wyjmie list ze skrzynki pocztowej, nie ma ĝadnej gwarancji dostarczenia listu do adresata.
Skoro poznaïeĂ podstawowe róĝnice pomiÚdzy protokoïami TCP i UDP, musisz teraz
zapamiÚtaÊ, ĝe nie kaĝda usïuga korzysta z protokoïu TCP. Niektóre z waĝniejszych
usïug wykorzystujÈcych protokóï UDP to miÚdzy innymi DHCP, DNS (do poszczegól-
nych zapytañ), SNMP i TFTP. JednÈ z najwaĝniejszych cech osoby przeprowadzajÈcej
testy penetracyjne powinna byÊ dokïadnoĂÊ. Przeoczenie lub niedostrzeĝenie usïugi na
Poleć książkęKup książkęSkanowanie 75
skutek braku przeprowadzenia skanowania UDP testowanego komputera moĝe siÚ oka-
zaÊ dla Ciebie bardzo kïopotliwe.
Zarówno skanowanie TCP, jak i SYN opiera siÚ na protokole TCP. Jeĝeli chcesz wykryÊ
usïugi wykorzystujÈce protokóï UDP, musisz przeprowadziÊ skanowanie UDP za po-
mocÈ narzÚdzia Nmap. Na szczÚĂcie narzÚdzie znacznie uïatwia to zadanie. Aby prze-
prowadziÊ skanowanie UDP wybranego celu ataku, z poziomu powïoki wydaj nastÚpu-
jÈce polecenie:
nmap –sU 172.16.45.129
ZwróÊ uwagÚ na róĝnice pomiÚdzy powyĝszym poleceniem i poleceniami przedstawio-
nymi w poprzednich przykïadach. W pierwszej kolejnoĂci nakazujemy narzÚdziu Nmap
przeprowadzenie skanowania UDP, na co wskazuje opcja -sU. Bystry Czytelnik od razu
zauwaĝy brak opcji -p i -PN w poleceniu. Powód ich braku jest bardzo prosty: skanowa-
nie UDP jest bardzo wolne. Przeprowadzenie nawet podstawowego skanowania UDP
domyĂlnego tysiÈca portów moĝe zajÈÊ 20 – 30 minut. Moĝesz równieĝ zauwaĝyÊ zmia-
nÚ adresu IP. W omawianym przykïadzie skanowany jest komputer dziaïajÈcy pod kon-
trolÈ systemu Linux wraz z uruchomionÈ usïugÈ TFTP. DziÚki temu bÚdziesz mógï zo-
baczyÊ wyniki skanowania. Na rysunku 3.4 pokazano uruchomienie skanowania UDP
i dane wyjĂciowe wygenerowane w jego wyniku.
RYSUNEK 3.4.
Skanowanie UDP i otrzymane w jego wyniku dane wyjĂciowe
Musisz koniecznie zapamiÚtaÊ, ĝe komunikacja UDP nie wymaga otrzymania odpowie-
dzi od adresata pakietu. Skoro komputer docelowy nie udziela odpowiedzi informujÈ-
cej o otrzymaniu pakietu, jak narzÚdzie Nmap moĝe odróĝniÊ port otwarty od portu
chronionego przez zaporÚ sieciowÈ? Innymi sïowy, jeĝeli usïuga jest dostÚpna i przyj-
muje pakiety UDP, normalne jej zachowanie polega po prostu na akceptacji pakietu,
ale bez wysyïania nadawcy odpowiedzi w stylu „Otrzymaïem pakiet”. Podobnie jest
w przypadku zapór sieciowych: czÚsto ich strategia polega na akceptacji pakietu i nie-
wysyïaniu ĝadnej odpowiedzi do jego nadawcy. W omawianym przykïadzie nawet jeĂli
jeden pakiet przejdzie, a drugi zostanie zablokowany przez zaporÚ sieciowÈ, to z po-
wodu braku udzielenia nadawcy odpowiedzi nie ma moĝliwoĂci okreĂlenia, czy pakiet
zostaï zaakceptowany przez usïugÚ, czy odrzucony przez zaporÚ sieciowÈ.
Poleć książkęKup książkę76 Hacking i testy penetracyjne. Podstawy
Z tego powodu narzÚdzie Nmap ma bardzo utrudnione zadanie podczas ustalania, czy
dany port jest otwarty, czy filtrowany. Dlatego teĝ w przypadku braku odpowiedzi na
operacjÚ skanowania UDP narzÚdzie Nmap wyĂwietla dla danego portu wiadomoĂÊ
o treĂci „open | filtered”. Trzeba w tym miejscu koniecznie wspomnieÊ, ĝe w rzadkich
przypadkach usïuga UDP bÚdzie wysyïaïa odpowiedě do nadawcy pakietu. Wówczas
narzÚdzie Nmap jest wystarczajÈco inteligentne, aby okreĂliÊ dziaïajÈcÈ usïugÚ i opisaÊ
dany port jako otwarty („open”).
Jak juĝ wczeĂniej wspomniano, osoby dopiero rozpoczynajÈce pracÚ polegajÈcÈ na prze-
prowadzaniu testów penetracyjnych bardzo czÚsto nie doceniajÈ wagi skanowania UDP.
Prawdopodobnie wynika to z faktu, ĝe wiÚkszoĂÊ zwykïych operacji skanowania UDP
nie dostarcza zbyt wielu informacji, a niemal kaĝdy port zostaje okreĂlony jako „open |
filtered”. Po przejrzeniu przykïadowych danych wyjĂciowych uzyskanych w wyniku
przeskanowania kilku komputerów bardzo ïatwo moĝna poczuÊ siÚ rozczarowanym
wynikami skanowania UDP. Jednak nie wszystko stracone! Twórcy narzÚdzia Nmap
dostarczyli nam sposobu na otrzymanie znacznie bardziej uĝytecznych wyników ska-
nowania UDP.
Aby otrzymaÊ znacznie dokïadniejsze wyniki ze skanowania UDP komputera, w pole-
ceniu inicjujÈcym skanowanie umieĂÊ opcjÚ -sV. Opcja ta jest przeznaczona do przepro-
wadzania skanowania wersji, ale w omawianym przypadku pomaga równieĝ w zawÚ-
ĝeniu wyników skanowania UDP.
Po wïÈczeniu skanowania wersji narzÚdzie Nmap wysyïa dodatkowe próbki do kaĝdego
portu okreĂlonego w wynikach skanowania UDP jako „open | filtered”. Te dodatkowe
próbki podejmujÈ próbÚ identyfikacji usïug poprzez wysïanie specjalnie przygotowanych
pakietów. DziÚki wspomnianym specjalnie przygotowanym pakietom znacznie czÚĂciej
moĝna osiÈgnÈÊ sukces w prowokowaniu adresata do udzielenia odpowiedzi. Bardzo
czÚsto prowadzi to do zmiany wyniku oznaczenia portu z „open | filtered” na „open”.
Jak juĝ wczeĂniej wspomniano, najprostszy sposób dodania skanowania wersji do ska-
nowania UDP polega na uĝyciu opcji -sV. ZwróÊ uwagÚ, ĝe poniewaĝ wczeĂniej uĝyta
zostaïa opcja -sU, wskazujÈca rodzaj skanowania, to duĝÈ literÚ V moĝna dodaÊ do ist-
niejÈcej opcji -sU. W ten sposób powstaje poniĝsze polecenie:
nmap –sUV 172.16.45.135
Uĝycie narzÚdzia Nmap do przeprowadzenia skanowania Xmas
W Ăwiecie komputerów RFC jest dokumentem zawierajÈcym specyfikacjÚ technicznÈ
opisujÈcÈ danÈ technologiÚ bÈdě standard. Dokument RFC moĝe zawieraÊ ogromnÈ
iloĂÊ szczegóïowych informacji dotyczÈcych wewnÚtrznego sposobu dziaïania okreĂlo-
nego systemu. Poniewaĝ dokument ten zawiera szczegóïy techniczne dotyczÈce tego,
jak system powinien dziaïaÊ, atakujÈcy i hakerzy czÚsto przeglÈdajÈ dokumentacjÚ w po-
szukiwaniu potencjalnych sïaboĂci lub dziur. Skanowanie typu Xmas i Null pozwala na
wykorzystanie tego rodzaju dziur.
Poleć książkęKup książkęSkanowanie 77
Nazwa skanowania Xmas bierze siÚ z faktu wïÈczenia flag FIN, PSH i URG pakietu.
W wyniku tego pakiet ma wïÈczonych tak duĝo flag, ĝe czÚsto jest okreĂlany mianem
„ĂwiecÈcego jak choinka2”. Poniewaĝ wczeĂniej omówiliĂmy juĝ komunikacjÚ TCP i pro-
ces nawiÈzywania poïÈczenia, powinno byÊ dla Ciebie jasne, ĝe pakiet Xmas jest bardzo
nietypowy z powodu braku wïÈczonej flagi SYN lub ACK. Wspomniana nietypowoĂÊ
pakietu ma swój cel. Jeĝeli implementacja TCP w skanowanym systemie dziaïa zgodnie
z zaïoĝeniami przedstawionymi w odpowiednim dokumencie RFC, jeden z nietypowych
pakietów moĝna wysïaÊ w celu okreĂlenia stanu portu.
Zgodnie z informacjami przedstawionymi w dokumencie RFC dotyczÈcym protokoïu
TCP: jeĂli zamkniÚty port otrzyma pakiet nieposiadajÈcy wïÈczonych flag SYN, ACK lub
RST (czyli np. pakiet utworzony przez skanowanie Xmas), to port powinien udzieliÊ od-
powiedzi w postaci pakietu wraz z wïÈczonÈ flagÈ RST. Co wiÚcej, wedïug tego samego
dokumentu RFC jeĂli port jest wïÈczony i otrzyma pakiet bez ustawionej flagi SYN, ACK
lub RST, pakiet powinien byÊ zignorowany. PoĂwiÚÊ chwilÚ na ponowne przeczytanie
dwóch poprzednich zdañ, poniewaĝ majÈ one znaczenie krytyczne do zrozumienia od-
powiedzi, którÈ bÚdziemy otrzymywaÊ w wyniku przeprowadzenia skanowania Xmas.
JeĂli przyjmiemy zaïoĝenie o peïnej zgodnoĂci atakowanego systemu operacyjnego ze
specyfikacjÈ przedstawionÈ w dokumencie RFC TCP, narzÚdzie Nmap ma moĝliwoĂÊ
okreĂlenia stanu portu bez przeprowadzania peïnego poïÈczenia z atakowanym kom-
puterem, a nawet bez inicjowania takiego poïÈczenia. Uĝyte zostaïo wyraĝenie „jeĂli
przyjmiemy zaïoĝenie”, poniewaĝ nie kaĝdy dostÚpny obecnie na rynku system opera-
cyjny jest w peïni zgodny z RFC. Ogólnie rzecz biorÈc, skanowanie Xmas i Null spraw-
dza siÚ w odniesieniu do komputerów dziaïajÈcych pod kontrolÈ systemu UNIX i Linux,
ale nie Windows. Dlatego teĝ wymienione rodzaje skanowania sÈ nieefektywne, jeĂli
atakowany komputer posiada system operacyjny firmy Microsoft.
Aby przeprowadziÊ skanowanie Xmas, wystarczy po prostu w przedstawionym poprzed-
nio poleceniu zastÈpiÊ opcjÚ -sU opcjÈ -sX. Wykonanie peïnego skanowania nastÚpuje
wiÚc po wydaniu z poziomu powïoki poniĝszego polecenia:
nmap –sX -p- -PN 172.16.45.129
Na rysunku 3.5 pokazano uruchomienie skanowania Xmas wzglÚdem komputera dzia-
ïajÈcego pod kontrolÈ systemu Linux.
Uĝycie narzÚdzia Nmap do przeprowadzenia skanowania Null
Skanowanie Null, podobnie jak Xmas, wykorzystuje pakiety niezgodne ze zdefiniowa-
nymi zaïoĝeniami komunikacji TCP. Pod wieloma wzglÚdami skanowanie Null jest caï-
kowitym przeciwieñstwem skanowania Xmas, poniewaĝ wykorzystuje pakiety, które
sÈ pozbawione jakichkolwiek flag (czyli sÈ zupeïnie puste).
2 Sïowo Xmas oznacza w jÚzyku angielskim ĂwiÚta Boĝego Narodzenia — przyp. tïum.
Poleć książkęKup książkę78 Hacking i testy penetracyjne. Podstawy
RYSUNEK 3.5.
Skanowanie Xmas i otrzymane w jego wyniku dane wyjĂciowe
Zaatakowany system odpowiada na skanowanie Null w dokïadnie taki sam sposób jak
w przypadku skanowania Xmas. Otwarty port w skanowanym systemie nie bÚdzie udzie-
laï ĝadnej odpowiedzi narzÚdziu Nmap, podczas gdy zamkniÚty port odpowie pakietem
RST. Warto w tym miejscu przypomnieÊ, ĝe tego rodzaju skanowanie jest niezawodne
jedynie w przypadku systemu operacyjnego, który pozostaje w peïni zgodny ze specy-
fikacjÈ RFC TCP.
JednÈ z najwiÚkszych zalet stosowania skanowania Xmas i Null jest w pewnych sytu-
acjach moĝliwoĂÊ ominiÚcia prostych filtrów i list kontroli dostÚpu (ang. Access Control
List — ACL). Niektóre z prymitywnych filtrów dziaïajÈ poprzez blokowanie przycho-
dzÈcych pakietów SYN. Osoba stosujÈca tego rodzaju filtry sÈdzi, ĝe odrzucanie pakie-
tów SYN przez system uniemoĝliwi przeprowadzenie procesu nawiÈzania poïÈczenia.
Jeĝeli nie dojdzie do procesu nawiÈzania poïÈczenia, nie wystÈpi strumieñ komunikacji
TCP pomiÚdzy systemami, a dokïadniej: ĝadna komunikacja TCP nie bÚdzie mogïa zo-
staÊ zainicjowana poza tak chronionym komputerem.
Trzeba koniecznie zrozumieÊ, ĝe celem skanowania Xmas i Null nie jest utworzenie ja-
kiegokolwiek kanaïu komunikacji, lecz jedynie okreĂlenie, czy dany port jest otwarty,
czy zamkniÚty.
MajÈc na uwadze dwa powyĝsze akapity, rozwaĝmy nastÚpujÈcy przykïad. Przyjmuje-
my zaïoĝenie, ĝe administrator sieci w osobie Bena Owneda zainstalowaï prostÈ zaporÚ
sieciowÈ, która ma uniemoĝliwiÊ inicjowanie z zewnÈtrz jakichkolwiek poïÈczeñ z jego
systemem. Wspomniana zapora sieciowa dziaïa po prostu poprzez odrzucanie caïego
nadchodzÈcego ruchu sieciowego, na poczÈtku którego znajduje siÚ pakiet SYN. Ben za-
trudniï swojego przyjaciela (etycznego hakera) do przeskanowania jego systemu. Etycz-
ny haker przeprowadza skanowanie TCP, które nie przynosi ĝadnych wyników. Ponie-
waĝ jest doĂwiadczonym hakerem, przeprowadza kolejne operacje skanowania, tym
razem UDP, Xmas i Null. Na twarzy etycznego hakera pojawia siÚ uĂmiech, gdy dostrze-
ga, ĝe skanowanie Xmas i Null ujawniïo w systemie Bena otwarte porty.
Powyĝszy scenariusz moĝna zrealizowaÊ za pomocÈ narzÚdzia Nmap, poniewaĝ pozwa-
la ono na utworzenie pakietów bez wïÈczonej flagi SYN. Skoro filtr odrzuca jedynie pa-
kiety przychodzÈce, które zawierajÈ flagÚ SYN, to pakiety wygenerowane przez ska-
Poleć książkęKup książkęSkanowanie 79
nowanie Xmas i Null sÈ przepuszczane. Aby przeprowadziÊ skanowanie Null, naleĝy
z poziomu powïoki wydaÊ nastÚpujÈce polecenie:
nmap –sN -p- -PN 172.16.45.129
Podsumowanie skanowania portów
Po omówieniu podstaw skanowania portów warto jeszcze wspomnieÊ o kilku opcjach,
które moĝesz uznaÊ za uĝyteczne po zdobyciu wiÚkszego doĂwiadczenia w zakresie prze-
prowadzania testów penetracyjnych.
Jak juĝ wczeĂniej wspomniano, opcja -sV powoduje przeprowadzenie skanowania wer-
sji. W trakcie tego skanowania narzÚdzie Nmap wysyïa próbki do otwartych portów
i próbuje ustaliÊ pewne informacje o usïudze nasïuchujÈcej na danym porcie. O ile to
moĝliwe, narzÚdzie Nmap dostarczy szczegóïowych informacji o usïudze, jak na przy-
kïad numer wersji. Tego rodzaju informacje powinieneĂ zachowaÊ w swoich notatkach.
Uĝywanie opcji -sV jest zalecane w kaĝdej sytuacji, gdy tylko jest moĝliwe, zwïaszcza
w przypadku nietypowych lub nieoczekiwanych portów — przecieĝ przebiegïy admi-
nistrator mógï przenieĂÊ obsïugÚ serwera WWW na port 34567, aby spróbowaÊ jÈ w ten
sposób dodatkowo ochroniÊ.
NarzÚdzie Nmap zawiera opcjÚ -T, pozwalajÈcÈ na zmianÚ szybkoĂci skanowania por-
tu. WartoĂÊ liczbowa wymienionej opcji mieĂci siÚ w zakresie od 0 do 5, gdzie 0 oznacza
najwolniejsze skanowanie, natomiast 5 — najszybsze. Zastosowanie wspomnianej opcji
bÚdzie uĝyteczne w sytuacji, w której bÚdziesz próbowaï uniknÈÊ wykrycia operacji ska-
nowania poprzez jej spowolnienie. Inny przykïad: masz do przeskanowania ogromnÈ
liczbÚ adresów IP, a jednoczeĂnie iloĂÊ czasu jest ograniczona, rezygnujesz wiÚc z peïne-
go skanowania na rzecz szybszego. Musisz pamiÚtaÊ, ĝe w przypadku najszybszej ope-
racji skanowania narzÚdzie Nmap moĝe dostarczaÊ mniej dokïadnych wyników.
Wreszcie, opcja -O moĝe byÊ uĝyteczna podczas ustalania systemu operacyjnego uĝywa-
nego w skanowanym komputerze. Przydaje siÚ, gdy chcesz sprawdziÊ, czy atakujesz
komputer dziaïajÈcy pod kontrolÈ systemu operacyjnego Windows, Linux, a moĝe jesz-
cze innego. Poznanie rodzaju systemu operacyjnego w atakowanym komputerze zaosz-
czÚdzi Ci czasu, poniewaĝ pozwala skoncentrowaÊ siÚ na atakowaniu znanych sïabych
punktów tego systemu. Nie ma ĝadnego sensu próba wykorzystania sïabych punktów
systemu Linux, jeĂli atakowany komputer dziaïa pod kontrolÈ Windows.
Po zakoñczeniu skanowania portów w atakowanym komputerze powinieneĂ posiadaÊ
listÚ otwartych portów i dziaïajÈcych na nich usïug. Te informacje trzeba zachowaÊ, a na-
stÚpnie dokïadnie przeanalizowaÊ. Podczas analizy danych wyjĂciowych dostarczonych
przez narzÚdzie Nmap poĂwiÚÊ chwilÚ na próbÚ zalogowania siÚ do usïug zdalnego do-
stÚpu, które mogïeĂ wykryÊ podczas skanowania. W kolejnym rozdziale bÚdÈ przedsta-
wione narzÚdzia pozwalajÈce na przeprowadzenie ataku typu brute force w celu zalogo-
wania siÚ. Na obecnym etapie moĝesz spróbowaÊ siÚ zalogowaÊ z uĝyciem domyĂlnych
nazw uĝytkowników i haseï. Ponadto spróbuj siÚ zalogowaÊ, uĝywajÈc informacji, nazw
Poleć książkęKup książkę80 Hacking i testy penetracyjne. Podstawy
uĝytkowników i adresów e-mail zebranych w fazie rekonesansu. Istnieje moĝliwoĂÊ
ukoñczenia testu penetracyjnego po prostu poprzez odkrycie otwartego zdalnego po-
ïÈczenia i zalogowanie siÚ do systemu za pomocÈ domyĂlnej nazwy uĝytkownika i ha-
sïa. Telnet i SSH to doskonaïe przykïady usïug zdalnego dostÚpu, do których zawsze
powinieneĂ spróbowaÊ siÚ zalogowaÊ. Poniĝej przedstawiono polecenia pozwalajÈce na
zalogowanie siÚ do wymienionych usïug:
telnet docelowy_adres_ip
ssh root@docelowy_adres_ip
W powyĝszych poleceniach docelowy_adres_ip oznacza adres atakowanego komputera.
W wiÚkszoĂci przypadków te próby okaĝÈ siÚ nieudane, ale niekiedy zakoñczÈ siÚ po-
wodzeniem.
SKANOWANIE SYSTEMU
POD KkTEM JEGO PODATNO¥CI NA ATAK
MajÈc listÚ adresów IP, otwartych portów i usïug dziaïajÈcych w atakowanym kompu-
terze, moĝna przystÈpiÊ do jego przeskanowania w poszukiwaniu luk w zabezpiecze-
niach. Luka to sïaby punkt w oprogramowaniu lub konfiguracji systemu, umoĝliwiajÈcy
przeprowadzenie ataku. Luki mogÈ wystÚpowaÊ w wielu róĝnych postaciach i odmia-
nach, ale najczÚĂciej sÈ powiÈzane z niezainstalowaniem odpowiednich poprawek. Pro-
ducenci oprogramowania czÚsto wydajÈ poprawki, w których usuwane sÈ znane pro-
blemy bÈdě luki w zabezpieczeniach. Oprogramowanie i system bez zainstalowanych
poprawek bardzo czÚsto stajÈ siÚ celem ataku penetracyjnego, poniewaĝ niektóre luki
pozwalajÈ na zdalne wykonywanie kodu. Wspomniane zdalne wykonywanie kodu to
niewÈtpliwie ¥wiÚty Graal hakera.
Trzeba koniecznie zrozumieÊ, ĝe operacja skanowania pod kÈtem podatnoĂci systemu
na atak — i otrzymane dziÚki niej wyniki — prowadzi bezpoĂrednio do trzeciego kro-
ku testu penetracyjnego, którym jest uzyskanie dostÚpu do atakowanego systemu. Aby
przeskanowaÊ system pod kÈtem wykorzystania jego luk w zabezpieczeniach, musisz
uĝyÊ odpowiedniego skanera. Do dyspozycji masz wiele dobrych skanerów, ale w ni-
niejszej ksiÈĝce skoncentrujemy siÚ na narzÚdziu Nessus.
Nessus to doskonaïe narzÚdzie dostÚpne bezpïatnie dla uĝytkowników domowych. Na
witrynie producenta moĝesz je pobraÊ i otrzymaÊ bezpïatnie klucz rejestracyjny. Jeĝeli
chcesz uĝywaÊ Nessusa w firmie, bÚdziesz musiaï pobraÊ wersjÚ Professional (a nie Home)
i za niÈ zapïaciÊ. Obecnie opïata wynosi 1500 dolarów rocznie. W ksiÈĝce bÚdziemy ko-
rzystali z narzÚdzia w wersji dla uĝytkowników domowych (bezpïatnej).
NarzÚdzie Nessus dziaïa zarówno w systemie Linux, jak i Windows, a jego instalacja jest
bardzo ïatwa. Nessus dziaïa na zasadzie klient-serwer. Po zakoñczeniu konfiguracji ser-
wer dziaïa niewidocznie w tle, natomiast Ty komunikujesz siÚ z nim za pomocÈ prze-
glÈdarki internetowej. Aby zainstalowaÊ narzÚdzie Nessus w systemie, wykonaj przed-
stawione poniĝej kroki.
Poleć książkęKup książkęSkanowanie 81
1. Pobierz plik instalacyjny z witryny http://www.tenable.com/products/nessus.
2. Na podanej witrynie zarejestruj siÚ (podajÈc adres e-mail) w celu otrzymania bez-
pïatnego klucza. Producent wygeneruje dla Ciebie unikalny klucz, który wykorzy-
stasz do odblokowania narzÚdzia Nessus.
3. Zainstaluj aplikacjÚ.
4. Utwórz uĝytkownika Nessus, aby uzyskaÊ dostÚp do systemu.
5. Uaktualnij wtyczki.
Jednym z kluczowych komponentów narzÚdzia Nessus sÈ wtyczki. Wspomniana wtycz-
ka to niewielki blok kodu wysyïany do atakowanego komputera w celu sprawdzenia, czy
wystÚpuje w nim znana luka w zabezpieczeniach. NarzÚdzie Nessus ma dosïownie ty-
siÈce wtyczek. Trzeba je pobraÊ z internetu po pierwszym uruchomieniu narzÚdzia. Do-
myĂlna instalacja Nessusa spowoduje, ĝe bÚdzie on automatycznie uaktualniaï wtyczki.
Po zainstalowaniu serwera Nessus moĝesz uzyskaÊ do niego dostÚp, uruchamiajÈc prze-
glÈdarkÚ internetowÈ i podajÈc adres https://127.0.0.1:8834 — o ile próbujesz uzyskaÊ do-
stÚp do Nessusa na tym samym komputerze, na którym zostaï zainstalowany jego ser-
wer. Nie zapomnij o podaniu protokoïu https, poniewaĝ Nessus uĝywa bezpiecznego
poïÈczenia podczas komunikacji z serwerem. Na ekranie zobaczysz ekran logowania —
musisz tutaj podaÊ nazwÚ uĝytkownika i hasïo utworzone podczas instalacji narzÚdzia.
Po zalogowaniu siÚ zobaczysz ekran podobny do pokazanego na rysunku 3.6.
RYSUNEK 3.6.
Sesja z narzÚdziem Nessus
Zanim bÚdziesz mógï uĝywaÊ Nessusa, musisz zdefiniowaÊ politykÚ skanowania sto-
sowanÈ przez to narzÚdzie. W tym celu kliknij ïÈcze Policies widoczne w górnym menu
wyĂwietlonej strony internetowej. Konfiguracja polityki wymaga okreĂlenia jej nazwy.
Jeĝeli zamierzasz przygotowaÊ kilka rodzajów polityki, powinieneĂ takĝe utworzyÊ ich
Poleć książkęKup książkę82 Hacking i testy penetracyjne. Podstawy
opisy. PoĂwiÚÊ chwilÚ na analizÚ rysunku 3.6 i zwróÊ uwagÚ na zaznaczenie pola wybo-
ru Safe Checks.
W trakcie pierwszej konfiguracji narzÚdzia Nessus powszechnie stosowane rozwiÈzanie
polega na utworzeniu dwóch rodzajów polityki, po jednej z zaznaczonÈ i niezaznaczo-
nÈ opcjÈ Safe Checks. Powód jest bardzo prosty: niektóre wtyczki i operacje sprawdzania
sÈ uznawane za niebezpieczne, poniewaĝ polegajÈ na rzeczywistej próbie wykorzysta-
nia luki w zabezpieczeniach sprawdzanego systemu. Musisz mieÊ ĂwiadomoĂÊ, ĝe usu-
niÚcie zaznaczenia pola wyboru Safe Checks moĝe potencjalnie doprowadziÊ do zaburzeñ
dziaïania sieci i systemu, a nawet do jego caïkowitego wyïÈczenia. Poprzez zdefiniowa-
nie dwóch rodzajów polityki z wïÈczonÈ i wyïÈczonÈ opcjÈ Safe Checks moĝesz uniknÈÊ
wprowadzenia niezamierzonych zaburzeñ w dziaïaniu sieci.
Istnieje wiele opcji, dziÚki którym operacjÚ skanowania moĝesz dostosowaÊ do wïasnych
potrzeb. Na potrzeby przykïadów omawianych w ksiÈĝce bÚdziemy stosowali konfigu-
racjÚ domyĂlnÈ. PoĂwiÚÊ chwilÚ na przejrzenie róĝnych opcji. KlikajÈc przycisk Next wy-
Ăwietlany w prawym dolnym rogu, przejdziesz przez wszystkie opcje dodatkowe, które
moĝna ustawiÊ dla skanowania.
Po skonfigurowaniu skanowania zapisz opcje, klikajÈc przycisk Submit, który zostanie
wyĂwietlony po przejrzeniu wszystkich dostÚpnych opcji konfiguracyjnych. PolitykÚ
skanowania musisz skonfigurowaÊ tylko jednokrotnie. Po zapisaniu opcji bÚdziesz mógï
korzystaÊ z tak przygotowanej polityki do przeprowadzania operacji skanowania syste-
mu pod kÈtem podatnoĂci na atak.
Kiedy polityka zostaïa zdefiniowana i zapisana, moĝesz rozpoczÈÊ skanowanie wybra-
nego celu. Aby rozpoczÈÊ operacjÚ, kliknij ïÈcze Scans znajdujÈce siÚ w górnym menu.
Moĝesz podawaÊ pojedyncze adresy w celu przeskanowania poszczególnych systemów
lub listÚ adresów IP okreĂlajÈcych wiele systemów do przeskanowania. ZawartoĂÊ strony
Scans zostaïa pokazana na rysunku 3.7.
Podaj nazwÚ dla skanowania, wybierz politykÚ i adres IP celu. Jeĝeli chcesz przeskano-
waÊ pojedynczy system, podaj jego adres IP w polu Scan Targets. JeĂli natomiast adresy IP
celów zapisaïeĂ w pliku tekstowym, moĝesz go wczytaÊ po klikniÚciu przycisku Browse….
Gdy wszystko bÚdzie przygotowane, klikniÚcie przycisku Launch Scan znajdujÈcego siÚ
w prawym dolnym rogu rozpoczyna operacjÚ skanowania. W trakcie skanowania narzÚ-
dzie Nessus wyĂwietla informacje o jego przebiegu.
Kiedy narzÚdzie Nessus zakoñczy skanowanie, jego wyniki moĝesz przejrzeÊ po klikniÚ-
ciu przycisku Reports znajdujÈcego siÚ w menu gïównym. WyĂwietlony raport zawiera
szczegóïowÈ listÚ wszystkich luk w zabezpieczeniach znalezionych przez Nessusa. Szcze-
gólnie powinieneĂ siÚ zainteresowaÊ znaleziskami oznaczonymi jako High. PoĂwiÚÊ nie-
co czasu na dokïadnÈ analizÚ raportu i sporzÈdzenie szczegóïowych notatek o przeska-
nowanym systemie. Przygotowane tutaj informacje wykorzystasz w kolejnym kroku
testu penetracyjnego, czyli podczas próby uzyskania dostÚpu do systemu.
Poleć książkęKup książkęSkanowanie 83
RYSUNEK 3.7.
Przygotowanie do rozpoczÚcia skanowania za pomocÈ narzÚdzia Nessus
Po zakoñczeniu skanowania portów w celu znalezienia luk w zabezpieczeniach wzglÚ-
dem wszystkich wyznaczonych celów masz zebranÈ wystarczajÈcÈ iloĂÊ informacji, aby
przystÈpiÊ do ataku na system.
JAK mWICZYm SKANOWANIE PORTÓW?
Najïatwiejszym sposobem Êwiczenia operacji skanowania portów jest przygotowanie
dwóch komputerów lub uĝycie maszyn wirtualnych. PowinieneĂ wypróbowaÊ wszyst-
kie opcje i typy skanowania omówione w rozdziale. ZwróÊ szczególnÈ uwagÚ na dane
wyjĂciowe wygenerowane przez kaĝdÈ operacjÚ skanowania. Operacje skanowania
przeprowadě wzglÚdem komputerów dziaïajÈcych pod kontrolÈ zarówno systemu Win-
dows, jak i Linux.
Na skanowanych komputerach powinieneĂ wïÈczyÊ pewne usïugi lub zainstalowaÊ opro-
gramowanie dodatkowe, aby mieÊ pewnoĂÊ, ĝe system bÚdÈcy przedmiotem skanowania
bÚdzie miaï otwarte porty. Dobrym rozwiÈzaniem jest instalacja i uruchomienie FTP, ser-
wera WWW, telnetu lub SSH.
W przypadku osoby, która po raz pierwszy spotyka siÚ ze skanowaniem portów, jed-
nym z najlepszych sposobów doskonalenia umiejÚtnoĂci jest wybór podsieci i ukrycie
adresu IP w sieci. Po ukryciu celu w podsieci zadaniem uczÈcego siÚ jest jego zlokalizo-
wanie. Po odszukaniu celu kolejnym zadaniem jest przeprowadzenie peïnego skanowa-
nia systemu.
Poleć książkęKup książkę84 Hacking i testy penetracyjne. Podstawy
Aby pomóc w zastosowaniu przedstawionego powyĝej rozwiÈzania, utworzyïem pro-
sty skrypt odpowiedzialny za ukrycie systemu w danej podsieci. Kod jest przeznaczo-
ny do uruchomienia w systemie Linux. OczywiĂcie moĝesz go dowolnie zmodyfikowaÊ
i zmieniÊ adres IP, aby dziaïaï w Twojej sieci. Skrypt generuje dowolnÈ liczbÚ z zakresu
od 1 do 254, która nastÚpnie bÚdzie uĝyta jako ostatnia liczba w adresie IP komputera.
Po wygenerowaniu losowo wybranego adresu IP zostaje on przypisany komputerowi.
DziÚki uruchomieniu przedstawionego skryptu bÚdziesz mógï przeÊwiczyÊ pracÚ z na-
rzÚdziami i technikami omówionymi w rozdziale. Kod skryptu wprowadě w dowolnym
edytorze tekstów, a nastÚpnie zapisz plik pod nazwÈ ip_gen.sh.
#!/bin/bash
echo Konfiguracja komputera ofiary, to moĝe chwilÚ potrwaÊ...
ifconğg eth0 down
ifconğg eth0 172.16.45.$((( $RANDOM 254) ! 1)) up
# UsuniÚcie znaku # z poczÈtku poniĝszych wierszy powoduje uruchomienie usïug w komputerze
ofiary.
# PamiÚtaj, w zaleĝnoĂci od uĝywanej dystrybucji moĝe wystÈpiÊ potrzeba zmiany Ăcieĝek
dostÚpu.
#/etc/init.d/ssh start
# Uwaga, moĝe wystÈpiÊ koniecznoĂÊ wygenerowania klucza SSH za pomocÈ sshd-generate.
#/etc/init.d/apache2 start
#/etc/init.d/atftpd start
echo Komputer ofiary zostaï skonfigurowany.
echo Adres IP komputera naleĝy do sieci 172.16.45.0/24.
echo Moĝesz juĝ zamknÈÊ to okno i rozpoczÈÊ atak... Powodzenia!
NastÚpnie otwórz okno aplikacji Terminal i przejdě do katalogu, w którym zapisaïeĂ
plik skryptu. Przed uruchomieniem skryptu trzeba nadaÊ plikowi uprawnienia do jego
uruchamiania. W tym celu wystarczy wydaÊ nastÚpujÈce polecenie:
chmod 755 ip_gen.sh
Aby uruchomiÊ skrypt, w oknie aplikacji Terminal wydaj polecenie:
./ip_gen.sh
Skrypt powinien wyĂwietliÊ komunikat informujÈcy o zakoñczeniu konfiguracji kom-
putera ofiary. DziÚki uĝyciu skryptu takiego jak przedstawiony powyĝej masz moĝli-
woĂÊ doskonalenia umiejÚtnoĂci w zakresie wyszukiwania systemu i jego skanowania.
CO DALEJ?
Po opanowaniu podstaw uĝywania Nmap i Nessus powinieneĂ zagïÚbiÊ siÚ w bardziej
zaawansowane opcje dostÚpne w obu narzÚdziach. W tym rozdziale przedstawiono
zaledwie uïamek oferowanych przez nie moĝliwoĂci. Witryna http://insecure.org/ to do-
skonaïy zasób wiedzy dotyczÈcej narzÚdzia Nmap. NaprawdÚ powinieneĂ poĂwiÚciÊ
nieco czasu na poznanie opcji wbudowanych w narzÚdzie Nmap. Nessus posiada takĝe
mnóstwo funkcji dodatkowych, które nie zostaïy omówione w rozdziale.
Poleć książkęKup książkęSkanowanie 85
Kiedy juĝ bÚdziesz swobodnie korzystaï z zaawansowanych funkcji narzÚdzi Nmap
i Nessus, powinieneĂ skierowaÊ swojÈ uwagÚ ku innym dostÚpnym skanerom. Obecnie
dostÚpne sÈ dziesiÈtki dobrych skanerów. Wybierz kilka, zainstaluj je i poznaj ich funk-
cje. Na rynku znajdziesz takĝe kilka produktów komercyjnych, które powinieneĂ znaÊ.
Nie sÈ one opracowane wyïÈcznie jako skanery wyszukujÈce luki w zabezpieczeniach,
ale oferujÈ znacznie wiÚcej moĝliwoĂci. NarzÚdzia Core Impact i Saint doskonale spraw-
dzajÈ siÚ w ocenie luk w zabezpieczeniach, choÊ wymagajÈ wyïoĝenia prawdziwych pie-
niÚdzy na ich zakup.
PODSUMOWANIE
W rozdziale skoncentrowaliĂmy siÚ na drugim kroku testu penetracyjnego, czyli przede
wszystkim na skanowaniu. Na poczÈtku przedstawione zostaïo ogólne omówienie dzia-
ïania polecenia ping, a dopiero potem wïaĂciwe zagadnienie skanowania. Sam temat
skanowania zostaï podzielony na dwie odrÚbne czÚĂci: skanowanie portów oraz ska-
nowanie w poszukiwaniu luk w zabezpieczeniach. NarzÚdzie Nmap przeznaczone do
skanowania portów pozwala na przeprowadzenie róĝnych typów skanowania, które
zostaïy omówione w rozdziale. Ponadto zademonstrowano rzeczywiste przykïady i dane
wyjĂciowe róĝnych operacji skanowania, a takĝe sposób interpretacji danych wyjĂcio-
wych generowanych przez narzÚdzie Nmap. KoncepcjÚ skanowania w poszukiwaniu
luk w zabezpieczeniach przedstawiono poprzez uĝycie narzÚdzia Nessus. W rozdziale
znalazïy siÚ praktyczne przykïady wykorzystania wymienione
Pobierz darmowy fragment (pdf)