Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00292 008572 11062422 na godz. na dobę w sumie
Hacking i testy penetracyjne. Podstawy - książka
Hacking i testy penetracyjne. Podstawy - książka
Autor: Liczba stron: 192
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-6653-9 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> hacking >> bezpieczeństwo systemów
Porównaj ceny (książka, ebook, audiobook).

Współczesne systemy informatyczne przetwarzają gigantyczne ilości niezwykle wrażliwych danych - osobowych, medycznych czy finansowych. Ich utrata lub przejęcie przez niepowołane osoby może oznaczać katastrofę dla firmy. Dlatego etyczny hacking i testy penetracyjne to coś, co może przynieść dużo satysfakcji i pożytku, a przy tym jest opłacalne finansowo!

W jaki sposób zostać specjalistą? Jakie narzędzia będą Ci potrzebne oraz na co zwrócić szczególną uwagę? Na te i wiele innych pytań odpowiada ta wyjątkowa książka. W trakcie lektury dowiesz się, jak korzystać z nowoczesnych narzędzi oraz jak interpretować otrzymane wyniki. W kolejnych rozdziałach znajdziesz informacje na temat różnych form ataków oraz metod utrzymania dostępu po udanym ataku. Na sam koniec nauczysz się przygotowywać raport dla zleceniodawcy - taki, który będzie zrozumiały nawet dla laika. Książka ta jest obowiązkową lekturą dla wszystkich pasjonatów bezpieczeństwa systemów informatycznych. Warto ją mieć pod ręką!

Dowiedz się, jak:

Kompendium wiedzy na temat testów penetracyjnych!

Znajdź podobne książki Ostatnio czytane w tej kategorii

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)

Gdzie kupić całą publikację:

Hacking i testy penetracyjne. Podstawy
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: