Rozdział 4.
Techniki rozpoznania
i skanowania
W dzisiejszych czasach coraz częstszym i bardzo pilnym problemem każdej firmy jest zachowanie bezpieczeństwa i poufności przetwarzanych danych oraz dostępności prowadzonych usług. Jest to tym trudniejsze, że oprogramowanie wykorzystywane w tym celu jest coraz bardziej skomplikowane, a co idzie z tym w parze — coraz bardziej podatne na infiltrację. Aby jednak przeprowadzić jakiekolwiek działania w celu zaatakowania wybranego celu, haker musi najpierw go zlokalizować, a następnie zebrać o nim jak najwięcej informacji, by wybrać najodpowiedniejszy sposób zaatakowania. I tu właśnie pojawiają się technologie umożliwiające przeprowadzanie rozpoznania i skanowania. Skanowanie to pojęcie bardzo zbliżone do rozpoznania, można by nawet powiedzieć, że jest szczególnym przypadkiem rozpoznania. Skanowanie jest również sposobem zbierania informacji, szczególnym ze względu na sposób ich otrzymywania, który polega na poszukiwaniu otwartych i nasłuchujących portów komputera, a następnie ich badaniu. Skanery portów (programy wykonujące tę operację) potrafią znacznie więcej — ich zadanie nie ogranicza się do sondowania pojedynczych portów czy też komputerów. Nowoczesne skanery potrafią zbadać wiele portów różnych komputerów przy użyciu czasem bardzo wymyślnych technologii, mogą również odpowiednio przetworzyć otrzymane dane, tak by stanowiły dla użytkownika programu wymierną podstawę do dalszych działań. W rozdziale tym nauczymy się zbierać informacje o potencjalnym celu naszego ataku. Do naszych badań wykorzystamy technologie oparte na skanowaniu portów.
Rozpoznanie
Użytkownicy zarówno prywatni, jak i korzystający z łączy w pracy, pragnęliby zapewne zachować anonimowość podczas korzystania z Internetu. Jest to wprawdzie możliwe, lecz bardzo trudne do zrealizowania. Istnieje jednak usługa, dostępna pod adresem www.anonymizer.com, pozwalająca na anonimowe poruszanie się po stronach WWW (patrz rysunek 4.1).
Rysunek 4.1. Usługa pozwalająca na anonimowe przeglądanie stron WWW |
|
W tej części książki przyjrzymy się technologiom stosowanym przez hakerów do badania sieci i poszczególnych jej składników.
Rozpoznanie jest pierwszym krokiem podejmowanym przy planowaniu ataku na sieć, czy to odległą, czy też lokalną. Każda dobrze przemyślana próba penetracji wymaga pewnej wiedzy o celu ataku. Atak wykonywany z zewnątrz sieci docelowej nazywany jest atakiem zdalnym. Przedstawię teraz kilka sposobów na otrzymanie informacji o sieci za pomocą Internetu.
|
Działania przedstawione w tej części mogą być użyte w dowolnej kolejności, zależnie od naszej wiedzy o atakowanej sieci. Przykład, którego użyjemy, będzie się odnosił do atakowanej firmy o nazwie XYZ, Inc. (nazwa firmy, domena oraz adres zostały zmienione). |
Katalog Whois
Odnalezienie określonej sieci może być tak skomplikowane, jak przysłowiowe poszukiwanie igły w stogu siana — jest możliwe, lecz bardzo trudne. Whois jest usługą internetową pomagającą użytkownikowi znaleźć URL (Universal Resource Locator) wybranej firmy lub też użytkownika zarejestrowanego w jej sieci.
Udane zapytanie wysłane do usługi Whois pociąga za sobą znalezienie nazwy domeny sieci poszukiwanej firmy. Nazwy domen są ciągami znaków, do których przyporządkowane są adresy. Adresy te są zaś zwykle przyporządkowane interfejsom, za pomocą których komunikują się poszczególne sieci lub komputery. W nazwach domen bardzo często są zawarte słowa identyfikujące nazwę firmy, serwera, organizacji oraz rodzaju prowadzonej działalności, na przykład www.companyname.com. Najważniejszym rejestrem Whois jest katalog udostępniany przez Internet Network Information Center (InterNIC). InterNIC odpowiada za rejestrowanie nazw domen oraz adresów IP, jak również za rozprzestrzenianie informacji o sieci. InterNIC, położony w Herndon w stanie Virginia, powstał w 1993 roku jako konsorcjum utworzone przez U.S National Science Foundation, AT&T, General Atomics oraz Network Solutions, Inc.
Pod wymienionymi niżej adresami URL znajdziesz najważniejsze serwery świadczące usługi Whois:
http://www.internic.net/whois.html — katalog Whois udostępniony przez InterNIC,
www.networksolutions.com/cgi-bin/whois/whois.html — informacje o domenach w Ameryce Północnej,
www.ripe.net — informacje o domenach europejskich,
www.apnic.net — informacje o domenach położonych w Azji oraz na Pacyfiku.
Na rysunku 4.2 oraz 4.3 znajdują się przykłady użycia usługi Whois (Network Solutions — InterNIC) do zlokalizowania poszukiwanej przez nas firmy XYZ, Inc. Jak widać, udało się znaleźć parę ważnych informacji na jej temat, przede wszystkim jej URL: www.xyzinc.com.
Rysunek 4.2. |
|
Teraz, gdy już zlokalizowaliśmy i zweryfikowaliśmy adres naszego celu, następnym krokiem jest kliknięcie nazwy domeny znajdującej się w rezultatach zapytania (patrz rysunek 4.2).
Rysunek 4.3. Wyniki wyszukiwawcze wskazują poszukiwaną przez nas firmę |
Aborting search 50 records found ..... XYZ (MYWAYOUT-DOM MYWAYOUT.COM XYZ (DOUBLEENVELOPE2-DOM) DOUBLEENVELOPE.NET XYZ (PARAG-TRAVELS2-DOM) PARAG-TRAVELS.COM XYZ (UDAYHOMEWORLD4-DOM) UDAYHOMEWORLD.ORG XYZ (XYZINC-DOM) XYZINC.COM XYZ (INDIA-ASTORO2-DOM) INDIA-ASTORO.NET XYZ (XYZSTUDIOS-DOM) XYZSTUDIOS.COM XYZ (DOUBLENVELOPE-DOM) DOUBLENVELOPE.COM XYZ (INDIA-ASTORO-DOM) INDIA-ASTORO.COM XYZ (DOUBLEENVELOPE3-DOM) DOUBLEENVELOPE.ORG XYZ (INFOGIUBILEO-DOM) INFOGIUBILEO2000.COM XYZ (PARAG-TRAVELS-DOM) PARAG-TRAVELS.ORG XYZ (PARAG-TRAVELS3-DOM) PARAG-TRAVELS.NET XYZ (INDIA-ASTORO3-DOM) INDIA-ASTORO.ORG XYZ (KISSMEHENTAI-DOM) KISSMEHENTAI.COM XYZ (DOUBLENVELOPE2-DOM) DOUBLENVELOPE.NET XYZ (XY79-ORG) hostmaster@ACTIVEHOST.COM 518-372-2842 XYZ (XY25-ORG) no.valid.email@WORLDNIC.NET +39 0444 492509 XYZ (DOUBLENVELOPE3-DOM) DOUBLENVELOPE.ORG XYZ (UDAYHOMEWORLD3-DOM) UDAYHOMEWORLD.COM XYZ (UDAYHOMEWORLD2-DOM) UDAYHOMEWORLD.NET XYZ Art (XYZART2-DOM) XYZART.COM XYZ Beheer (DEJOODE2-DOM) DEJODE.ORG XYZ Beheer (DEJOODE-DOM) DEJODE.COM XYZ Beheer (DEJOODE3-DOM) DEJODE.NET XYZ Bend (RECONDRUM-DOM) RECONDRUM.COM XYZ Co. (BELLSODOMREGTEST2-DOM) BELLSODOMREGTEST.COM XYZ Communications (XYZCOMMUNICATIONS2-DOM) XYZCOMMUNICATIONS.NET XYZ Communications (XYZCOMMUNICATIONS-DOM) XYZCOMMUNICATIONS.ORG XYZ Communications (XYZCOMMUNICATIONS3-DOM) XYZCOMMUNICATIONS.COM XYZ Communicazione sr1 (XYZCOMM-DOM) XYZCOMM.COM |
Późniejsza weryfikacja pozwoli potwierdzić poprawność otrzymanego tą metodą adresu. Szczegółowe informacje o firmie XYZ, Inc. posiadającej URL www.xyzinc.com zawierają m.in.:
kontakt do administracji: Bill Thompson (oczywiście jest to pracownik XYZ, Inc.),
kontakt z obsługą techniczną: najprawdopodobniej jest to adres lokalnego dostawcy usług internetowych,
adresy serwerów sieci: 207.237.2.2 oraz 207.237.2.3.
PING
Kolejnym krokiem będzie wykorzystanie prostego programu opartego na protokole ICMP, a nazywającego się ping. Dzięki niemu otrzymamy adres IP serwera obsługującego www.xyzinc.com. PING (akronim od Packet Internet Groper) jest nazwą programu sprawdzającego, czy określony komputer jest podłączony do Internetu; w tym celu wysyła pakiet ICMP na adres IP sprawdzanego komputera, a następnie czeka na odpowiedź.
Rysunek 4.4. Szczegółowe informacje dotyczące posiadacza odszukanej domeny: adresy administratora, obsługi technicznej, administracji oraz adresy DNS |
Registrant: XYZ, Inc. (XYZINC-DOM) 123 Anystreet Ave. Ft. Pierce, FL. 34981 US
Domain Name: XYZINC.COM
Administrative Contact: Thompson, Bill (BT4511) BTHOMPSON@XYZINC.COM 5613593001 (FAX) 5613593002
Technical Contact, Billing Contact: HOSTMASTER (HO1511) HOSTMASTER@ISP.COM 8009291922
Record last updated on 31-Jan-2001. Record expires on 18-Nov-2001. Record created on 17-Nov-1996. Database last updated on 12-Mar-2001 17:15:37 EST.
Domain servers in listed order: NS1.ISP.COM 207.237.2.2 NS2.ISP.COM 207.237.2.3 |
Program ping może być uruchomiony z okna trybu MS-DOS (w systemie Windows) lub z powłoki systemu UNIX. Sposób, w jaki uruchomienie programu ping powoduje ujawnienie adresu IP, można przedstawić w pięciu krokach.
Program odczytuje zapytanie sformułowane przez użytkownika (w formie parametrów).
Nazwa domeny jest wysyłana do lokalnego serwera DNS (w celu przetłumaczenia jej na adres IP, gdyż w innym przypadku niemożliwe byłoby dostarczenie pakietu ICMP).
Ponieważ adres URL (www.xyzinc.com) jest nieznany lokalnemu serwerowi DNS, zostaje wysłane zapytanie do jednego z głównych serwerów DNS obsługiwanych przez InterNIC, który przesyła je dalej do serwera DNS obsługującego www.xyzinc.com.
Tam też domena www.xyzinc.com jest kojarzona z adresem IP.
Ostatecznie adres ten przekazany zostaje do lokalnego serwera DNS, który przesyła ją programowi ping jako odpowiedź. Dopiero w tym momencie ping może wysłać pakiet sprawdzający połączenie z serwerem firmy XYZ.
Przyjrzyj się rysunkowi 4.5 pokazującemu schemat tej operacji. Ponadto na rysunku 4.6 znajduje się wynik zapytania programu ping wykonanego dla adresu www.xyzinc.com.
Rysunek 4.5. Zapytania ICMP (ping) wędrują od naszego serwera DNS do serwera DNS InterNIC, dalej do serwera DNS docelowej sieci, ostatecznie zaś do serwera WWW firmy XYZ w celu otrzymania odpowiedzi |
|
||
Rysunek 4.6. Za pomocą programu ping możemy w prosty sposób znaleźć adres IP badanej domeny |
|
||
|
Na CD-ROM-ie dołączonym do książki znajduje się program automatyzujący proces przeprowadzania rozpoznania. |
Typowe rekordy serwerów DNS dla domeny zawierają informacje o parach nazwa-adres IP serwerów pocztowych, www i ftp. Używając jedynie programu ping, możemy zdobyć dodatkowe informacje.
C:\ping mail.xyzinc.com
Badanie mail.xyzinc.com [206.0.126.11] z użyciem 32 bajtów danych
Odpowiedź z 206.0.126.11: bajtów=32 czas=398ms TTL=49
Odpowiedź z 206.0.126.11: bajtów=32 czas=398ms TTL=49
Odpowiedź z 206.0.126.11: bajtów=32 czas=392ms TTL=49
Odpowiedź z 206.0.126.11: bajtów=32 czas=401ms TTL=49
C:\ping ftp.xyzinc.com
Badanie ftp.xyzinc.com [206.0.126.12] z użyciem 32 bajtów danych
Odpowiedź z 206.0.126.12: bajtów=32 czas=317ms TTL=53
Odpowiedź z 206.0.126.12: bajtów=32 czas=345ms TTL=53
Odpowiedź z 206.0.126.12: bajtów=32 czas=350ms TTL=53
Odpowiedź z 206.0.126.12: bajtów=32 czas=322ms TTL=53
Posiadamy już więc informacje o najważniejszych serwerach w badanej sieci.
www www.xyzinc.com 206.0.12.0
mail mail.xyzinc.com 206.0.126.11
ftp ftp.xyzinc.com 206.0.126.12
Serwisy wyszukiwawcze
Ogólnoświatowa sieć WWW jest bardzo często nazywana autostradą informacyjną, a to z tego powodu, że zawiera miliony megabajtów informacji, które są w każdym momencie przeglądane przez niezliczoną ilość ludzi na całym świecie. Za większość czynności związanych z odnajdywaniem informacji w sieci odpowiedzialne są specjalne serwery nazywane serwisami wyszukiwawczymi.
Serwisy wyszukiwawcze oraz grupy dyskusyjne są wspaniałym narzędziem badania atakowanej sieci, stąd w części tej opiszemy metody zdobywania wiadomości dostępnych tą drogą. Adresy, numery telefonów, kontakty — to tylko niektóre z informacji, które można uzyskać, pobrać oraz zweryfikować za pomocą wyszukiwarek internetowych. Lista najobszerniejszych i najważniejszych serwisów wyszukiwawczych zawiera m.in. następujące adresy:
www.altavista.com,
www.businessseek.com,
www.clickheretofind.com,
www.google.com
www.deja.com,
www.excite.com,
www.goto.com,
www.hotbot.com,
infoseek.go.com,
www.lycos.com,
www.nationaldirectory.com,
www.peoplesearch.com,
www.planetsearch.com,
www.yellowpages.com.
W czasie przeprowadzonych poszukiwań, korzystając z popularnej wyszukiwarki internetowej, udało się potwierdzić wcześniej zdobyte informacje, a dokładniej adres, numer telefonu oraz nazwisko kierownika działu informatycznego (czy pamiętasz jeszcze Billa Thompsona, który przewinął się już poprzednio jako administrator?). Wiedza ta wystarcza do przeprowadzenia ataku znanego pod nazwą social engineering.
Social Engineering
Social Engineering jest sposobem wymuszenia na potencjalnej ofierze strategicznych informacji o sieci (na przykład haseł). Ta popularna technika jest stosowana przez hakerów i crackerów na całym świecie. Prostym i skutecznym wykorzystaniem tej metody jest udawanie nowego użytkownika, jak również członka obsługi technicznej.
Wariant I: nowy użytkownik
Po zapoznaniu się z informacjami zdobytymi w poprzednich krokach haker mógłby zadzwonić do firmy XYZ, poprosić o połączenie z działem informatycznym lub z obsługą techniczną, a następnie, podając się za pracownika tymczasowego, poprosić o tymczasowy login oraz hasło dostępu.
Można poprawić skuteczność tego wariantu. Na przykład znając imię i nazwisko szefa działu marketingowego, możemy wzbogacić i uwiarygodnić scenariusz. Po przełączeniu rozmowy do miejscowego technika haker mógłby rozpocząć w następujący sposób: „Dzień dobry, nazywam się Tom Friedman. Jestem nowym pracownikiem tymczasowym Sharon Roberts, kierowniczki działu marketingowego. Poleciła mi zadzwonić i poprosić o tymczasowy login oraz hasło do naszej sieci”.
Wariant II: członek obsługi technicznej
Inny wariant mógłby wystąpić, gdyby haker, dzwoniąc, poprosił o przełączenie do kogoś z działu sprzedaży. W sytuacji tej mógłby oświadczyć, że Bill Thompson, kierownik działu informatycznego, polecił mu skontaktować się z każdym użytkownikiem tego działu, by sprawdzić jego login oraz hasło dostępu do sieci. Działanie to byłoby usprawiedliwione wdrażaniem do użycia nowego serwera mającego zastąpić stary. Dzięki zdobytym w ten sposób informacjom haker może ominąć system zabezpieczeń i bezproblemowo zalogować się na firmowym serwerze.
Istnieje wiele wariantów wykorzystania tej techniki. Odpowiednio zebrane i połączone ze sobą informacje na temat firmy pozwalają wybrać i zmodyfikować te, które są w danym wypadku najskuteczniejsze. Social Engineering przynosi zaskakująco dobre efekty. Więcej informacji na ten temat oraz historię wykorzystania w/w metody znajdziesz w bibliotece adresów TigerTools (na CD-ROM-ie dołączonym do książki).
Skanowanie portów
Jak już wspomniałem na początku tego rozdziału, skanowanie portów polega na zbadaniu jak największej liczby portów oraz śledzeniu tych, które są otwarte lub podatne na atak. Programy skanujące informują o portach, pomagają analizować ich słabości oraz ułatwiają znalezienie w bazie danych metod na jej wykorzystanie.
|
Wykorzystanie wielu technologii przedstawionych w tej książce (włączając w to skanowanie portów) jest w wielu krajach (również w Polsce i Stanach Zjednoczonych) z prawnego punktu widzenia zabronione, jeżeli osoby i organizacje zainteresowane nie wydały na to specjalnego pozwolenia. Zarówno autor, jak i wydawnictwo Helion nie ponoszą odpowiedzialności za użycie informacji zawartych w tej książce. |
Techniki skanowania portów
Odnajdywanie luk w bezpieczeństwie za pomocą skanera można podzielić na trzy etapy: ustalenie adresu skanowanej maszyny, wykonanie właściwej operacji skanowania oraz sprawdzenie, czy zidentyfikowane usługi nie posiadają luk w zabezpieczeniach. Za pomocą niektórych metod skanowania, opisanych w tej części, można spenetrować sieć znajdującą się wewnątrz obszaru chronionego firewallem.
|
W książce tej firewall jest zdefiniowany jako system, którego zadaniem jest ochrona określonej sieci przed zagrożeniami związanymi z kontaktem z innymi sieciami, w szczególności zaś Internetem. Firewall zapobiega bezpośrednim kontaktom komputerów z komputerami spoza sieci i odwrotnie. Zamiast tego cały ruch sieci kierujący się na zewnątrz oraz do wewnątrz jest filtrowany przez serwer pośredniczący, który na podstawie zbioru zasad decyduje, czy dany komunikat lub plik może przekroczyć granicę chronionej sieci, czy też nie. |
Skanery wysyłają duże ilości pakietów, używając różnych protokołów, a następnie nasłuchują i zapisują każdą odpowiedź. Najpopularniejsze skanery, takie jak na przykład nmap (który zostanie opisany w dalszej części rozdziału), mają zaimplementowaną prawie każdą znaną i przydatną metodę skanowania portów i protokołów. Niektóre z nich omówimy poniżej.
Skanowanie metodą TCP (pełne). Najprostsza metoda skanowania, w której skaner stara się nawiązać ze skanowanymi portami pełne połączenie. Dzięki temu można łatwo wykryć otwarte porty.
Skanowanie metodą TCP SYN. Metoda skanowania nazywana również „skanowaniem połówkowym”. W metodzie tej nie następuje otwarcie połączenia, zamiast tego w kierunku skanowanego portu zostaje wysłany pakiet SYN sugerujący otwarte połączenie i oczekiwanie na odpowiedź. Jeżeli w odpowiedzi skaner dostanie pakiet SYN/ACK, oznacza to, że port nasłuchuje, w przeciwnym wypadku skaner otrzymuje pakiet RST. Po odebraniu SYN/ACK skaner niezwłocznie „zamyka” połączenie, wysyłając pakiet RST.
Skanowanie metodą TCP FIN. Metoda skanowania portów utrudniająca wykrycie faktu skanowania. Niektóre urządzenia typu firewall oraz filtry pakietów (takie jak na przykład Synlogger czy Courtney) potrafią wykryć skanowanie pakietami SYN. W takich sytuacjach czasami możliwe jest skanowanie pakietami FIN, gdyż otwarte porty z reguły odpowiadają na nie pakietami RST, podczas gdy zamknięte porty ignorują tego typu pakiety.
Skanowanie fragmentacyjne. Modyfikacja pozostałych metod skanowania, w której pakiety przeznaczone do skanowania dzielone są na fragmenty. Jeżeli nagłówek pakietu TCP zostanie podzielony na części, wtedy filtry pakietów będą miały znikome szanse wykrycia skanowania.
Skanowanie metodą TCP Reverse Ident. Tak jak zostało to opisane przez Dave'a Goldsmitha w 1996r., protokół ident (RFC 1413) pozwala ujawnić nazwę użytkownika będącego właścicielem jakiegokolwiek procesu, połączonego za pomocą protokołu TCP, nawet w sytuacji, gdy proces ten nie zainicjował połączenia. Można więc, na przykład połączyć się z portem serwera http, a następnie użyć demona ident, aby stwierdzić, czy został on uruchomiony przez użytkownika root.
Atak FTP Bounce. Interesującą cechą protokołu FTP (RFC 959) jest dopuszczenie połączenia FTP przy użyciu swego rodzaju serwera pośredniczącego. Innymi słowy, istnieje możliwość nawiązania połączenia sterującego z evil.com do portu FTP-PI (protocol interpreter — port na serwerze FTP, przez który odbierane i wysyłane są polecenia sterujące i komunikaty) serwera target.com. Następnie zaś można na adres tego portu wysłać żądanie otwarcia aktywnego połączenia z portu FTP-DTP (data transfer process — tym portem są transportowane wszystkie dane), a w konsekwencji wysłania pliku w dowolne miejsce w Internecie!
Skanowanie metodą UDP ICMP_PORT_UNREACH. Metoda skanowania używająca protokołu UDP zamiast TCP. Wprawdzie protokół UDP jest mniej skomplikowany, lecz metody skanowania używające UDP muszą być bardziej wyrafinowane, ponieważ otwarte porty nie mają obowiązku wysyłać odpowiedzi, a zamknięte nie muszą wysyłać pakietów informujących o błędach. Na szczęście większość systemów jest skonfigurowana do wysyłania pakietu ICMP_PORT_UNREACH w odpowiedzi na wysłanie pakietu do zamkniętego portu. Pozwala to stwierdzić, które porty są zamknięte, a pośrednio — które są otwarte.
Skanowanie metodą UDP recvfrom() oraz write(). Zwykli użytkownicy nie mogą bezpośrednio otrzymywać pakietów informujących ICMP_PORT_UNREACH. Jednakże system Linux informuje o tym fakcie pośrednio. Na przykład drugie i kolejne wywołania funkcji write() z poleceniem zapisu do zamkniętego portu spowoduje zwrócenie błędu. Wiele skanerów (na przykład netcat i pscan.c) wykorzystuje tę metodę z powodzeniem.
Popularne skanery portów
Istnieje bardzo wiele skanerów portów, każdy posiada unikalne umiejętności wykonywania różnego rodzaju skanów konkretnych celów. Są skanery skupiające się na portach TCP/IP oraz usługach na nich opartych; inne wykorzystują protokół UDP, prostszy wprawdzie, lecz za to dużo trudniejszy w skanowaniu i skomplikowany w zarządzaniu informacjami otrzymanymi w wyniku skanowania. Zadaniem tej części jest zaprezentowanie i przybliżenie możliwości kilku popularniejszych skanerów portów. Pakiet TigerSuite zostanie opisany dokładniej w rozdziale 11. Znajdziecie go również na CD-ROM-ie dołączonym do książki).
CyberCop Scanner
Windows NT, Linux
CyberCop (patrz rysunek 4.7), opracowany przez Network Associates, jest programem służącym do wykrywania i oceniania słabych punktów bezpieczeństwa, połączonym z nowoczesnym systemem monitorowania wszelkich oznak aktywności intruza. Program ten ma m.in. zaimplementowane zaawansowane technologie, których zadaniem jest rozmieszczanie w systemie „przynęt” pomagających wytropić i zlokalizować szpiega. CyberCop testuje system komputerowy i urządzenia sieciowe, szukając znanych i potencjalnych luk w bezpieczeństwie systemu. Potrafi testować komputery i serwery oparte na systemach WindowsNT oraz UNIX, urządzenia sieciowe typu huby, switche, jak również, wykorzystując specjalny firewall (również opracowany przez Network Associates), umożliwia wykrycie intruzów atakujących firewalle i routery. Możliwe jest sporządzanie raportów z dowolną, zaprojektowaną dokładnością. Jest również dostępnych wiele opcji pozwalających sporządzone raporty wyświetlać w postaci graficznej, map sytuacyjnych sieci czy też raportów o stopniu ryzyka. Dodatkową umiejętnością programu CyberCop jest możliwość automatycznego uaktualniania jego wersji oraz baz danych. CyberCop Scanner jest z pewnością jednym z najlepszych w swojej klasie skanerów.
Rysunek 4.7. CyberCop Scanner |
|
||
|
W Ameryce Północnej program CyberCop jest dostępny do celów testowych na stronie www.networkassociates.com |
Jakal
Linux
Jakal należy do grupy tych popularniejszych skanerów, które używają trudniejszej do wykrycia metody nazywanej skanowaniem połówkowym. Czy przypominasz sobie sposób nawiązywania połączenia TCP opisany w rozdziale 1.? Otóż skaner połówkowy nigdy nie nawiązuje do końca połączenia i z tego powodu może ominąć firewall i ukryć się przed detektorem skanowania lub antyskanerem. Typowe połączenie TCP jest nawiązywane przez wysłanie drugiej stronie połączenia pakietu SYN. Jeśli druga strona na tym właśnie porcie nasłuchuje połączenia, odpowiada pakietem SYN/ACK. Wtedy strona inicjująca połączenie poznaje, że druga jest do niego gotowa, a więc wysyła pakiet ACK, by ostatecznie nawiązać połączenie. Jeśli druga strona nie oczekuje połączenia na tym porcie, po prostu odpowiada za pomocą pakietu RST. Większość systemów nie rejestruje połączeń do momentu otrzymania od źródła połączenia pakietu ACK ostatecznie informującego o nawiązaniu połączenia. Tak więc, jeśli strona inicjująca połączenie, zamiast wysłać końcowy pakiet ACK, wyśle RST, druga strona przyjmie, że połączenie nigdy nie nastąpiło i z tego powodu nie zostanie zarejestrowane w dzienniku systemowym. Ponieważ jednak strona inicjująca może stwierdzić, czy na początkowe ACK otrzymała SYN/ACK, czy też RST, uzyskuje informację, czy port nasłuchuje, czy też jest zamknięty dla połączeń (i to bez wiedzy ofiary skanowania!). Należy jednak pamiętać, że specjalistyczne oprogramowanie jest w stanie wykryć próby skanowania połówkowego, włączając w to identyfikację komputera, z którego zostało ono wykonane.
|
Jakal jest dostępny na CD-ROM-ie dołączonym do książki. |
NetRecon
WindowsNT
NetRecon (patrz rysunek 4.8) jest narzędziem służącym do oceny słabych stron bezpieczeństwa — znajdującym luki w bezpieczeństwie sieci, analizującym je i raportującym o nich. Umożliwia przeprowadzenie obiektywnej oceny bezpieczeństwa sieci przez skanowanie i badanie jej infrastruktury z zewnątrz. NetRecon odtwarza sposób działania określonych intruzów lub technik ataku, a następnie przygotowuje sprawozdanie zawierające znalezione i zidentyfikowane luki w systemie be zpieczeństwa oraz sposoby przeciwdziałania. NetRecon jest oceniany bardzo wysoko, na równi z programem CyberCop Scanner w swojej klasie skanerów.
|
NetRecon jest dostępny na stronie jego producenta (Axent) — www.axent.com. |
||
Rysunek 4.8. NetRecon podczas przygotowywania symulacji skanu |
|
Network Security Scanner — WebTrends Security Analyzer
Windows 95/98/NT/2000
NSS (Network Security Scanner) jest technologią włączoną do programu WebTrends Security Analyzer (patrz rysunek 4.9). Produkt ten pomaga poprawić bezpieczeństwo sieci, wykrywając różnorodne problemy związane z bezpieczeństwem systemów Windows 95/98/NT, a następnie przedstawia ewentualne sposoby ich naprawienia. Dodatkową umiejętnością tego programu jest opcja AutoSync, której zadaniem jest bieżące pobieranie aktualnych schematów przeprowadzania badań. WebTrends Securtity Analyzer jest najbardziej przyjaznym dla użytkownika produktem dostępnym obecnie na rynku.
Rysunek 4.9. WebTrends Security Analyzer |
|
||
|
Wersję testową programu WebTrends Security Analyzer można znaleźć pod adresem www.webtrends.com. |
Nmap
Linux, Windows NT
Według twórcy programu — Fyodora — Nmap (patrz rysunek 4.10) jest narzędziem służącym głównie do skanowania większych sieci, jednakże sprawuje się bardzo dobrze również w przypadku pojedynczych komputerów. Głównym założeniem programu jest filozofia TMTOWTDI (there's more than one way to do it — każdą rzecz można wykonać na wiele sposobów) znana użytkownikom Perla. Czasem (zwłaszcza w wypadku większych sieci) zależy nam na prędkości skanowania, czasem zaś na wykonaniu skanu w tajemnicy. W niektórych przypadkach może się okazać konieczne ominięcie firewalla, w innych zaś może nam zależeć na wykorzystaniu różnych protokołów (UDP, TCP, ICMP itd.). Wszystko to nie jest możliwe, gdy wykorzystujemy jeden tryb skanowania, ani też gdy używamy dziesięciu różnych programów, każdego z innym interfejsem i możliwościami. Z tego powodu Nmap potrafi posłużyć się prawie każdą znaną technologią skanowania.
Nmap posiada również wiele opcji pozwalających dostosować jakość skanowania, włączając w to dynamicznie obliczane odstępy czasu pomiędzy poszczególnymi pakietami, skanowanie równoległe oraz wykrywanie niedostępnych (wyłączonych) komputerów za pomocą równoległych pingów. Nmap pozwala również bardzo elastycznie formułować listę komputerów i portów, ustalać sekwencję TCP w sposób możliwy do przewidzenia oraz przedstawiać wyniki w sposób łatwy do odczytania przez człowieka i przetworzenia przez maszynę.
Rysunek 4.10. Główne okno interfejsu programu Nmap |
|
||
|
Program Nmap znajdziesz na CD-ROM-ie dołączonym do książki. |
SAFEsuite
Windows NT, Solaris, Linux
SAFEsuite (patrz rysunek 4.11) jest kolejną aplikacją wykrywającą „punkty zapalne” w sieci. Kompletny przegląd informacji o bezpieczeństwie przedsiębiorstwa zbiera w jednym miejscu i wiąże ze sobą dane z wielu różnych źródeł, pozwalając na czas podejmować właściwe decyzje.
Rysunek 4.11. Internet Scanner należący do pakietu SAFEsuite |
|
SAFEsuite Decisions potrafi zbierać i łączyć ze sobą informacje z różnych źródeł w sieci, włączając w to programy Check Point FireWall-1, Gauntlet Firewall czy system wykrywania i przeciwdziałania włamaniom ISS RealSecure wraz ze skanerem ISS Internet Scanner. SAFEsuite Decisions automatycznie wykorzystuje dane, uzyskane za pomocą innych produktów, do obliczenia stopnia i profilu ryzyka bezpieczeństwa firmowej sieci. Dla przykładu luki w bezpieczeństwie znalezione za pomocą skanera internetowego oraz alarmy świadczące o obecności intruza w systemie, uzyskane przez program RealSecure należący do pakietu SAFEsuite, mogą zostać ze sobą powiązane i w tenże sposób dostarczyć wartościowej informacji, zawierającej dane o komputerach podatnych na atak, jak również o tych, które są prawdopodobnie zaatakowane.
|
Pakiet SAFEsuite znajduje się na CD-ROM-ie dołączonym do książki. |
Security Administrator's Tool for Analyzing Networks (SATAN)
Solaris, Linux, IRIX
Security Administrator's Tool for Analyzing Networks (SATAN), napisany przez Dana Farmera oraz Weite Vegema, jest reklamowany jako narzędzie mające pomóc administratorom sieci. Według Muffy Barkocy, konsultantki specjalizującej się w programie SATAN, program ten został utworzony na podstawie założenia, że systemy komputerowe są coraz bardziej uzależnione od kontaktu z siecią, stając się jednocześnie podatniejszymi na atak z zewnątrz. SATAN rozpoznaje podstawowe problemy związane z bezpieczeństwem komputera lub też całej sieci i informuje o nich, jednakże bez wykonywania głębszych badań, mających na celu zweryfikowanie prawdziwości ich zagrożenia. Dla każdego rodzaju znalezionego problemu SATAN oferuje instrukcje zawierające opis oraz potencjalne skutki problemu, a następnie sposób przeciwdziałania, na przykład: czy poprawić błąd w pliku konfiguracyjnym, zainstalować odpowiedni program korygujący, użyć innych sposobów uzyskania żądanego poziomu bezpieczeństwa, czy też po prostu wyeliminować usługę.
SATAN zbiera informacje dostępne dla każdego użytkownika posiadającego dostęp do sieci. Przy poprawnie skonfigurowanym firewallu liczba informacji możliwych do uzyskania dla użytkowników spoza obrębu chronionej sieci powinna być ograniczona do niezbędnego minimum. Pobieżne badanie przeprowadzone wraz z Muffy Barkocy dowiodły, że w sieciach posiadających kilkadziesiąt i więcej systemów SATAN nieuchronnie wykrywa problemy. Należy jednak pamiętać, że społeczeństwo hakerskie rozpracowuje te tematy już od dłuższego czasu.
SATAN został napisany głównie w C oraz Perlu z panelami administracyjnymi przygotowanymi w HTML. Program, rozprowadzany w postaci plików *.tar.gz, jest kompatybilny z większością systemów uniksowych. Działania programu SATAN skupiają się na odnajdywaniu problemów związanych z demonami FTP, NFS, NIS, RSH, Sendmail oraz X Server, ale nie ograniczają się tylko do tego.
|
W ciągu tygodnia od wprowadzenia pierwszej wersji programu SATAN pojawiła się poprawiona wersja oferująca m.in. obsługę innych platform (bsdi, ultrix, dg/ux) oraz rozwiązywanie powstałych problemów (pakiet zawiera na przykład rpcgen, ctime.pl, itp.). Poprawiono również wiele drobniejszych niedogodności i rozszerzono dokument FAQ (Frequently Asked Questions — najczęściej zadawane pytania). Dołączono podręcznik wyjaśniający, w jaki sposób bezpiecznie używać programu SATAN. |
Używając programu SATAN, hakerzy mogą skanować prawie każdy system lub sieć podłączoną do Internetu. Systemy uniksowe są szczególnie wrażliwe na te działania, gdyż bardzo często atakujący posługują się prostym schematem postępowania.
Zdobywają dostęp do systemu.
Zdobywają uprawnienia administratora systemu (root).
Rozszerzają swój dostęp do innych systemów.
Administratorzy systemów uniksowych nie powinni się jednak tym zbyt mocno martwić, gdyż istnieją programy wykrywające działalność programu SATAN, do ich grona zaliczają się m.in. Courtney, Gabriel oraz wiele innych nakładek na protokół TCP.
Security Administrator's Integrated Network Tool (SAINT)
Security Administrator's Integrated Network Tool (SAINT) jest poprawioną i wzbogaconą wersją programu SATAN, zaprojektowaną do szacowania bezpieczeństwa sieci komputerowych. W najprostszym trybie działania SAINT zbiera jak najwięcej informacji o zdalnych komputerach i sieciach, wykorzystując takie usługi jak finger, NFS, NIS, FTP, TFTP, rexd, statd i inne. Utworzony w ten sposób raport zawiera informacje o obecności różnych usług sieciowych, jak i listę ewentualnych problemów z bezpieczeństwem przez nie wywoływanych. Użytkownik może później analizować i wydawać kolejne polecenia za pomocą przeglądarki plików HTML, takiej jak na przykład Netscape czy Lynx. Mimo że program jest skonstruowany głównie do analizy implikacji rezultatów przeprowadzonych badań, możliwe jest uzyskanie wielu dodatkowych, lecz bardzo ważnych danych dotyczących sieci — jej topologii, rodzaju sprzętu i oprogramowania użytego przy jej budowie oraz innych.
Najważniejszym atutem przemawiającym na korzyść programu SAINT jest specjalny tryb działania, w którym, na podstawie danych i zbioru zasad ustalonych przez użytkownika, jest przeprowadzana analiza zależności dotyczących bezpieczeństwa między wieloma komputerami i usługami. Pozwala to użytkownikowi nie tylko przeanalizować bezpieczeństwo własnej sieci, lecz także przetestować zależności wynikające z różnego stopnia bezpieczeństwa komputerów i usług w sieci, a co za tym idzie, podejmować odpowiednie decyzje w celu uzyskania właściwego zbalansowania bezpieczeństwa i użyteczności sieci.
|
Zarówno SAINT, jak i SATAN znajdują się na CD-ROM-ie dołączonym do książki. Mogą być one pobrane również przez Internet z podanych niżej adresów. |
Ameryka Północna:
http://www.wwdsi.com/saint/
ftp://ftp.mcs.anl.gov/pub/security
ftp://coast.cs.purdue.edu/pub/tools/unix/scanners
ftp://ftp.acsu.buffalo.edu/security/satan-1.1.1.tar.Z
ftp://ftp.net.ohio-state.edu/pub/security/satan/satan-1.1.1.tar.Z
ftp://ftp.cerf.net/pub/software/unix/security/
ftp://ftp.tisl.ukans.edu/pub/security/satan/satan-1.1.1.tar.Z
ftp://ciac.llnl.gov/pub/ciac/sectools/unix/satan/
Australia:
ftp://coombs.anu.edu.au/pub/security/satan/
Europa:
ftp://ftp.luth.se/pub/unix/security/satan-1.1.1.tar.Z
ftp://ftp.luth.se/pub/unix/security/satan-1.1.1.tar.Z
ftp://ftp.cert.dfn.de/pub/tools/net/satan/satan-1.1.1.tar.Z
Tiger Tools
Windows 9x/NT/2000, OS/2, Mac, Linux, Solaris
Pakiet TigerSuite, będący kompletnym zestawem narzędzi w dziedzinie bezpieczeństwa, jest przez niektórych oceniany jako najlepszy w swojej klasie. W testach, przeprowadzonych przez autora tej książki, porównujących pakiet Tiger Tools z innymi popularnymi komercyjnymi programami tej klasy czas wykonania prostego skanu 1000 portów pięciu różnych systemów wynosił poniżej minuty dla programu Tiger Tools w porównaniu do średniej wynoszącej ok. 35 minut dla pozostałych programów.
Pakiet ten posiada zestaw specyficznych funkcji, opisanych poniżej.
|
Pakiet TigerSuite, opisany szczegółowo w rozdziale 11, jest dostępny na CD-ROM-ie dołączonym do tej książki. |
Local Analyzer
Local Analyzer jest zestawem narzędzi zaprojektowanym do przeprowadzania badań, analiz i ocen w sieci lokalnej, do której należy komputer z zainstalowanym pakietem. Zawiera między innymi moduły:
Virus/Trojan Analysis,
File Information,
Compare,
Sysinfo,
Resource Exploration,
DBF View/Edit,
DiskInfo,
Copy Master.
Narzędzia te może wykorzystywać każdy system pozostający w granicach sieci, mogą być używane poprzez pakiet Tiger Tools, lecz w tym przypadku trzeba je zainstalować na tym samym komputerze, na którym pracuje pakiet. Pozwala to upewnić się, że system jest „czysty” i gotowy do analizy.
Network Discovery
Ten podzestaw narzędzi zawiera te z nich, które są uruchamiane w celu odnalezienia, zidentyfikowania oraz skatalogowania obszarów i punktów wewnątrz sieci podatnych na atak. Zestaw ten zawiera następujące narzędzia:
Ping,
Port Scanner,
IP Scanner,
Site Discovery,
Network Port Scanner,
Proxy Scanner,
Trace Route,
Telnet,
NSLookup,
DNS Query,
NetStat,
Finger, Echo,
Time, UDP,
Mail List Verify,
HTTPD Benchmark,
FTP Benchmark.
Network Discovery pozwala administratorowi uzyskać bardzo dokładną listę luk w bezpieczeństwie sieci. Następnie może on odwołać się do informacji zawartych w Tiger Tools 2000 InfoBase, gdzie dowie się, jakie są zalecane działania w zależności od skali i charakteru znalezionych problemów.
Tiger Tools Attack
Pakiet Tiger Tools Attack składa się z narzędzi służących do testowania sieci i poszczególnych systemów przez przypuszczanie lub symulowanie ataku na różne usługi w sieci za pomocą mniej lub bardziej wyspecjalizowanych programów, które wymieniamy poniżej:
Penetrator,
WinNuke,
MailBomber,
Bruteforce Generator,
Finger,
Sendmail,
Buffer Overload,
CRC,
Spammer,
HTTP Crack,
FTP Crack,
POP3 Crack,
Socks Crack,
SMB Passwd Check,
Unix Password Check,
Zip Crack,
Rar Crack,
CGI Check,
Trojan Scan.
Za pomocą tych narzędzi można wygenerować różne rodzaje ataków z możliwością przełamania bariery bezpieczeństwa i penetracją testowanego systemu włącznie. Tego rodzaju testy są bardzo przydatne, choćby z tego powodu, że pozwalają stwierdzić, czy zastosowane zasady bezpieczeństwa są wystarczające oraz przestrzegane. Informacja ta pomaga podjąć odpowiednie kroki w celu poprawienia bezpieczeństwa badanego systemu komputerowego lub całej sieci.
What'sUp
Windows
Program What'sUp Gold (patrz rysunek 4.12) pozwala w czasie rzeczywistym monitorować działanie sieci, udostępniając jednocześnie wiele różnych sposobów komunikacji.
Rysunek 4.12.
Interfejs użytkownika programu |
|
W wypadku powstania problemu zostaje wszczęty alarm, o którym informacja może zostać wysłana na podany przez użytkownika adres e-mail lub pager. Dzięki takiemu sposobowi powiadamiania w wypadku zaistnienia jakiegokolwiek problemu możliwe jest szybkie, wręcz automatyczne, uruchomienie działań zapobiegawczych, zanim problem rozszerzy się i pogłębi, powodując konieczność podjęcia bardzo kosztownej decyzji o wyłączeniu serwera. Przyjazny interfejs programu What'sUp Gold pomaga użytkownikowi w przygotowaniu mapy sieci i urządzeń sieciowych, dodawaniu do niej nowych usług, wyszczególnianiu tych, które będą obserwowane, oraz w konfigurowaniu alarmów. W dowolnym momencie użytkownik może skorzystać z narzędzia do skanowania, uruchamianego kliknięciem ikony skanowanego komputera prawym klawiszem myszy. Program oferuje wiele innych narzędzi dostępnych z poziomu menu aplikacji, niektóre z nich wymieniamy poniżej.
Info. Wyświetla sumaryczne informacje o sieci i urządzeniach sieciowych, włącznie z nazwą sieciową, adresem IP oraz informacjami kontaktowymi (pozyskiwanymi z bazy danych usługi Whois).
Time. Jego zadaniem jest wysyłanie zapytań do serwerów czasu na całym świecie, na ich podstawie można potem precyzyjnie ustawić wewnętrzny zegar systemu komputerowego.
HTML. Służy do wysyłania zapytań do serwerów WWW, pozwala wyświetlać pełne dane nagłówka oraz zawartość strony.
Ping. Działa podobnie jak program systemowy o tej samej nazwie — wysyła do badanego komputera pakiety ICMP w celu zmierzenia i wyświetlenia czasu, koniecznego do przesłania pakietu w obie strony.
TraceRoute. Wyświetla trasę, którą podróżują pakiety ICMP do określonego miejsca w sieci.
Lookup. Pozwala na formułowanie własnych zapytań do systemu tłumaczenia nazw DNS używanego przez system, na którym jest uruchomiony program What'sUp. Użytkownik programu może wprowadzić adres IP dowolnego komputera, uzyskując w efekcie oficjalną nazwę komputera w Internecie, lub na odwrót — podać nazwę komputera, by uzyskać jego adres IP.
Finger. Bada komputer, używając do tego protokołu finger. Użytkownik wprowadza nazwę komputera, a następnie, o ile jest to możliwe, uzyskuje listę użytkowników aktualnie pracujących na próbkowanym komputerze.
Whois. Służy do odnajdywania informacji o sieciach i użytkownikach, wykorzystując do tego bazy danych udostępniane przez dostawców usług internetowych.
LDAP. Wyświetla nazwy użytkowników i ich adresy poczty elektronicznej na systemach obsługujących LDAP.
Quote. Wyświetla tzw. „temat dnia” tych zdalnych komputerów, które posiadają aktywną usługę Quote.
Scan. Pozwala skanować wybrany przedział adresów IP w sieci, a następnie sporządza mapę rezultatów. Za pomocą tego narzędzia można zidentyfikować różne usługi systemowe (tzn. SMTP, FTP, HTTP, Telnet itp.) ewentualnie występujące na badanych komputerach.
SNMP. Wyświetla konfigurację sieci oraz inne dodatkowe informacje uzyskane z komputerów i urządzeń wykorzystujących protokół SNMP.
WinNet. Podaje informacje o sieci lokalnej, do której należy użytkownik.
Throughput. Sprawdza przepustowość wybranego połączenia, wysyłając ustaloną liczbę pakietów o rosnącym rozmiarze.
|
Wersję testową programu What'sUp można pobrać na stronie www.ipswitch.com. |
Przykładowy skan
Na początku rozdziału przeprowadziliśmy krótkie rozpoznanie (podczas którego znaleźliśmy adres sieci interesującej nas firmy). Teraz, gdy już poznaliśmy i zgromadziliśmy właściwe narzędzia, przeprowadzimy skanowanie tejże sieci. Będzie to zaledwie pobieżny skan, którego celem jest odnalezienie aktywnych adresów w sieci (tzn. takich, które wskazują na istniejący system) oraz otwartych portów. Hakerzy zwykle nie spędzają dużo czasu na wykonywaniu skanów oraz testowaniu podatności usług na różnorodne ataki, gdyż mogłoby to doprowadzić do ujawnienia ich działalności.
Skanowanie rozpoczniemy, zakładając, że sieć w całości należy do klasy C (informacje o rodzajach klas sieci znajdują się w rozdziale pierwszym). Ustawimy skaner tak, by badał adresy w zakresie od 206.0.126.1 do 206.0.126.254 składające się na sieć z 24-bitową maską podsieci (255.255.255.0). Z uprzednio przeprowadzonego rozpoznania mamy adresy kilku usług, a mianowicie:
www www.xyzinc.com 206.0.126.10
mail mail.xyzinc.com 206.0.126.11
ftp ftp.xyzinc.com 206.0.126.12
Pierwsze podejście wykonamy z największą prędkością, skanując porty w zakresie 1 do 1000.
206.0.126.1 |
206.0.126.95 |
206.0.126.157 |
206.0.126.8 |
206.0.126.96 |
206.0.126.158 |
206.0.126.10:80 |
206.0.126.97 |
206.0.126.159 |
206.0.126.11 |
206.0.126.110 |
206.0.126.168 |
206.0.126.22 |
206.0.126.111 |
206.0.126.172 |
206.0.126.23 |
206.0.126.112 |
206.0.126.173 |
206.0.126.25 |
206.0.126.113 |
206.0.126.175 |
206.0.126.27 |
206.0.126.114 |
206.0.126.177 |
206.0.126.28 |
206.0.126.115 |
206.0.126.179 |
206.0.126.29 |
206.0.126.116 |
206.0.126.183 |
206.0.126.30 |
206.0.126.117 |
206.0.126.186 |
206.0.126.33 |
206.0.126.118 |
206.0.126.200 |
206.0.126.35 |
206.0.126.119 |
206.0.126.201 |
206.0.126.39 |
206.0.126.120 |
206.0.126.203 |
206.0.126.44 |
206.0.126.121 |
206.0.126.206 |
206.0.126.49 |
206.0.126.122 |
206.0.126.207 |
206.0.126.53 |
206.0.126.123 |
206.0.126.221 |
206.0.126.54 |
206.0.126.124 |
206.0.126.222 |
206.0.126.55 |
206.0.126.125 |
206.0.126.223 |
206.0.126.56 |
206.0.126.126 |
206.0.126.224 |
206.0.126.61 |
206.0.126.127 |
206.0.126.225 |
206.0.126.62 |
206.0.126.128 |
206.0.126.231 |
206.0.126.63 |
206.0.126.129 |
206.0.126.236 |
206.0.126.64 |
206.0.126.130 |
206.0.126.237 |
206.0.126.65 |
206.0.126.131 |
206.0.126.238 |
206.0.126.66 |
206.0.126.133 |
206.0.126.239 |
206.0.126.67 |
206.0.126.136 |
206.0.126.240 |
206.0.126.69 |
206.0.126.137 |
206.0.126.241 |
206.0.126.70 |
206.0.126.141 |
206.0.126.243 |
206.0.126.86 |
206.0.126.142 |
206.0.126.245 |
206.0.126.87 |
206.0.126.143 |
206.0.126.247 |
206.0.126.89 |
206.0.126.153 |
206.0.126.249 |
206.0.126.92 |
206.0.126.154 |
206.0.126.250 |
206.0.126.93 |
206.0.126.155 |
206.0.126.251 |
206.0.126.94 |
206.0.126.156 |
|
W wyniku pierwszego skanu otrzymaliśmy ponad 104 aktywne adresy. Aby potwierdzić hipotezę o odnalezieniu szeregu aktywnych adresów, powtórzymy skanowanie, tym razem jednak ustawiając parametr time-out w granicach 2 sekund. To powinno wystarczyć do znalezienia większej ilości otwartych portów.
206.0.126.1:23, 161, 162 |
206.0.126.94 |
206.0.126.155 |
206.0.126.8:7, 11, 15, 19, 21, 23, 25,80, 110, 111 |
206.0.126.95 |
206.0.126.156 |
206.0.126.10:21, 23, 80 |
206.0.126.96 |
206.0.126.157 |
206.0.126.11:25, 110 |
206.0.126.98 |
206.0.126.158 |
206.0.126.22 |
206.0.126.110 |
206.0.126.159 |
206.0.126.26 |
206.0.126.111 |
206.0.126.169 |
206.0.126.27 |
206.0.126.112 |
206.0.126.172 |
206.0.126.28 |
206.0.126.113 |
206.0.126.173 |
206.0.126.29 |
206.0.126.114 |
206.0.126.176 |
206.0.126.30:21, 80 |
206.0.126.116 |
206.0.126.177 |
206.0.126.31 |
206.0.126.117 |
206.0.126.201 |
206.0.126.37 |
206.0.126.118 |
206.0.126.203 |
206.0.126.39 |
206.0.126.119 |
206.0.126.206 |
206.0.126.44 |
206.0.126.120 |
206.0.126.207 |
206.0.126.49 |
206.0.126.122 |
206.0.126.221 |
206.0.126.53 |
206.0.126.123 |
206.0.126.222 |
206.0.126.54 |
206.0.126.124 |
206.0.126.223 |
206.0.126.59 |
206.0.126.125 |
206.0.126.224 |
206.0.126.61 |
206.0.126.126 |
206.0.126.225 |
206.0.126.62 |
206.0.126.127 |
206.0.126.231 |
206.0.126.63 |
206.0.126.128 |
206.0.126.236 |
206.0.126.64 |
206.0.126.129 |
206.0.126.237 |
206.0.126.65 |
206.0.126.130 |
206.0.126.238 |
206.0.126.66 |
206.0.126.131 |
206.0.126.239 |
206.0.126.67 |
206.0.126.133 |
206.0.126.240 |
206.0.126.69 |
206.0.126.136 |
206.0.126.241 |
206.0.126.77 |
206.0.126.137 |
206.0.126.243 |
206.0.126.82 |
206.0.126.141 |
206.0.126.247 |
206.0.126.87 |
206.0.126.142 |
206.0.126.249 |
206.0.126.89:7, 11, 21, 23, 25, 80, 110, 111 |
206.0.126.144 |
206.0.126.250 |
206.0.126.92 |
206.0.126.153 |
|
206.0.126.93 |
206.0.126.154 |
|
Przyjrzyjmy się teraz wynikom naszego drugiego skanu i porównajmy je z uzyskanymi poprzednio. Kluczowymi dla nas adresami (ze względu na otwarte porty) są:
206.0.126.1:23, 161, 162
206.0.126.8:7, 11, 15, 19, 21, 23, 25, 80, 110, 111
206.0.126.10:21, 23, 80
206.0.126.11:25, 110
206.0.126.30:21, 80
206.0.126.89:7, 11, 21, 23, 25, 80, 110, 111
Pozostałe adresy są najwyraźniej adresami przydzielanymi dynamicznie, możliwe, że za pomocą protokołu NAT (Network Address Translation) przez firewall lub router. Lista tych adresów różni się odrobinę od listy uzyskanej przy pierwszym skanowaniu. Nieobecność aktywnych portów, tak jak i różnice w liście aktywnych adresów, mogą być (i prawdopodobnie są) wskazówką, że adresy te przynależą do zwykłych szeregowych użytkowników korzystających z Internetu.
|
NAT jest procesem zamieniania prywatnych adresów używanych wewnątrz sieci na adresy z puli używanej w sieci Internet. Administratorzy wykorzystują takie rozwiązanie z różnych powodów, m.in. dla poprawienia bezpieczeństwa, oraz wtedy, gdy łatwiej przeprowadzić konwersję adresów niż zmieniać adresy poszczególnym komputerom. Innym powodem może być ograniczona ilość przyznanych adresów przez dostawcę usług internetowych. |
Przyjrzyjmy się teraz dokładniej kluczowym adresom w sieci i usługom, które wydają się być na nich aktywne:
206.0.126.1:23, 161, 162
Port 23: Telnet. Demon umożliwiający zdalne wykonywanie poleceń, a w szczególności administrację komputerem przez Internet. Pozwala czasem hakerowi uzyskać dodatkowe informacje przydatne podczas przygotowywania ataku.
Port 161/162: SNMP. Wielu administratorów zezwala na odczyt i zapis do tych portów, zwykle używając prostego hasła dającego się łatwo złamać. Można przypuszczać, że port ten należy do zewnętrznego interfejsu sieciowego routera. Administratorzy bardzo często używają adresu IP z końcówką .1 jako adresu routera. Bardzo często też jedynym aktywnym portem na takim serwerze jest port 23 (Telnet) służący do zdalnej administracji. Później dokładniej zbadamy ten adres, jako że opanowanie routera niesie ze sobą bardzo duże możliwości rozprzestrzenienia dostępu do pozostałych komputerów w sieci. Niektórzy hakerzy wykorzystują po prostu konto u dostawcy usług internetowych do sprawdzenia zachowania się routera, w przypadku połączenia Telnetem (patrz rysunek 4.13).W systemach Windows 95/98/NT/2000 klient Telnet jest dostępny z linii poleceń lub przez Start/Run po wydaniu polecenia „telnet”.
Rysunek 4.13. Za pomocą Telnetu udało się stwierdzić, że badany adres (206.0.126.1) należy do routera Cisco |
|
Jak widać na rysunku, badany adres (206.0.126.1) należy do routera Cisco (można to poznać po charakterystycznym sposobie logowania). Natomiast o drugim adresie możemy powiedzieć, że jest związany z jakimś serwerem opartym na systemie uniksowym. W wyniku skanowania udało się nam odnaleźć wiele aktywnych usług:
206.0.126.8:7, 11, 15, 19, 21, 23, 25, 80, 110, 111
Port 7: echo. Moduł ułatwiający testowanie połączeń internetowych. Jego zadanie polega na odpowiadaniu nadawcy na otrzymane pakiety, dzięki czemu może on na przykład ustalić czas podróżowania pakietów z miejsca przeznaczenia i do niego. Najważniejszym narzędziem wykorzystującym tę usługę jest PING.
Port 11: systat. Systat jest usługą uniksową dającą możliwość zdalnego sprawdzania listy uruchomionych procesów. Z tych informacji haker może uzyskać dane o uruchomionych w systemie programach, dzięki czemu może wśród nich znaleźć na przykład ten, który powoduje lukę w bezpieczeństwie systemu, a następnie spróbować go zaatakować.
Port 15: netstat. Polecenie netstat pozwala wyświetlić informacje o stanie połączeń i interfejsów sieciowych — MTU, MAC, IP itd. Z niektórych informacji uzyskanych w ten sposób haker może wyciągać wnioski o zależnościach pomiędzy różnymi komputerami w sieci, jak i różnymi sieciami.
Port 19: chargen. Usługa chargen służy do generowania strumienia znaków służących do testowania poprawności transmisji danych. Istnieją sposoby wykorzystania tego faktu. Jednym z nich jest możliwość wykonania pętli między usługą echo a usługą chargen, w efekcie czego może nastąpić przeciążenie. Należy zauważyć, że w tym przypadku atak wcale nie musi być wykonany z adresu należącego do podsieci atakowanego komputera.
Port 21: FTP. Otwarty port usługi FTP może pomóc hakerowi, o ile uda mu się uzyskać nazwę i numer wersji demona obsługującego serwer. Mając te dane, można próbować znaleźć w Internecie informacje o ewentualnych błędach w tej wersji serwera, a następnie użyć ich do wdarcia się w system ofiary.
Port 23: Telnet. Demon umożliwiający zdalne wykonywanie poleceń, a w szczególności administrację komputerem przez Internet. Pozwala czasem hakerowi uzyskać dodatkowe informacje przydatne podczas przygotowywania ataku.
Port 25/110: SMTP/POP3. Posługując się portami protokołów SMTP (25) oraz POP3 (110), haker może wykorzystać usługi pocztowe na przykład do wysyłania bomb pocztowych, podszywając się pod innych użytkowników, lub po prostu uniemożliwić im korzystanie z tych usług.
Port 80: HTTP. Obecność uruchomionego demona HTTP wskazuje na aktywną usługę serwera WWW. Port ten można nazwać „otwartymi drzwiami” dla różnego rodzaju nadużyć i włamań do systemu serwera, gdyż regułą jest, że demony serwerów HTTP mają wiele problemów z zachowaniem właściwego stopnia bezpieczeństwa, pozwalając w niektórych sytuacjach zdalnie uruchamiać programy, eksplorować drzewo katalogów i plików, kopiować i usuwać pliki, wykonywać różnego rodzaju skrypty, czy po prostu podmieniać oryginalne strony WWW stronami zaprojektowanymi przez hakera.
Port 111: Portmap. Usługa ta pozwala klientom RPC zdalnie łączyć się z serwerami RPC. Przy użyciu tej usługi możliwe jest uzyskanie informacji o niektórych lukach w bezpieczeństwie systemu.
Oczywiste jest, że mamy do czynienia z serwerem uniksowym, prawdopodobnie skonfigurowanym przez początkującego administratora. Statystyki wskazują, że ponad 89 procent wszystkich sieci połączonych z Internetem jest podatna na włamania.
Następnym systemem jest ten, o którym, z poprzednio przeprowadzonego rozpoznania, wiemy, że jest serwerem WWW badanej firmy.
206.0.126.10:21, 23, 80
Port 21: FTP. Otwarty port usługi FTP może pomóc hakerowi, o ile uda mu się uzyskać nazwę i numer wersji demona obsługującego serwer. Mając te informacje, może próbować znaleźć w Internecie informacje o ewentualnych błędach tej wersji serwera, a następnie zastosować je w celu wdarcia się do systemu ofiary.
Port 23: Telnet. Demon umożliwiający zdalne wykonywanie poleceń, a w szczególności administrację komputerem przez Internet. Pozwala czasem hakerowi uzyskać dodatkowe informacje przydatne podczas przygotowywania ataku.
Port 80: HTTP. Obecność uruchomionego demona HTTP wskazuje na aktywną usługę serwera WWW. Port ten można nazwać „otwartymi drzwiami” dla różnego rodzaju nadużyć i włamań do systemu serwera, gdyż regułą jest, że demony serwerów HTTP mają wiele problemów z zachowaniem właściwego stopnia bezpieczeństwa, pozwalając w niektórych sytuacjach zdalnie uruchamiać programy, eksplorować drzewo katalogów i plików, kopiować i usuwać pliki, wykonywać różnego rodzaju skrypty, czy po prostu podmieniać oryginalne strony WWW stronami zaprojektowanymi przez hakera.
Również i w przypadku kolejnego serwera znamy jego przeznaczenie z poprzednio przeprowadzonego rozpoznania. Uzyskaliśmy wtedy informację, że pełni on rolę serwera pocztowego, co potwierdzają odkryte porty POP3 oraz SMTP.
206.0.126.11:25, 110
Port 25/110: SMTP/POP3. Używając portów protokołów SMTP (25) oraz POP3 (110), haker może wykorzystać usługi pocztowe na przykład do wysyłania bomb pocztowych, podszywając się pod innych użytkowników, lub po prostu uniemożliwić użytkownikom korzystanie z tych usług.
Natomiast kolejny z odkrytych aktywnych serwerów wydaje się być nader interesujący. Podczas poprzedniego skanowania ujawnił się jedynie otwarty port 80, natomiast w drugim udało się wykryć dodatkowo otwarty port FTP (21), czego przyczyną może być na przykład błędnie skonfigurowany pakiet do zdalnej administracji serwerem (wiele takich programów posiada interfejsy w postaci stron WWW).
206.0.126.30:21, 80
Ostatni ze znalezionych aktywnych adresów wygląda na kolejny uniksowy serwer.
206.0.126.89:7, 11, 21, 23, 25, 80, 110, 111
|
Dla tych, którzy nie mają dostępu do serwerów, utworzono narzędzie imitujące ich działanie. Narzędziem tym jest TigerSim (rysunek 4.14) należący do pakietu TigerSuite. Tak jak pozostałe elementy, TigerSim jest dostępny na CD-ROM-ie dołączonym do książki. Przy użyciu tego narzędzia można symulować działanie podstawowych usług sieciowych, takich jak serwer pocztowy, WWW, FTP czy Telnet. Jest to oczywiście nieoceniona pomoc przy nauce budowania i wykorzystywania zasad bezpieczeństwa. W rozdziale 11. omówimy dokładniej wykorzystanie metod skanowania we współpracy z symulatorem TigerSim. |
||
Rysunek 4.14.
TigerSim |
|
Antyskaner jest programem utrudniającym skanowanie, na przykład przez wysyłanie fałszywych informacji o uruchomionych w sieci komputerach czy też otwartych portach. — przyp. tłum.
126 Hack Wars. Tom 1. Na tropie hakerów
Rozdział 4. ♦ Techniki rozpoznania i skanowania 111
126 C:\Biezace\Hack Wars\hack wars 1\9-1 makieta\04.doc
C:\Biezace\Hack Wars\hack wars 1\9-1 makieta\04.doc 111
C:\Biezace\Hack Wars\hack wars 1\9-1 makieta\04.doc 99