231 47 34MB
Polish Pages 208 [206] Year 2013
Tytuł oryginału: BackTrack 5 Wireless Penetration Testing Beginner's Guide Tłumaczenie: Grzegorz Kowalczyk ISBN: 978-83-246-6685-0 Copyright © 2011 Packt Publishing. First published in the English language under the title ‘BackTrack 5 Wireless Penetration Testing Beginner’s Guide’. Polish edition copyright © 2013 by Helion S.A. All rights reserved. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. 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: [email protected] 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/batra5_ebook Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Poleć książkę na Facebook.com • Kup w wersji papierowej • Oceń książkę
• Księgarnia internetowa • Lubię to! » Nasza społeczność
Spis treści O autorze
7
O recenzencie
8
Wprowadzenie
9
Rozdział 1. Tworzymy laboratorium sieci bezprzewodowych Wymagania sprzętowe Wymagania oprogramowania Instalowanie systemu BackTrack Czas na działanie — instalujemy system BackTrack Instalacja i konfiguracja bezprzewodowego punktu dostępowego Czas na działanie — konfiguracja bezprzewodowego punktu dostępowego Konfiguracja bezprzewodowej karty sieciowej Czas na działanie — konfigurowanie bezprzewodowej karty sieciowej Podłączanie się do bezprzewodowego punktu dostępowego Czas na działanie — konfigurowanie bezprzewodowej karty sieciowej Podsumowanie
Rozdział 2. Sieci WLAN i związane z nimi zagrożenia Budowa ramek w sieciach WLAN Czas na działanie — tworzenie interfejsu pracującego w trybie monitora Czas na działanie — przechwytywanie pakietów przesyłanych w sieci bezprzewodowej Czas na działanie — przeglądanie ramek zarządzających, ramek sterujących i ramek danych Czas na działanie — nasłuchiwanie i przechwytywanie pakietów w sieci bezprzewodowej Czas na działanie — wstrzykiwanie pakietów
15 16 17 17 17 20 21 24 24 26 26 30
31 32 33 36 38 42 45
Spis treści
Ważne uwagi dotyczące przechwytywania i wstrzykiwania pakietów w sieciach WLAN Czas na działanie — eksperymentujemy z kartą Alfa Rola organów regulacyjnych w sieciach bezprzewodowych Czas na działanie — eksperymentujemy z kartą Alfa Podsumowanie
Rozdział 3. Omijanie uwierzytelniania sieci WLAN Ukryte identyfikatory SSID sieci bezprzewodowych Czas na działanie — ujawnianie ukrytych identyfikatorów SSID sieci Filtrowanie adresów MAC Czas na działanie — omijanie filtrowania adresów MAC Uwierzytelnianie z otwartym dostępem Czas na działanie — podłączanie się do punktu dostępowego z otwartym dostępem Uwierzytelnianie ze współdzielonym kluczem Czas na działanie — omijanie uwierzytelniania ze współdzielonym kluczem Podsumowanie
Rozdział 4. Słabe strony protokołów szyfrowania w sieciach WLAN Szyfrowanie w sieciach WLAN Szyfrowanie WEP Czas na działanie — przełamywanie zabezpieczeń protokołu WEP Szyfrowanie WPA/WPA2 Czas na działanie — łamanie słabych haseł w sieciach z szyfrowaniem WPA PSK Przyspieszanie procesu łamania szyfrowania WPA/WPA2 PSK Czas na działanie — przyspieszanie procesu łamania kluczy Odszyfrowywanie pakietów WEP i WPA Czas na działanie — deszyfrowanie pakietów WEP i WPA Podłączanie się do sieci WEP i WPA Czas na działanie — podłączanie się do sieci wykorzystującej szyfrowanie WEP Czas na działanie — podłączanie się do sieci wykorzystującej szyfrowanie WPA Podsumowanie
Rozdział 5. Ataki na infrastrukturę sieci WLAN Domyślne konta i hasła punktów dostępowych Czas na działanie — łamanie domyślnych, fabrycznych haseł punktów dostępowych Ataki typu odmowa usługi (DoS) Czas na działanie — atak DoS typu anulowanie uwierzytelnienia Złośliwy bliźniak i fałszowanie adresów MAC Czas na działanie — złośliwy bliźniak ze sfałszowanym adresem MAC Nieautoryzowany punkt dostępowy Czas na działanie — nieautoryzowany punkt dostępowy Podsumowanie
4
47 48 50 50 54
55 56 56 61 61 64 64 65 66 74
75 76 76 76 84 86 91 91 95 95 97 97 98 100
101 102 102 104 104 107 108 111 112 116
Spis treści
Rozdział 6. Ataki na klienta sieci WLAN Ataki typu Honeypot i Misassociation Czas na działanie — przeprowadzanie ataków typu Misassociation Atak typu Caffe Latte Czas na działanie — przeprowadzanie ataku typu Caffe Latte Ataki typu Deauthentication i Disassociation Czas na działanie — anulowanie uwierzytelnienia klienta Atak typu Hirte Czas na działanie — łamanie klucza WEP poprzez atak typu Hirte Łamanie klucza WPA PSK bez obecności punktu dostępowego Czas na działanie — łamanie klucza WPA bez obecności punktu dostępowego Podsumowanie
Rozdział 7. Zaawansowane ataki na sieci WLAN Ataki typu Man-in-the-Middle Czas na działanie — atak typu Man-in-the-Middle Podsłuchiwanie ruchu sieciowego na bazie ataków Man-in-the-Middle Czas na działanie — podsłuchiwanie ruchu w sieci bezprzewodowej Przechwytywanie sesji w sieciach bezprzewodowych Czas na działanie — przechwytywanie sesji w sieciach bezprzewodowych Odkrywanie konfiguracji zabezpieczeń klienta Czas na działanie — odkrywanie profili zabezpieczeń klientów bezprzewodowych Podsumowanie
117 118 118 123 124 128 128 132 132 134 136 138
139 140 140 145 145 150 150 154 154 159
Rozdział 8. Ataki na sieci WLAN z szyfrowaniem WPA-Enterprise i serwerami Radius 161 Konfiguracja serwera FreeRadius WPE Czas na działanie — konfiguracja punktu dostępowego wykorzystującego serwer FreeRadius WPE Ataki na protokół PEAP Czas na działanie — łamanie zabezpieczeń protokołu PEAP Ataki na protokół EAP-TTLS Czas na działanie — łamanie zabezpieczeń protokołu EAP-TTLS Dobre praktyki zabezpieczania korporacyjnych sieci bezprzewodowych Podsumowanie
Rozdział 9. Metodologia testów penetracyjnych sieci bezprzewodowych Testy penetracyjne sieci bezprzewodowych Czas na działanie — odszukiwanie oraz identyfikacja urządzeń bezprzewodowych Czas na działanie — wykrywanie fałszywych punktów dostępowych Czas na działanie — wykrywanie nieautoryzowanych klientów bezprzewodowych Czas na działanie — łamanie szyfrowania WPA Czas na działanie — przełamywanie zabezpieczeń klientów Podsumowanie
162 162 166 166 170 170 172 173
175 175 177 180 182 183 185 188
5
Spis treści
Dodatek A. Wnioski i plany na przyszłość Kilka słów na zakończenie Tworzenie zaawansowanego laboratorium sieci Wi-Fi Jak trzymać rękę na pulsie Podsumowanie
Dodatek B. Szybki quiz — odpowiedzi na pytania Rozdział 1. Tworzymy laboratorium sieci bezprzewodowych Rozdział 2. Sieci WLAN i związane z nimi zagrożenia Rozdział 3. Omijanie uwierzytelniania sieci WLAN Rozdział 4. Słabe strony protokołów szyfrowania w sieciach WLAN Rozdział 5. Ataki na infrastrukturę sieci WLAN Rozdział 6. Ataki na klienta sieci WLAN Rozdział 7. Zaawansowane ataki na sieci WLAN Rozdział 8. Ataki na sieci WLAN z szyfrowaniem WPA-Enterprise i serwerami RADIUS Rozdział 9. Metodologia testów penetracyjnych sieci bezprzewodowych
Skorowidz
6
189 189 190 192 193
195 195 196 196 196 197 197 197 198 198
199
O autorze Vivek Ramachandran zajmuje się bezpieczeństwem sieci bezprzewodowych od 2003 roku. Do jego osiągnięć należy między innymi wynalezienie ataku typu Caffe Latte, a także publiczne złamanie zabezpieczeń protokołu WEP Cloaking, które miało miejsce w 2007 roku na konferencji Defcon. W 2011 roku Vivek jako pierwszy na świecie zademonstrował, w jaki sposób twórcy złośliwego oprogramowania mogą wykorzystywać sieci bezprzewodowe do tworzenia tylnych wejść, złośliwych robali czy nawet botnetów. Wcześniej był jednym z programistów implementujących protokół 802.1x oraz inne zabezpieczenia w serii przełączników Cisco 6500 Catalyst, a także jednym ze zwycięzców przeprowadzonego w Indiach konkursu Microsoft Security Shootout, w którym wzięło udział ponad 65 tysięcy uczestników. W środowisku hakerów jest najbardziej znany jako założyciel portalu http://www.securitytube.net/, na którym bardzo często publikuje poradniki wideo na temat różnych zagadnień związanych z bezpieczeństwem sieci bezprzewodowych, językiem asembler, technikami wykorzystywania podatności systemów operacyjnych i sieci komputerowych i wielu innych. Portal SecurityTube.net jest co miesiąc odwiedzany przez ponad 100 tysięcy internautów. Prace Viveka dotyczące bezpieczeństwa bezprzewodowych sieci komputerowych były niejednokrotnie przywoływane na takich portalach, jak BBC online, InfoWorld, MacWorld, The Register, IT World Canada i wielu innych. Prowadził już wiele wykładów i szkoleń na konferencjach BlackHat, Defcon, Hacktivity, 44con, HITB-ML, Brucon, Derbycon, HashDays, SecurityZone i innych. Chciałbym podziękować mojej kochanej żonie za jej pomoc i wsparcie, jakiego doświadczyłem podczas pisania tej książki; moim rodzicom, dziadkom i siostrze za niezachwianą wiarę i podtrzymywanie mnie na duchu przez te wszystkie lata. Na koniec chciałbym również podziękować wszystkim użytkownikom portalu SecurityTube.net, którzy zawsze byli po mojej stronie i wspierali całą moją pracę. Jesteście wspaniali!
Część XX • ???
O recenzencie Daniel W. Dieterle ma ponad 20 lat doświadczenia w branży IT. Przez te wszystkie lata świadczył różnego rodzaju usługi i wsparcie dla wielu klientów, od małych firm aż do gigantów z listy Fortune 500. Daniel jest pasjonatem zagadnień związanych z bezpieczeństwem systemów komputerowych, prowadzi blog o nazwie CyberArms (http://cyberarms.wordpress.com/), a swoje prace często publikuje także na portalu http://infosecisland.com/. Chciałbym podziękować mojej pięknej żonie i dzieciom za to, że miałem wystarczająco dużo czasu, aby zająć się tą książką. Bez ich poświęcenia nie miałbym możliwości wzięcia udziału w tym ekscytującym projekcie.
8
Wprowadzenie Sieci bezprzewodowe w dzisiejszym świecie są spotykane powszechnie. Miliony ludzi na całym świecie codziennie korzystają z takich sieci w swoich domach, biurach i miejscach publicznych, łącząc się z siecią Internet i wewnętrznymi sieciami swoich firm i organizacji. Jednak pomimo iż sieci bezprzewodowe znakomicie ułatwiają pracę i codzienne życie oraz zapewniają niesamowitą wręcz mobilność, korzystanie z nich nieodłącznie wiąże się z pewnym ryzykiem. W ostatnich latach źle zabezpieczone sieci bezprzewodowe były wykorzystywane do włamań do wielu firm, banków, a nawet organizacji rządowych. Natężenie takich ataków rośnie z roku na rok, ponieważ wielu administratorów nadal nie wie, jak powinni zabezpieczyć swoje sieci, aby były odporne na awarie i próby włamania. Celem książki BackTrack 5. Testy penetracyjne sieci WiFi jest ułatwienie Czytelnikowi zrozumienia zagrożeń powiązanych z sieciami bezprzewodowymi oraz przedstawienie technik i metodologii przeprowadzania testów penetracyjnych takich sieci. Jest to niemal obowiązkowa pozycja dla wszystkich, którzy chcą zajmować się audytami bezpieczeństwa sieci bezprzewodowych i poszukują książki omawiającej taką tematykę krok po kroku, w przystępny, praktyczny sposób. Ponieważ każde zagadnienie i każda technika ataku opisywane w tej książce są od razu poparte ćwiczeniami, proces przyswajania przedstawianych zagadnień jest kompletny. Jako platformę do przeprowadzania ataków na sieci bezprzewodowe wybraliśmy dystrybucję BackTrack 5. System BackTrack, o czym zapewne wielu Czytelników wiedziało już wcześniej, jest najpopularniejszą na świecie dystrybucją systemu operacyjnego, przeznaczoną do przeprowadzania testów penetracyjnych. W jego skład wchodzą setki różnych poleceń i narzędzi, z których wiele będziemy wykorzystywali podczas doświadczeń opisywanych w tej książce.
BackTrack 5. Testy penetracyjne sieci WiFi
Co znajdziesz w tej książce Rozdział 1., „Tworzymy laboratorium sieci bezprzewodowych”, stanowi wprowadzenie do ćwiczeń i doświadczeń, które będziemy wykonywać w kolejnych rozdziałach. W ramach przygotowań do ich przeprowadzania Czytelnik będzie musiał utworzyć i odpowiednio skonfigurować swoje laboratorium sieci bezprzewodowych. Z tego rozdziału dowiesz się, jak utworzyć takie laboratorium przy użyciu sprzętu dostępnego niemal w każdym sklepie komputerowym oraz oprogramowania typu open source. Najpierw zajmiemy się wymaganiami sprzętowymi, które obejmują takie urządzenia, jak karty bezprzewodowe, anteny, punkty dostępowe i inne urządzenia z bezprzewodowymi interfejsami sieciowymi, a następnie skoncentrujemy się na wymaganiach oprogramowania, obejmujących zarówno systemy operacyjne, jak i sterowniki urządzeń Wi-Fi oraz różnego rodzaju narzędzia. Na zakończenie połączymy te wszystkie elementy w jedną całość i utworzymy z nich platformę do testowania różnych konfiguracji sieci bezprzewodowych. W rozdziale 2., „Sieci WLAN i związane z nimi zagrożenia”, skoncentrujemy się na lukach i słabościach stanowiących niejako „wrodzoną” cechę sieci bezprzewodowych, powodującą, że w bazowej konfiguracji są one bardzo podatne na ataki. Następnie przypomnimy podstawowe informacje o protokołach 802.11 WLAN, używając do tego celu programu Wireshark, co pozwoli Ci na praktyczne poznanie zasad działania tych protokołów. Co najważniejsze, poprzez analizę ramek zarządzających, ramek rozgłoszeniowych i ramek danych pokażemy, jak w praktyce odbywa się komunikacja na poziomie pakietów między klientem a punktem dostępowym. Następnie omówimy techniki wstrzykiwania i nasłuchiwania pakietów w sieciach bezprzewodowych i poznamy wybrane narzędzia pozwalające przeprowadzać takie operacje. Z rozdziału 3., „Omijanie uwierzytelniania sieci WLAN”, dowiesz się, w jaki sposób można złamać mechanizm uwierzytelniania w sieci WLAN. W ćwiczeniach krok po kroku pokażemy, jak ominąć mechanizmy uwierzytelniania z otwartym dostępem oraz ze współdzielonym kluczem. Przy okazji dowiesz się, jak można analizować pakiety przesyłane w sieciach bezprzewodowych oraz jak rozpoznać rodzaj mechanizmu uwierzytelniania wykorzystywanego w danej sieci. W dalszej części rozdziału pokażemy również, jak uzyskać dostęp do sieci, która nie rozgłasza swojego identyfikatora SSID oraz korzysta z mechanizmu filtrowania adresów MAC. Rozdział 4., „Słabe strony protokołów szyfrowania w sieciach WLAN”, omawia jeden z najbardziej podatnych na ataki elementów sieci WLAN — protokoły WEP, WPA i WPA2. W ostatniej dekadzie hakerzy znaleźli i podali do publicznej wiadomości wiele luk w zabezpieczeniach tych protokołów. W sieci pojawiło się również wiele rodzajów gotowego oprogramowania, które pozwala na złamanie kluczy protokołów i odszyfrowanie przesyłanych danych. Nawet protokoły WPA/WPA2, które z założenia są uważane za bezpieczne, w przypadku nieprawidłowej konfiguracji czy użycia słabego hasła są podatne na ataki. W tym rozdziale omówimy słabe strony poszczególnych protokołów i pokażemy, jak w praktyce wykorzystać je do przeprowadzenia skutecznego ataku.
10
Wprowadzenie
W rozdziale 5., „Ataki na infrastrukturę sieci WLAN”, przeniesiemy ciężar naszych zainteresowań na słabe strony infrastruktury sieci WLAN i pokażemy, co grozi w przypadku błędnej konfiguracji urządzeń czy niewłaściwego zaprojektowania sieci bezprzewodowej. W tym rozdziale zaprezentujemy praktyczne przykłady takich ataków, jak fałszowanie adresu MAC punktu dostępowego, ataki typu bit-flipping, ataki typu powtarzanie pakietów, podstawianie nieautoryzowanych punktów dostępowych czy ataki typu odmowa usługi (DoS). Po przeczytaniu tego rozdziału będziesz już dobrze wiedział, jak przeprowadzać testy penetracyjne obejmujące infrastrukturę sieci WLAN. Jeżeli do tej pory myślałeś, że odpowiednie zabezpieczenie klienta sieci bezprzewodowej to coś, czym nie należy się przejmować, to rozdział 6., „Ataki na klienta sieci WLAN”, będzie dla Ciebie prawdziwym zaskoczeniem. Większość użytkowników myślących o bezpieczeństwie sieci bezprzewodowej nie poświęca zbyt wiele czasu zabezpieczeniom samego klienta. W tym rozdziale udowodnimy ponad wszelką wątpliwość, że podczas przeprowadzania testów penetracyjnych odpowiednie zabezpieczenie klienta jest co najmniej tak samo ważne, jak bezpieczeństwo punktu dostępowego. W ćwiczeniach pokażemy, w jaki sposób możesz przełamać zabezpieczenia klienta, przeprowadzając takie ataki, jak wymuszenie skojarzenia, Caffe Latte, anulowanie skojarzenia, połączenia ad hoc, podstawione punkty dostępowe i wiele innych. W rozdziale 7., „Zaawansowane ataki na sieci WLAN”, będziemy omawiać znacznie bardziej zaawansowane i skomplikowane metody ataków na sieci bezprzewodowe niż te, którymi zajmowaliśmy się w poprzednich rozdziałach. Takie ataki zazwyczaj wymagają przeprowadzenia szeregu odpowiednio skoordynowanych, podstawowych ataków, tak aby wstępnie przełamać zabezpieczenia systemu i otworzyć drogę do bardziej wyrafinowanego ataku. W tym rozdziale będziemy omawiać między innymi metody identyfikacji urządzeń bezprzewodowych, ataki typu Man-in-the-Middle, omijanie bezprzewodowych systemów wykrywania włamań czy podstawianie nieautoryzowanych punktów dostępowych. Zagadnienia prezentowane w tym rozdziale to najnowsze osiągnięcia w zakresie ataków na sieci bezprzewodowe i technik przeprowadzania testów penetracyjnych. Rozdział 8., „Ataki na sieci WLAN z szyfrowaniem WPA-Enterprise i serwerami Radius”, przenosi Czytelnika na kolejny poziom, przedstawiając zaawansowane ataki na sieci WPA-Enterprise oraz metody konfiguracji serwera Radius. Znajomość takich metod ataków będzie bardzo przydatna podczas przeprowadzania testów penetracyjnych w dużych sieciach korporacyjnych, które wykorzystują protokół WPA-Enterprise z uwierzytelnianiem opartym na serwerach Radius. Metody ataków opisane w tym rozdziale należą do najbardziej zaawansowanych i złożonych, jakie możesz wykorzystać w praktyce. Rozdział 9., „Metodologia testów penetracyjnych sieci bezprzewodowych”, to ostatni rozdział tej książki, w którym zbierzemy wszystko, czego nauczyłeś się z poprzednich rozdziałów, i pokażemy, jak użyć tej wiedzy do przeprowadzenia testów penetracyjnych w systematyczny, zorganizowany sposób. W tym rozdziale omówimy poszczególne fazy metodologii przeprowadzania testów penetracyjnych — planowanie, rozpoznanie, atak i raportowanie — oraz
11
BackTrack 5. Testy penetracyjne sieci WiFi
powiemy, jak w praktyce zastosować ją do testów penetracyjnych. Na zakończenie powiemy również kilka słów na temat tego, jak można rekomendować wprowadzenie aktualizacji i usunięcie luk w zabezpieczeniach, które zostały wykryte podczas testów oraz które wynikają z dobrych praktyk powszechnie stosowanych w tej branży. Dodatek A, „Wnioski i plany na przyszłość”, stanowi podsumowanie całej książki, daje Czytelnikowi kilka dobrych rad na przyszłość i wskazuje źródła, w których można znaleźć wiele ciekawych informacji na temat bezpieczeństwa sieci bezprzewodowych.
Co będzie potrzebne do pracy z książką Aby wykonać ćwiczenia i doświadczenia opisywane w tej książce, będziesz potrzebował dwóch laptopów z wbudowanymi bezprzewodowymi kartami sieciowymi, zewnętrznej, podłączanej przez USB karty bezprzewodowej Alfa AWUS036H, systemu BackTrack 5 i kilku innych urządzeń. Wszystkie wymagania i lista urządzeń niezbędnych do zbudowania laboratorium sieci bezprzewodowych zostały szczegółowo opisane w rozdziale 1., zatytułowanym „Tworzymy laboratorium sieci bezprzewodowych”. Rozwiązaniem alternatywnym do konfiguracji z dwoma laptopami może być utworzenie maszyny wirtualnej z systemem BackTrack 5 i podłączenie do niej zewnętrznej karty bezprzewodowej za pomocą portu USB. Dzięki takiemu rozwiązaniu będziesz mógł szybciej rozpocząć pracę z książką. Nie zmienia to jednak faktu, że do pracy w terenie zdecydowanie polecanym rozwiązaniem jest laboratorium oparte na rozwiązaniach sprzętowych. Zanim przystąpisz do czytania tej książki, powinieneś poznać podstawy funkcjonowania bezprzewodowych sieci komputerowych, włączając w to takie zagadnienia, jak przynajmniej podstawowa znajomość protokołu 802.11 i przebiegu komunikacji między klientem a punktem dostępowym. Co prawda, w poszczególnych rozdziałach będziemy się starali pokrótce wyjaśniać poszczególne zagadnienia, niemniej jednak znajomość chociaż podstawowych pojęć zdecydowanie ułatwi Ci pracę z książką.
Dla kogo przeznaczona jest ta książka Choć ta książka pojawia się w serii dla początkujących, to tak naprawdę jest przeznaczona dla użytkowników na każdym poziomie zaawansowania, od niemal zupełnych amatorów do użytkowników zajmujących się testami penetracyjnymi na co dzień. Z pewnością każdy znajdzie tutaj coś dla siebie. Książka rozpoczyna się od omówienia prostych, podstawowych metod ataków na sieci bezprzewodowe i w kolejnych rozdziałach przechodzi do coraz bardziej zaawansowanych i złożonych tematów, aby wreszcie skończyć na przedstawieniu zagadnień, które reprezentują najnowsze osiągnięcia w dziedzinie ataków na sieci bezprzewodowe i testów penetracyjnych. Ponieważ wszystkie przedstawione w tej książce metody ataków są szczegó-
12
Wprowadzenie
łowo, krok po kroku opisane w ćwiczeniach, każdy Czytelnik, niezależnie od umiejętności i stopnia zaawansowania, może szybko samodzielnie sprawdzić nowo nabytą wiedzę w praktyce. Warto zauważyć, że pomimo iż w książce opisaliśmy mniej lub bardziej zaawansowane metody ataków na sieci bezprzewodowe, to jednak robimy to wyłącznie z myślą o przygotowaniu użytkownika do pracy jako specjalista zajmujący się przeprowadzaniem testów penetracyjnych sieci bezprzewodowych. Specjalista w tej dziedzinie musi doskonale znać i rozumieć metody przeprowadzania ataków, aby być w stanie wykryć słabe strony zabezpieczeń badanej sieci i w razie potrzeby mieć możliwość zademonstrowania ich klientowi zlecającemu takie badanie.
Konwencje użyte w tej książce W tej książce kilka nagłówków pojawia się często we wszystkich rozdziałach. Aby przejrzyście pokazać, jak wykonać dane ćwiczenie, będziemy korzystali z następującego szablonu:
Czas na działanie — nagłówek 1. Polecenie 1. 2. Polecenie 2. 3. Polecenie 3. Poszczególne ćwiczenia, które wymagają osobnego podsumowania lub dodatkowych wyjaśnień, będą kończyły się następującym punktem:
Co się stało? Znajdziesz tutaj krótkie podsumowanie wykonanego ćwiczenia i ewentualne inne, dodatkowe uwagi z nim związane. Oprócz tego w nauce będą Ci pomagały stałe elementy:
Szybki quiz — nagłówek Znajdziesz tutaj szereg pytań i możliwych odpowiedzi, które pomogą Ci szybko podsumować i sprawdzić wiedzę zdobytą w danym rozdziale.
Zrób to sam — nagłówek W takim punkcie znajdziesz propozycje ćwiczeń i doświadczeń praktycznych, które powinieneś przeprowadzić samodzielnie, korzystając z zagadnień i narzędzi omawianych w danym rozdziale. 13
BackTrack 5. Testy penetracyjne sieci WiFi
W tekście książki do oznaczania różnych informacji będziemy używali kilku wybranych krojów czcionki. Poniżej znajdziesz kilka przykładów takich rozwiązań oraz wyjaśnienie ich znaczenia. Słowa kluczowe i nazwy poleceń pojawiających się w tekście są oznaczane tak: „Interfejs sieciowy został aktywowany przy użyciu polecenia ifconfig”. Polecenia i inne ciągi znaków, które powinieneś samodzielnie wpisać w oknie terminala czy w innych oknach dialogowych różnych programów, będą oznaczane tak: „Aby wyświetlane były wszystkie pakiety danych przesyłane do punktu dostępowego, powinieneś utworzyć następujący filtr: (wlan.bssid == 00:21:91:D2:8E:25) && (wlan.fc.type_subtype == 0x20)”. Wskazówki, sugestie i ważne informacje pojawiać się będą w takich ramkach.
Errata Choć dołożyliśmy wszelkich starań, aby zawartość naszej książki była pozbawiona błędów, zawsze może się zdarzyć, że złośliwy chochlik spłatał nam jakiegoś psikusa. Jeżeli znajdziesz błąd w jednej z naszych książek — czy jest to literówka w tekście, czy też błąd w zamieszczonym kodzie programu — będziemy wdzięczni, jeśli nas o tym poinformujesz. Wysyłając do nas taką informację, pomożesz innym czytelnikom uniknąć niepotrzebnej frustracji, a nam pomożesz poprawić kolejne wersje tej książki. Jeżeli znajdziesz jakiś błąd, wejdź na stronę http://helion.pl/user/erraty/, wypełnij krótki formularz z opisem błędu i wyślij go do redakcji. Po pomyślnym zweryfikowaniu takiej informacji zgłoszony przez Ciebie błąd zostanie opublikowany na naszej stronie internetowej i uwzględniony w kolejnych wydaniach książki. Listę zgłoszonych do tej pory poprawek do naszych książek możesz zobaczyć na stronie http://helion.pl/erraty.htm.
Nielegalne kopiowanie Nielegalne kopiowanie w sieci Internet materiałów objętych prawami autorskimi stanowi w dzisiejszym świecie poważny problem. W wydawnictwie Helion bardzo poważnie podchodzimy do wszelkich zagadnień związanych z ochroną praw autorskich i licencji. Jeżeli znajdziesz w sieci Internet nielegalne kopie naszych książek, prosimy o przekazanie nam takiej informacji z adresem odpowiedniej strony, dzięki czemu będziemy mogli podjąć właściwe kroki w celu ochrony praw autorskich. Aby przesłać nam takie zgłoszenie, wejdź na stronę http://helion.pl/piracy.phtml i wypełnij krótki formularz. Z góry dziękujemy za pomoc w ochronie praw autorskich! 14
1 Tworzymy laboratorium sieci bezprzewodowych „Jeżeli miałbym osiem godzin na ścięcie drzewa, to pierwszych sześć godzin spędziłbym na ostrzeniu mojego topora”. Abraham Lincoln, szesnasty prezydent Stanów Zjednoczonych
Za każdym pomyślnie wykonanym zadaniem kryją się godziny czy nawet dni żmudnych przygotowań — a testy penetracyjne sieci bezprzewodowych nie są tutaj żadnym wyjątkiem. W tym rozdziale utworzymy proste laboratorium sieci bezprzewodowych, z którego będziemy następnie korzystać w kolejnych rozdziałach tej książki. Zbudowane laboratorium powinieneś potraktować jako poligon doświadczalny przed wyprawą w świat testów penetracyjnych rzeczywistych sieci bezprzewodowych.
Testy penetracyjne sieci bezprzewodowych to zagadnienie czysto praktyczne, stąd niezmiernie istotne staje się zbudowanie odpowiedniego laboratorium sieci bezprzewodowych, które pozwoli Ci na samodzielne przeprowadzenie wszystkich eksperymentów opisywanych w tej książce w bezpiecznym i w pełni kontrolowanym środowisku. Pamiętaj, że takie laboratorium powinieneś utworzyć, zanim przejdziesz do kolejnych rozdziałów. W tym rozdziale będziemy zajmować się następującymi zagadnieniami: Q Wymagania sprzętowe i programowe. Q Instalacja systemu BackTrack 5. Q Instalacja i konfiguracja bezprzewodowych punktów dostępowych. Q Instalacja bezprzewodowej karty sieciowej. Q Testowanie połączenia między laptopem a bezprzewodowym punktem dostępowym.
A zatem do dzieła!
BackTrack 5. Testy penetracyjne sieci WiFi
Wymagania sprzętowe Do zbudowania naszego laboratorium sieci bezprzewodowych będą nam potrzebne następujące urządzenia: Q Dwa laptopy z wbudowanymi bezprzewodowymi kartami sieciowymi — Jeden
z laptopów będzie odgrywał rolę naszej laboratoryjnej „ofiary”, a drugi będzie laptopem użytkownika przeprowadzającego testy penetracyjne. Do naszych celów możemy użyć niemal każdego laptopa, aczkolwiek zdecydowanie zalecanym wyposażeniem takich komputerów będą co najmniej 3 GB pamięci RAM. Takie wymaganie jest podyktowane tym, że w naszych eksperymentach będziemy wykorzystywać oprogramowanie, które do poprawnego działania potrzebuje dużych ilości pamięci operacyjnej. Q Jedna bezprzewodowa karta sieciowa typu Alfa — Do naszych doświadczeń
będzie nam potrzebna bezprzewodowa karta sieciowa, która obsługuje mechanizmy wstrzykiwania pakietów (ang. packet injection) oraz nasłuchiwania i przechwytywania pakietów (ang. packet sniffing) i która jest obsługiwana przez system BackTrack. Najlepszym rozwiązaniem wydaje się użycie popularnej karty Alfa AWUS036H1 produkowanej przez firmę Alfa Networks, ponieważ system BackTrack pozwala na użycie takiej karty od razu po zainstalowaniu. W chwili powstawania polskiego tłumaczenia tej książki taka karta kosztowała ok. 200 zł. Q Jeden bezprzewodowy punkt dostępowy — Możesz użyć dowolnego
bezprzewodowego punktu dostępowego lub routera z obsługą szyfrowania WEP/WPA/WPA2. Wszystkie przykłady w tej książce zostały wykonane przy użyciu bezprzewodowego routera D-Link DIR-615 Wireless N. W chwili powstawania polskiego tłumaczenia tej książki taki router można było kupić za ok. 150 zł. Q Połączenie z siecią Internet — Takie połączenie będzie bardzo przydatne
do wyszukiwania w sieci Internet informacji na temat sieci bezprzewodowych, pobierania oprogramowania i przeprowadzania różnych eksperymentów.
1
Uwaga: zgodnie z dokumentacją producenta maksymalna moc nadawania karty Alfa AWUS036H wynosi 1000 mW (30 dBm). W Polsce maksymalna dozwolona prawem moc wypromieniowywana z anteny (EIRP) urządzeń pracujących w paśmie 2,4 GHz nie może być wyższa niż 100 mW (20 dBm), więc korzystanie z urządzeń i instalacji o wyższych mocach EIRP wymaga posiadania specjalnego zezwolenia — konieczne może się okazać programowe wyregulowanie mocy wyjściowej lub zastosowanie kabla o odpowiedniej długości, tak aby całkowita moc wypromieniowywana z anteny nie przekraczała 100 mW (20 dBm) — przyp. tłum.
16
Rozdział 1. • Tworzymy laboratorium sieci bezprzewodowych
Wymagania oprogramowania Do utworzenia naszego laboratorium sieci bezprzewodowych będzie nam potrzebne następujące oprogramowanie: Q BackTrack 5 — Obrazy ISO systemu BackTrack możesz pobrać z oficjalnej strony
internetowej tego projektu, http://www.backtrack-linux.org/. System BackTrack jest oprogramowaniem typu open source. Na stronie projektu znajdziesz również gotowe do pobrania pliki maszyny wirtualnej VMware z zainstalowanym systemem BackTrack 5. Q Windows XP/Vista/7 — Na jednym z laptopów laboratoryjnych będziesz musiał
zainstalować system Windows XP, Vista lub Windows 7. Laptop z zainstalowanym systemem Windows będzie odgrywał w naszym laboratorium rolę „ofiary” ataku. Pamiętaj, że choć do naszych testów będziemy używać komputera z zainstalowanym systemem Windows, opisywane techniki mogą być zastosowane do dowolnych urządzeń korzystających z sieci Wi-Fi, takich jak smartfony, tablety i inne.
Instalowanie systemu BackTrack Z tego podrozdziału dowiesz się, w jaki sposób szybko zainstalować i uruchomić system BackTrack. System BackTrack zainstalujemy na laptopie odgrywającym w naszym laboratorium rolę komputera, za pomocą którego będziemy przeprowadzali testy penetracyjne.
Czas na działanie — instalujemy system BackTrack Instalacja systemu BackTrack nie jest procesem złożonym. Aby rozpocząć korzystanie z systemu BackTrack, najpierw uruchom go z dysku Live DVD, a następnie zainstaluj na dysku twardym. Aby to zrobić, wykonaj polecenia opisane poniżej: 1. Użyj pobranego obrazu ISO systemu BackTrack (w przykładach z naszej książki używamy 32-bitowej edycji systemu BackTrack 5 ze środowiskiem graficznym KDE) do nagrania dysku startowego DVD systemu BackTrack.
17
BackTrack 5. Testy penetracyjne sieci WiFi
2. Uruchom laptopa z dysku DVD i z menu uruchomieniowego wybierz opcję BackTrack Text — Default Boot Text Mode (domyślne uruchomienie systemu BackTrack w trybie tekstowym):
3. Jeżeli system zostanie pomyślnie uruchomiony, na monitorze powinieneś zobaczyć ekran podobny do przedstawionego poniżej:
18
Rozdział 1. • Tworzymy laboratorium sieci bezprzewodowych
4. Aby teraz uruchomić środowisko graficzne systemu BackTrack, powinieneś w wierszu poleceń wpisać komendę startx i nacisnąć klawisz Enter. Ciekawostka: w czasie ładowania środowiska graficznego możesz posłuchać muzyki! Po załadowaniu i uruchomieniu środowiska graficznego na monitorze powinieneś zobaczyć ekran podobny do przedstawionego poniżej:
5. Teraz dwukrotnie kliknij lewym przyciskiem myszy ikonę polecenia Install BackTrack (zainstaluj system BackTrack), znajdującą się w lewym górnym rogu ekranu, co spowoduje uruchomienie instalatora systemu BackTrack, tak jak to zostało przedstawione na rysunku poniżej:
19
BackTrack 5. Testy penetracyjne sieci WiFi
6. Instalator systemu BackTrack jest podobny do graficznych instalatorów wielu innych dystrybucji systemu Linux, dlatego z jego obsługą nie powinieneś mieć najmniejszych problemów. Na kolejnych ekranach wybieraj żądane opcje i odpowiadaj na pytania zadawane przez program instalacyjny. Po zakończeniu całego procesu program instalacyjny poprosi o usunięcie dysku Live DVD z napędu i wykonanie restartu całego systemu. 7. Po ponownym uruchomieniu systemu na monitorze pojawi się ekran logowania systemu BackTrack. Jako nazwę użytkownika wpisz root, a jako hasło dostępu — toor. Od tego momentu powinieneś być już zalogowany do systemu BackTrack zainstalowanego na dysku twardym Twojego komputera. Gratulacje! Na potrzeby książki dokonaliśmy pewnych zmian wyglądu i ustawień systemu. Oczywiście w razie potrzeby możesz wprowadzić swoje zmiany i dostosować wygląd systemu do własnych preferencji!
Co się stało? Właśnie zainstalowałeś system BackTrack na dysku twardym laptopa, którego będziemy używali do przeprowadzania testów penetracyjnych w doświadczeniach opisywanych w tej książce.
Zrób to sam — instalowanie systemu BackTrack na maszynie wirtualnej VirtualBox System BackTrack możesz również zainstalować na maszynie wirtualnej utworzonej przy użyciu na przykład oprogramowania VirtualBox. Dla czytelników, którzy nie chcą lub nie mogą zainstalować systemu BackTrack na osobnym, dedykowanym laptopie, użycie maszyny wirtualnej jest zdecydowanie najlepszym rozwiązaniem. Proces instalacji systemu BackTrack na maszynie wirtualnej jest dokładnie taki sam jak na komputerze. Jedyna różnica polega na tym, że w przypadku wirtualizacji musisz przed rozpoczęciem instalacji systemu BackTrack utworzyć samą maszynę wirtualną. Zrób to sam! Pakiet oprogramowania VirtualBox możesz pobrać ze strony http://www.virtualbox.org/. Innym rozwiązaniem może być zainstalowanie systemu BackTrack na przenośnym, zewnętrznym dysku USB. Jest to szczególnie użyteczne, kiedy nie chcesz instalować systemu BackTrack na dysku twardym swojego komputera, ale nadal chcesz mieć możliwość zachowania oprogramowania danych przetwarzanych w systemie BackTrack, takich jak nowe skrypty, narzędzia czy pakiety danych. Zdecydowanie zachęcamy Cię do wypróbowania również takiego rozwiązania!
Instalacja i konfiguracja bezprzewodowego punktu dostępowego Teraz zajmiemy się instalacją i konfiguracją punktu dostępowego. Jak już wspominaliśmy wcześniej, w doświadczeniach opisywanych w naszej książce będziemy używali bezprzewodowego routera D-Link DIR-615 Wireless N, aczkolwiek możesz oczywiście użyć do tego celu dowolnego innego bezprzewodowego punktu dostępowego. Podstawowe zasady działania i użytkowania pozostają takie same.
20
Rozdział 1. • Tworzymy laboratorium sieci bezprzewodowych
Czas na działanie — konfiguracja bezprzewodowego punktu dostępowego A zatem zaczynamy! Nasze zadanie rozpoczniemy od skonfigurowania bezprzewodowego punktu dostępowego tak, aby oferował otwarty dostęp do sieci bezprzewodowej, której identyfikator SSID to Wireless Lab. Aby to zrobić, wykonaj polecenia opisane niżej: 1. Włącz bezprzewodowy punkt dostępowy i użyj kabla sieciowego Ethernet do połączenia laptopa z jednym z kablowych portów Ethernet punktu dostępowego. 2. Uruchom przeglądarkę sieciową i w polu adresu wpisz adres IP terminala konfiguracyjnego punktu dostępowego. Dla routera DIR-615 będzie to 192.168.0.1 (adres IP terminala konfiguracyjnego możesz znaleźć w podręczniku użytkownika bezprzewodowego punktu dostępowego). Jeżeli nie posiadasz odpowiedniego podręcznika użytkownika, możesz odnaleźć adres IP terminala konfiguracyjnego poprzez wykonanie z poziomu wiersza poleceń komendy route -n. Adres IP bramy sieciowej jest w takiej sytuacji zazwyczaj adresem IP punktu dostępowego. Po uzyskaniu połączenia z punktem dostępowym w oknie przeglądarki powinien pojawić się portal konfiguracyjny punktu dostępowego, który w naszym przypadku wygląda tak, jak na rysunku poniżej:
3. Po zalogowaniu się zapoznaj się z oferowanymi opcjami i ustawieniami, a następnie przejdź do sekcji pozwalającej na ustawienie nowego identyfikatora SSID sieci.
21
BackTrack 5. Testy penetracyjne sieci WiFi
4. Zmień domyślną wartość identyfikatora SSID na Wireless Lab. W przypadku niektórych modeli punktów dostępowych po dokonaniu takiej zmiany może być wymagane zrestartowanie całego urządzenia:
5. Teraz przejdź do sekcji pozwalającej na zmianę sposobu dostępu do sieci bezprzewodowej (ang. Authentication) i wybierz otwarty dostęp do sieci (ang. Open Authentication). My zrobimy to przez ustawienie opcji Security Mode (tryb dostępu) na wartość None. 6. Zapisz zmiany wprowadzone w ustawieniach konfiguracyjnych punktu dostępowego i jeżeli będzie to niezbędne, zrestartuj całe urządzenie. Od tego momentu punkt dostępowy powinien działać poprawnie i udostępniać sieć z identyfikatorem SSID Wireless Lab. Łatwym sposobem sprawdzenia poprawności konfiguracji punktu dostępowego jest uruchomienie kreatora tworzenia sieci bezprzewodowej na drugim laptopie laboratoryjnym, działającym w systemie Windows, i wyświetlenie na ekranie listy dostępnych sieci bezprzewodowych. Jeżeli wszystko działa tak, jak powinno, jedną z dostępnych sieci będzie sieć o nazwie Wireless Lab:
22
Rozdział 1. • Tworzymy laboratorium sieci bezprzewodowych
Co się stało? Właśnie pomyślnie zakończyłeś proces konfiguracji bezprzewodowego punktu dostępowego, który od tej chwili udostępnia otwartą sieć bezprzewodową o nazwie (SSID) Wireless Lab. Punkt dostępowy rozgłasza obecność sieci, a jego komunikaty są odbierane przez drugiego laptopa laboratoryjnego, działającego w systemie Windows, oraz wszystkie inne komputery wyposażone w bezprzewodowe karty sieciowe, które znajdują się w zasięgu nadawania punktu dostępowego. Powinieneś zwrócić szczególną uwagę na fakt, że punkt dostępowy został skonfigurowany do pracy w trybie otwartego dostępu (ang. open mode), który jest najmniej bezpiecznym trybem pracy punktu dostępowego. Z tego powodu nie powinieneś na razie podłączać tego punktu dostępowego do sieci Internet, ponieważ inni, niekoniecznie uprawnieni do tego użytkownicy, którzy znajdą się w zasięgu sygnału punktu dostępowego, będą mogli się do niego bez problemu podłączyć i używać go do korzystania z sieci Internet.
Zrób to sam — konfigurowanie punktu dostępowego do korzystania z szyfrowania WEP i WPA Zapoznaj się z opcjami konfiguracyjnymi Twojego bezprzewodowego punktu dostępowego. Sprawdź, czy możesz skonfigurować go tak, aby korzystał z takich standardów szyfrowania, jak WEP, WPA bądź WPA2. W dalszej części tej książki będziemy używać tych ustawień w doświadczeniach ilustrujących metody ataku na sieci bezprzewodowe zabezpieczone w taki sposób.
23
BackTrack 5. Testy penetracyjne sieci WiFi
Konfiguracja bezprzewodowej karty sieciowej Konfiguracja bezprzewodowej karty sieciowej Alfa jest znacznie łatwiejsza niż konfiguracja punktu dostępowego. Wielką zaletą systemu BackTrack jest to, że posiada wbudowaną obsługę karty Alfa oraz jest od razu wyposażony we wszystkie sterowniki niezbędne do włączenia mechanizmów wstrzykiwania pakietów (ang. packet injection) oraz nasłuchiwania pakietów (ang. packet sniffing).
Czas na działanie — konfigurowanie bezprzewodowej karty sieciowej Na nasze potrzeby będziemy używać bezprzewodowej karty sieciowej Alfa, podłączonej do laptopa „penetracyjnego” (czyli, inaczej mówiąc, do laptopa, którego będziemy używać do przeprowadzania testów penetracyjnych). Aby skonfigurować bezprzewodową kartę Alfa, powinieneś wykonać polecenia opisane niżej: 1. Podłącz bezprzewodową kartę sieciową Alfa do jednego z portów USB laptopa „penetracyjnego”, działającego w systemie BackTrack. 2. Po zalogowaniu się do systemu otwórz konsolę terminala i wpisz polecenie iwconfig. Odpowiedź systemu w oknie terminala powinna wyglądać mniej więcej tak, jak przedstawiono na rysunku poniżej:
24
Rozdział 1. • Tworzymy laboratorium sieci bezprzewodowych
Jak widać na rysunku, interfejs sieciowy utworzony dla bezprzewodowej karty sieciowej Alfa nosi nazwę wlan0. Aby uaktywnić ten interfejs, powinieneś w wierszu poleceń okna terminala wpisać komendę ifconfig wlan0 up. Następnie, aby sprawdzić bieżący stan interfejsu, powinieneś wpisać komendę ifconfig wlan0, tak jak to zostało przedstawione na rysunku poniżej:
3. Adres MAC karty sieciowej (w naszym przypadku jest to 00:c0:ca:3e:bd:93) powinien odpowiadać adresowi MAC Twojej karty Alfa (zazwyczaj znajdziesz go na naklejce znajdującej się na spodzie obudowy karty). W taki sposób możesz szybko upewnić się, że włączyłeś właściwy interfejs sieciowy.
Co się stało? System BackTrack jest wyposażony we wszystkie niezbędne sterowniki dla bezprzewodowej karty sieciowej Alfa. Dzięki temu karta Alfa została automatycznie rozpoznana i zainstalowana od razu po uruchomieniu systemu. Dodatkowo automatycznie został jej przydzielony interfejs sieciowy o nazwie wlan0. Po uruchomieniu systemu BackTrack wszystkie interfejsy sieciowe są domyślnie wyłączone. Aby włączyć interfejs sieciowy karty Alfa, użyłeś polecenia ifconfig. Od tego momentu karta działa poprawnie i możesz jej używać do swoich celów.
25
BackTrack 5. Testy penetracyjne sieci WiFi
Podłączanie się do bezprzewodowego punktu dostępowego Z kolejnego podrozdziału dowiesz się, jak podłączyć się do punktu dostępowego przy użyciu bezprzewodowej karty sieciowej Alfa. Jak pamiętasz, SSID naszej sieci bezprzewodowej to Wireless Lab, a sama sieć pracuje w trybie otwartego dostępu (nie wykorzystuje żadnego mechanizmu uwierzytelniania dostępu).
Czas na działanie — konfigurowanie bezprzewodowej karty sieciowej A zatem do dzieła! Aby skonfigurować bezprzewodową kartę sieciową, powinieneś wykonać następujące polecenia: 1. Najpierw spróbuj się przekonać, jakie sieci bezprzewodowe aktualnie wykrywa nasza karta Alfa. Otwórz okno terminala, z poziomu wiersza poleceń wpisz komendę iwlist wlan0 scanning i naciśnij klawisz Enter. Na ekranie powinna pojawić się lista dostępnych sieci bezprzewodowych, znajdujących się w zasięgu Twojej karty:
2. Przewiń listę tak, aby odszukać sieć o nazwie Wireless Lab. W naszym przypadku sieć Wireless Lab została wykryta jako Cell 05, ale oczywiście w Twojej konfiguracji może być inaczej. Pole o nazwie ESSID zawiera nazwę sieci.
26
Rozdział 1. • Tworzymy laboratorium sieci bezprzewodowych
3. Ze względu na fakt, że różne punkty dostępowe mogą oferować sieć bezprzewodową o takim samym identyfikatorze SSID, powinieneś zawsze sprawdzić, czy adres MAC podawany w polu Address (adres) zgadza się z adresem MAC Twojego punktu dostępowego. Szybkim i prostym sposobem odszukania adresu MAC punktu dostępowego jest zajrzenie na nalepkę znajdującą się na spodzie obudowy lub użycie przeglądarki do połączenia się z terminalem konfiguracyjnym punktu dostępowego. 4. Teraz z poziomu wiersza poleceń wykonaj komendę iwconfig wlan0 essid "Wireless Lab", a następnie sprawdź status interfejsu, wpisując komendę iwconfig wlan0. Jeżeli prawidłowo połączyłeś się z punktem dostępowym, w polu Access Point (punkt dostępu) wyników działania polecenia iwconfig powinieneś zobaczyć adres MAC Twojego punktu dostępowego, tak jak to zostało przedstawione na rysunku poniżej:
27
BackTrack 5. Testy penetracyjne sieci WiFi
5. Z dokumentacji punktu dostępowego wiesz, że adres IP interfejsu zarządzania punktu dostępowego to 192.168.0.1. Jest to taki sam adres IP, jak adres IP domyślnego routera, wyświetlany po wykonaniu komendy route -n. Ustaw teraz adres IP w tej samej podsieci. Aby to zrobić, powinieneś z poziomu wiersza poleceń wykonać komendę ifconfig wlan0 192.168.0.2 netmask 255.255.255.0 up. Sprawdź, czy polecenie zostało poprawnie wykonane, wpisując komendę ifconfig wlan0 i przeglądając wyniki działania tego polecenia:
6. Teraz użyj polecenia ping do sprawdzenia funkcjonowania połączenia z punktem dostępowym. Aby to zrobić, wykonaj z poziomu wiersza poleceń komendę ping 192.168.0.1. Jeżeli połączenie sieciowe zostało zestawione prawidłowo, powinieneś zobaczyć odpowiedź z punktu dostępowego. Dodatkowo do sprawdzenia, czy odpowiedzi nadchodzą z punktu dostępowego, możesz użyć komendy arp -a. Jeżeli wszystko jest tak, jak być powinno, powinieneś zobaczyć, że adres MAC hosta o adresie IP 192.168.0.1 odpowiada adresowi MAC Twojego punktu dostępowego, który zapewne zanotowałeś sobie już wcześniej. Pamiętaj jednak, że niektóre punkty dostępowe (zwłaszcza te nowsze) mogą mieć domyślnie wyłączoną funkcję odpowiedzi na pakiety ICMP Echo Request. Takie rozwiązanie jest stosowane w celu zapewnienia bezpieczeństwa punktu dostępowego od momentu pierwszego włączenia po rozpakowaniu pudełka, przy zachowaniu minimalnej liczby niezbędnych czynności konfiguracyjnych. W takiej sytuacji, aby sprawdzić, czy połączenie działa poprawnie, powinieneś po prostu uruchomić przeglądarkę sieciową i spróbować połączyć się z terminalem konfiguracyjnym punktu dostępowego.
28
Rozdział 1. • Tworzymy laboratorium sieci bezprzewodowych
7. Po uzyskaniu połączenia z terminalem konfiguracyjnym punktu dostępowego możesz sprawdzić działanie połączenia w dzienniku połączeń punktu dostępowego. Jak widać na rysunku zamieszczonym poniżej, adres MAC bezprzewodowej karty sieciowej Alfa (00:c0:ca:3a:bd:93) został zanotowany w dzienniku połączeń:
Co się stało? Korzystając z systemu BackTrack oraz bezprzewodowej karty sieciowej Alfa, zestawiłeś poprawne połączenie bezprzewodowe z punktem dostępowym. Dowiedziałeś się również, w jaki sposób można sprawdzić, czy połączenie zostało poprawnie zestawione po stronie zarówno punktu dostępowego, jak i klienta bezprzewodowego. 29
BackTrack 5. Testy penetracyjne sieci WiFi
Zrób to sam — tworzenie połączenia w konfiguracji z szyfrowaniem WEP A teraz czas na małe wyzwanie — spróbuj samodzielnie skonfigurować punkt dostępowy do pracy z szyfrowaniem WEP, a następnie spróbuj połączyć się z tym punktem dostępowym przy użyciu karty Alfa. Wskazówka: aby dowiedzieć się, jak możesz skonfigurować bezprzewodową kartę do pracy z szyfrowaniem WEP, zajrzyj do podręcznika polecenia iwconfig, wykonując komendę man iwconfig.
Szybki quiz — podstawy 1. Z poziomu wiersza poleceń wykonałeś komendę ifconfig wlan0 up. Jak sprawdzisz, czy bezprzewodowa karta sieciowa jest aktywna i działa poprawnie? 2. Czy wszystkie eksperymenty opisane w tym rozdziale można wykonać z poziomu sesji BackTrack Live CD bez instalowania systemu BackTrack na dysku twardym komputera? 3. Co zobaczysz po wykonaniu z poziomu wiersza poleceń komendy arp -a? 4. Jakiego narzędzia systemu BackTrack powinieneś użyć do połączenia się z sieciami bezprzewodowymi wykorzystującymi szyfrowanie WPA/WPA2?
Podsumowanie W tym rozdziale szczegółowo opisaliśmy proces tworzenia prostego laboratorium sieci bezprzewodowych. W trakcie tego procesu dowiedziałeś się: Q Jak zainstalować system BackTrack na dysku twardym komputera, na maszynie wirtualnej (np. VirtualBox czy VMware) lub na dysku USB. Q Jak skonfigurować bezprzewodowy punkt dostępowy przy użyciu interfejsu sieciowego. Q Jak używać wybranych poleceń systemu BackTrack do konfigurowania bezprzewodowej karty sieciowej. Q Jak sprawdzić stan połączenia między bezprzewodowym punktem dostępowym a klientem. Niezmiernie istotną sprawą jest nabranie odpowiedniego doświadczenia w konfigurowaniu połączeń bezprzewodowych. Jeżeli nie czujesz się zbyt pewnie w tych zagadnieniach, powinieneś kilka razy powtórzyć ćwiczenia opisane w tym rozdziale. W kolejnych rozdziałach będziemy zajmować się znacznie bardziej złożonymi scenariuszami. W następnym rozdziale skupimy się na zagadnieniach związanych z zagrożeniami bezpieczeństwa, które niejako wynikają z samej definicji sieci bezprzewodowych WLAN (ang. Wireless Local Area Network) i są z nimi nierozerwalnie złączone. Aby zrozumieć praktyczną istotę tych zagadnień, będziemy używać analizatora sieci Wireshark do monitorowania i analizowania pakietów przesyłanych w sieciach bezprzewodowych.
30
2 Sieci WLAN i związane z nimi zagrożenia „Im bardziej wyniosły budynek, tym głębsze musi mieć fundamenty”. Tomasz z Kempis, niemiecki zakonnik, teolog i mistyk
Nie można zbudować wielkiego dzieła na słabych fundamentach, czyli inaczej mówiąc, nie można zbudować czegoś bezpiecznego na podstawie czegoś, co z samej swojej natury nie jest bezpieczne.
Sieci WLAN ze względu na swoją naturę mają pewne słabe strony, które można dosyć łatwo wykorzystać na przykład do uzyskania nieautoryzowanego dostępu do sieci. Przykładowo sieci bezprzewodowe są podatne na takie zagrożenia, jak fałszowanie pakietów (ang. packet spoofing), wstrzykiwanie pakietów (ang. packet injection) czy nasłuchiwanie i przechwytywanie pakietów (ang. sniffing), które są niebezpieczne nawet z dosyć znacznej odległości od bezprzewodowego punktu dostępowego. W tym rozdziale będziemy zajmować się analizą i wykorzystywaniem właśnie takich słabych stron sieci bezprzewodowych. W tym rozdziale będziemy omawiali następujące zagadnienia: Q Budowa ramek w sieciach WLAN. Q Różne typy i podtypy ramek. Q Zastosowanie pakietu Wireshark do przechwytywania ramek zarządzających
(ang. management frames), ramek sterujących (ang. control frames) oraz ramek danych (ang. data frames). Q Przechwytywanie pakietów danych z wybranej sieci bezprzewodowej. Q Wstrzykiwanie pakietów do wybranej sieci bezprzewodowej. No to zaczynamy!
BackTrack 5. Testy penetracyjne sieci WiFi
Budowa ramek w sieciach WLAN Ponieważ w naszej książce zajmujemy się głównie zagadnieniami bezpieczeństwa bezprzewodowych sieci komputerowych, zakładamy, że masz podstawową wiedzę o protokołach komunikacyjnych i budowie nagłówków pakietów. Jeżeli jednak tak nie jest lub po prostu tematyką sieci bezprzewodowych zajmowałeś się już dosyć dawno temu, to właśnie teraz nadarza się znakomita okazja, aby takie wiadomości sobie odświeżyć. Aby szybko skierować nasz wywód na właściwe tory, omówimy teraz pokrótce podstawowe założenia bezprzewodowych sieci komputerowych WLAN (większość tych zagadnień na pewno nie jest Ci obca). W sieciach WLAN cała komunikacja opiera się na przesyłanych ramkach. Przykładowy nagłówek ramki może wyglądać następująco:
Pole Kontrola ramki ma nieco bardziej złożoną strukturę:
Pole Typ określa rodzaj ramki WLAN, wskazując na jeden z trzech typów: 1. Ramki zarządzające — są odpowiedzialne za utrzymywanie komunikacji między punktami dostępowymi a klientami bezprzewodowymi. Ramki zarządzające dzielą się na podtypy:
32
Q
Authentication (uwierzytelnianie).
Q
De-authentication (anulowanie uwierzytelniania).
Q
Association Request (żądanie skojarzenia).
Q
Association Response (odpowiedź na żądanie skojarzenia).
Q
Reassociation Request (żądanie ponownego skojarzenia).
Q
Reassociation Response (odpowiedź na żądanie ponownego skojarzenia).
Rozdział 2. • Sieci WLAN i związane z nimi zagrożenia
Q
Disassociation (anulowanie skojarzenia).
Q
Beacon (rozgłoszenie).
Q
Probe Request (sondowanie).
Q
Probe Response (odpowiedź na sondowanie).
2. Ramki sterujące — są odpowiedzialne za poprawną wymianę danych między punktem dostępowym a klientem bezprzewodowym. Ramki sterujące dzielą się na następujące podtypy: Q
Request to Send (RTS) (zgłoszenie zamiaru transmisji danych).
Q
Clear to Send (CTS) (odpowiedź na ramkę RTS).
Q
Acknowledgement (ACK) (potwierdzenie poprawnego odbioru ramki danych).
3. Ramki danych — przenoszą właściwe dane przesyłane w sieci bezprzewodowej. Ramki danych nie mają podtypów. Konsekwencje dla bezpieczeństwa, wynikające z używania poszczególnych rodzajów ramek, będziemy omawiać bardziej szczegółowo w kolejnych rozdziałach, przy okazji analizowania różnego typu ataków na sieci bezprzewodowe. Teraz opiszemy, w jaki sposób możesz nasłuchiwać i przechwytywać opisane powyżej ramki przy użyciu pakietu Wireshark. Oczywiście oprócz Wiresharka możesz do tego celu użyć jednego z wielu innych narzędzi, jak na przykład Airodump-NG, Tcpdump czy Tshark. Co prawda, w tej książce w zdecydowanej większości przypadków będziemy używać pakietu Wireshark, ale nie zmienia to faktu, że gorąco namawiamy do wypróbowania również innych narzędzi. Zanim będziesz mógł rozpocząć nasłuchiwanie ramek w sieciach bezprzewodowych, będziesz musiał utworzyć interfejs sieciowy pracujący w trybie monitora. Utworzenie takiego interfejsu dla naszej karty Alfa pozwoli na nasłuchiwanie i przechwytywanie wszystkich ramek przesyłanych w sieci bezprzewodowej, niezależnie od tego, czy dana ramka jest przeznaczona dla naszej karty, czy też nie. W świecie sieci kablowych mówimy, że taki interfejs sieciowy pracuje w trybie nasłuchiwania (ang. promiscous mode).
Czas na działanie — tworzenie interfejsu pracującego w trybie monitora Spróbuj teraz przełączyć kartę Alfa w tryb monitora. Aby to zrobić, powinieneś wykonać polecenia opisane niżej: 1. Podłącz kartę Alfa do laptopa i uruchom system BackTrack. Po zalogowaniu się uruchom konsolę i wpisz polecenie iwconfig, aby upewnić się, że system poprawnie wykrył Twoją kartę i załadował odpowiednie sterowniki:
33
BackTrack 5. Testy penetracyjne sieci WiFi
2. Uaktywnij interfejs sieciowy karty, wykonując polecenie ifconfig wlan0 up. Sprawdź, czy karta działa poprawnie, wpisując polecenie ifconfig wlan0. Jeżeli wszystko działa tak, jak powinno, w drugim wierszu wyników dla tego polecenia powinieneś zobaczyć słowo UP, jak przedstawiono w poniższym przykładzie:
3. Aby przełączyć bezprzewodową kartę sieciową w tryb monitora, użyj narzędzia airmon-ng, które jest domyślnie dostępne w systemie BackTrack. Najpierw z poziomu wiersza poleceń wpisz komendę airmon-ng, by upewnić się, że narzędzie to poprawnie wykrywa podłączoną kartę sieciową. Jeżeli wszystko działa poprawnie, w wynikach działania tego polecenia powinieneś zobaczyć interfejs sieciowy wlan0.
34
Rozdział 2. • Sieci WLAN i związane z nimi zagrożenia
4. Teraz wykonaj polecenie airmon-ng start wlan0, które spowoduje utworzenie interfejsu sieciowego pracującego w trybie monitora i powiązanego z urządzeniem wlan0. Utworzony interfejs sieciowy będzie nosił nazwę mon0. Aby sprawdzić, czy nowy interfejs sieciowy został utworzony poprawnie, powinieneś ponownie wykonać polecenie airmon-ng, tym razem jednak nie podając żadnych argumentów:
5. Nowy interfejs sieciowy mon0 powinien również zostać wyświetlony po wykonaniu polecenia ifconfig:
35
BackTrack 5. Testy penetracyjne sieci WiFi
Co się stało? Właśnie utworzyłeś nowy interfejs sieciowy, mon0, pracujący w trybie monitora. Interfejsu tego będziesz używać do nasłuchiwania i przechwytywania pakietów przesyłanych w sieci bezprzewodowej. Interfejs mon0 został utworzony dla bezprzewodowej karty sieciowej Alfa.
Zrób to sam — tworzenie wielu interfejsów pracujących w trybie monitora Istnieje możliwość utworzenia wielu interfejsów pracujących w trybie monitora i wykorzystujących tę samą fizyczną kartę sieciową. Aby przekonać się, jak to zrobić, powinieneś użyć polecenia airmon-ng. Świetnie! Nasz bezprzewodowy interfejs sieciowy pracujący w trybie monitora już czeka, aby rozpocząć przechwytywanie pakietów. A zatem do dzieła! W kolejnym ćwiczeniu użyjemy pakietu Wireshark oraz utworzonego przed chwilą interfejsu mon0 do przechwytywania pakietów przesyłanych w sieci bezprzewodowej.
Czas na działanie — przechwytywanie pakietów przesyłanych w sieci bezprzewodowej Aby to zrobić, wykonaj polecenia opisane poniżej: 1. Włącz punkt dostępowy obsługujący sieć Wireless Lab, który skonfigurowaliśmy wcześniej w rozdziale 1., zatytułowanym „Tworzymy laboratorium sieci bezprzewodowych”. 2. Uruchom pakiet Wireshark, wpisując na konsoli polecenie Wireshark&. Po pojawieniu się na ekranie głównego okna programu wybierz z menu polecenie Capture / Interfaces (przechwyć interfejsy):
36
Rozdział 2. • Sieci WLAN i związane z nimi zagrożenia
3. Wybierz przechwytywanie pakietów z interfejsu sieciowego mon0, klikając przycisk Start znajdujący się po prawej stronie nazwy interfejsu (patrz poprzedni rysunek). Wireshark rozpocznie przechwytywanie pakietów z interfejsu mon0; przechwycone pakiety są wyświetlane w głównym oknie programu Wireshark:
4. Są to pakiety przesyłane w sieci bezprzewodowej, które zostały przechwycone przez bezprzewodową kartę Alfa. Aby wyświetlić wybrany pakiet danych, zaznacz go na liście w górnym oknie programu, a jego zawartość zostanie pokazana w środkowym oknie programu Wireshark:
37
BackTrack 5. Testy penetracyjne sieci WiFi
5. Aby wyświetlić dodatkowe, poszerzone informacje o pakiecie, kliknij małą ikonę znajdującą się z lewej strony ramki IEEE 802.11 wireless LAN management frame. 6. Przyjrzyj się strukturze poszczególnych pól nagłówka pakietu i porównaj jego budowę z informacjami o typach i podtypach ramek, o których mówiliśmy nieco wcześniej.
Co się stało? Właśnie udało Ci się przechwycić pierwszy zestaw pakietów przesyłanych w sieci bezprzewodowej. Uruchomiliśmy program Wireshark, którego użyliśmy do monitorowania utworzonego wcześniej interfejsu mon0. Na pasku statusu w dolnej części okna programu Wireshark znajdziesz informacje o szybkości przechwytywania pakietów oraz liczbie pakietów przechwyconych od momentu rozpoczęcia całej operacji aż do chwili obecnej.
Zrób to sam — wyszukiwanie różnych urządzeń Rozmiary plików zawierających pakiety przechwytywane przez program Wireshark mogą być nieco przerażające, ponieważ nawet w niezbyt rozbudowanej sieci przesyłane (a co za tym idzie — przechwytywane) pakiety można liczyć w tysiącach. Z tego względu niezmiernie ważna staje się możliwość odrzucania niepotrzebnych pakietów, tak aby przechwytywane były tylko te, które są dla nas interesujące. W programie Wireshark można tego dokonać przy użyciu filtrów. Zapoznaj się z dokumentacją programu i spróbuj się dowiedzieć, jak w tym morzu przesyłanych pakietów identyfikować pakiety pochodzące z poszczególnych urządzeń bezprzewodowych — zarówno punktów dostępowych, jak i klientów bezprzewodowych. Jeżeli nie potrafisz sobie poradzić z tym zadaniem, nie przejmuj się — właśnie tym będziemy się zajmować już za chwilę.
Czas na działanie — przeglądanie ramek zarządzających, ramek sterujących i ramek danych Teraz pokażemy, w jaki sposób możesz używać filtrów programu Wireshark do wyszukiwania i przeglądania ramek zarządzających, ramek sterujących i ramek danych. Aby to zrobić, wykonaj polecenia opisane poniżej: 1. Aby wyświetlić wszystkie ramki zarządzające, pojawiające się w przechwytywanym zbiorze ramek, powinieneś w polu Filter wpisać wyrażenie wlan.fc.type == 0, a następnie nacisnąć przycisk Apply. Jeżeli nie chcesz, aby pakiety na liście zbyt szybko przesuwały się w dół, możesz zatrzymać proces przechwytywania:
38
Rozdział 2. • Sieci WLAN i związane z nimi zagrożenia
2. Aby wyświetlić ramki sterujące, zmodyfikuj wyrażenie będące definicją filtra do postaci wlan.fc.type == 1:
39
BackTrack 5. Testy penetracyjne sieci WiFi
3. Aby wyświetlić ramki danych, w polu Filter wpisz wyrażenie wlan.fc.type == 2:
4. Aby dodatkowo wybrać podtyp wyświetlanych ramek, użyj filtra z wyrażeniem wlan.fc.subtype. Żeby spośród ramek zarządzających wyświetlić na przykład tylko ramki podtypu Beacon, powinieneś użyć filtra (wlan.fc.type == 0) && (wlan.fc.subtype == 8):
40
Rozdział 2. • Sieci WLAN i związane z nimi zagrożenia
5. Zamiast ręcznie wpisywać definicje filtrów, możesz kliknąć prawym klawiszem dowolne pole nagłówka ramki wyświetlanej w środkowym oknie programu i z menu podręcznego wybrać polecenie Apply as Filter/Selected (użyj jako filtra/wartość zaznaczonego pola):
6. Wykonanie takiej operacji spowoduje automatyczne utworzenie właściwego wyrażenia i umieszczenie go w polu Filter, tak jak to zostało przedstawione na kolejnym rysunku:
41
BackTrack 5. Testy penetracyjne sieci WiFi
Co się stało? Dowiedziałeś się, jak w programie Wireshark można filtrować pakiety przy użyciu odpowiednich wyrażeń. Zastosowanie filtrów pozwala na łatwe monitorowanie pakietów pochodzących od interesujących nas urządzeń i uniknięcie mozolnego analizowania wszystkich pakietów przesyłanych w sieci bezprzewodowej. Mogłeś się również przekonać, że nagłówki pakietów ramek zarządzających, ramek sterujących i ramek danych są przesyłane w postaci czystego tekstu i nie są w żaden sposób szyfrowane. Dzięki temu każdy, kto przechwytuje pakiety przesyłane w takiej sieci, może również odczytywać ich zawartość. Należy też zauważyć, że potencjalny złośliwy użytkownik może modyfikować przechwycone pakiety i retransmitować je do sieci. Ze względu na fakt, że protokół komunikacyjny nie ma możliwości wykrywania ataków na spójność przesyłanych danych (ang. integrity attack) czy też ataków metodą powtarzania pakietów (ang. reply attack), realizacja takiego przedsięwzięcia nie jest wcale trudna. W następnych rozdziałach bardziej szczegółowo omówimy niektóre z takich ataków.
Zrób to sam — zabawy z filtrami Jeżeli chcesz się dowiedzieć czegoś więcej na temat wyrażeń definiujących filtry oraz sposobów ich użycia, powinieneś zajrzeć do dokumentacji pakietu Wireshark. Aby swobodnie posługiwać się takim narzędziem jak Wireshark, ćwicz dopóty, dopóki nie będziesz pewien, że za pomocą filtrów będziesz w stanie odszukać interesujące Cię informacje nawet w bardzo dużych zbiorach przechwyconych pakietów. W kolejnym ćwiczeniu pokażemy, w jaki sposób możesz przechwytywać pakiety przesyłane między punktem dostępowym a klientem bezprzewodowym.
Czas na działanie — nasłuchiwanie i przechwytywanie pakietów w sieci bezprzewodowej W tym ćwiczeniu pokażemy, jak przechwytywać pakiety danych przesyłanych w wybranej sieci bezprzewodowej. Dla uproszczenia całego ćwiczenia skoncentrujemy się na przechwytywaniu pakietów przesyłanych bez szyfrowania. Aby to zrobić, wykonaj polecenia opisane poniżej: 1. Włącz punkt dostępowy obsługujący sieć Wireless Lab i upewnij się, że nie używa żadnych mechanizmów szyfrowania.
42
Rozdział 2. • Sieci WLAN i związane z nimi zagrożenia
2. W pierwszej kolejności musisz ustalić numer kanału, na którym pracuje punkt dostępowy sieci Wireless Lab. Aby to zrobić, uruchom konsolę i wpisz polecenie airodump-ng --bssid 00:21:91:D2:8E:25 mon0 — 00:21:91:D2:8E:25 to adres MAC naszego punktu dostępu. Pozwól programowi działać. Po chwili na ekranie powinien się pojawić szereg informacji o punkcie dostępowym, łącznie z numerem wykorzystywanego kanału:
3. Jak widać, w naszym przykładzie punkt dostępowy obsługujący sieć Wireless Lab pracuje na kanale 11. Pamiętaj, że w Twojej konfiguracji numer kanału może być inny. 4. Aby nasłuchiwać i przechwytywać pakiety danych przesyłane do i z punktu dostępowego, musisz ustawić bezprzewodową kartę sieciową do pracy na tym samym kanale (11). W tym celu wpisz polecenie iwconfig mon0 channel 11, a następnie, aby upewnić się, że karta pracuje na właściwym kanale, wprowadź polecenie iwconfig mon0. W wynikach dla tego polecenia powinieneś zobaczyć, że karta została ustawiona do pracy na częstotliwości 2,462 GHz (wpis Frequency: 2.462 GHz), co odpowiada kanałowi numer 11:
5. Jeżeli karta została poprawnie skonfigurowana, uruchom program Wireshark i rozpocznij nasłuchiwanie w interfejsie mon0. Kiedy Wireshark rozpocznie przechwytywanie pakietów, włącz filtr przepuszczający wyłącznie pakiety o identyfikatorze BSSID, odpowiadającym punktowi dostępowemu. Aby to zrobić, w polu Filter wpisz wyrażenie wlan.bssid == 00:21:91:D2:8E:25, tak jak zostało to przedstawione na rysunku poniżej. Pamiętaj o zastąpieniu przykładowego adresu MAC adresem MAC Twojego urządzenia!
43
BackTrack 5. Testy penetracyjne sieci WiFi
6. Aby zobaczyć pakiety danych przesyłane przez punkt dostępowy, musisz użyć następującego filtra: (wlan.bssid == 00:21:91:D2:8E:25) && (wlan.fc.type_subtype == 0x20). Teraz na laptopie z systemem Windows uruchom przeglądarkę sieciową i w polu adresu wpisz adres URL sieciowego interfejsu zarządzania punktem dostępowym. Jak zapewne pamiętasz z rozdziału 1., w naszym przypadku adres tego interfejsu to http://192.168.0.1. Taka operacja spowoduje wygenerowanie i przesłanie odpowiednich pakietów danych, które zostaną przechwycone przez program Wireshark:
44
Rozdział 2. • Sieci WLAN i związane z nimi zagrożenia
7. Jak widać na rysunku, przechwytywanie pakietów pozwala na łatwą i szybką analizę danych, które nie są szyfrowane — z tego właśnie powodu przesyłanie danych w sieciach bezprzewodowych należy zabezpieczyć za pomocą odpowiedniego mechanizmu szyfrowania.
Co się stało? Właśnie rozpocząłeś przechwytywanie (przy użyciu programu Wireshark i zestawu odpowiednich filtrów) pakietów danych przesyłanych w sieci bezprzewodowej. Ponieważ punkt dostępowy nie wykorzystuje żadnego mechanizmu szyfrowania, przesyłane dane możesz zobaczyć w postaci „czystego” tekstu. Oczywiście jest to poważne zagrożenie dla bezpieczeństwa danych, gdyż każdy użytkownik znajdujący się w zasięgu nadawania punktu dostępowego może przy użyciu programów takich jak Wireshark przechwytywać i odczytywać wszystkie pakiety przesyłane w takiej niezabezpieczonej sieci bezprzewodowej.
Zrób to sam — analizowanie pakietów danych Spróbuj uruchomić Wiresharka i użyć go do bardziej dogłębnej analizy pakietów. Z pewnością zauważysz, że żądania DHCP są wysyłane przez klienta i jeżeli serwer DHCP jest dostępny, odpowiada na takie żądania, przydzielając odpowiedni adres IP. Analizując ruch w sieci bezprzewodowej, znajdziesz również pakiety ARP oraz pakiety innych protokołów. Przeprowadzenie takiej analizy jest prostym i skutecznym sposobem na pasywne wykrywanie hostów pracujących w danej sieci bezprzewodowej. Dzięki możliwości przechwycenia i analizy pakietów przesyłanych w sieci możesz zrekonstruować to, jak poszczególne hosty komunikują się z resztą urządzeń w sieci. Jedną z bardzo interesujących opcji programu Wireshark jest Follow a stream („podążaj za strumieniem”), która pozwala na automatyczne filtrowanie i przeglądanie pakietów przesyłanych w trakcie wybranej sesji między dwoma hostami. W ramach eksperymentu możesz również spróbować zalogować się na swój serwer poczty elektronicznej (na przykład gmail.com) i zobaczyć, jaki ruch sieciowy generuje taka sesja. W kolejnym podrozdziale pokażemy, w jaki sposób możesz wstrzykiwać pakiety do ruchu w sieci bezprzewodowej.
Czas na działanie — wstrzykiwanie pakietów W tym ćwiczeniu będziemy używać narzędzia aireplay-ng, które jest dostępne w systemie BackTrack. W tym celu wykonaj polecenia opisane poniżej: 1. Aby przeprowadzić test wstrzykiwania pakietów, najpierw powinieneś uruchomić program Wireshark i utworzyć filtr pakietów za pomocą następującego wyrażenia: (wlan.bssid == 00:21:91:D2:8E:25) && !(wlan.fc.type_subtype == 0x08).
45
BackTrack 5. Testy penetracyjne sieci WiFi
Tak zdefiniowany filtr powoduje, że wyświetlane są wszystkie pakiety przesyłane w sieci oprócz pakietów typu Beacon (pakiety rozgłoszeniowe). 2. Otwórz okno terminala i wykonaj następujące polecenie: aireplay-ng -9 -e Wireless Lab -a 00:21:91:D2:8E:25 mon0, tak jak to zostało przedstawione na rysunku poniżej:
3. Powróć do programu Wireshark. W jego oknie powinieneś zobaczyć cały szereg przechwyconych pakietów. Niektóre z tych pakietów zostały wysłane (wstrzyknięte) przez narzędzie aireplay-ng, którego użyłeś przed chwilą, a pozostałe pakiety wysłał punkt dostępowy sieci Wireless Lab w odpowiedzi na wstrzyknięte pakiety:
46
Rozdział 2. • Sieci WLAN i związane z nimi zagrożenia
Co się stało? Przy użyciu narzędzia aireplay-ng właśnie udało Ci się pomyślnie wstrzyknąć pakiety do sieci laboratoryjnej Wireless Lab. Zwróć uwagę, że karta sieciowa wstrzyknęła wybrane przez nas pakiety do sieci, chociaż nie była podłączona do punktu dostępowego sieci Wireless Lab.
Zrób to sam — samodzielne wstrzykiwanie pakietów Zagadnienia związane ze wstrzykiwaniem pakietów omówimy bardziej szczegółowo w kolejnych rozdziałach, aczkolwiek nic nie stoi na przeszkodzie, abyś poeksperymentował ze wstrzykiwaniem pakietów przy użyciu innych opcji polecenia aireplay-ng. Aby sprawdzić, czy wstrzykiwanie pakietów zakończyło się pomyślnie, możesz użyć programu Wireshark.
Ważne uwagi dotyczące przechwytywania i wstrzykiwania pakietów w sieciach WLAN Bezprzewodowe sieci WLAN zazwyczaj wykorzystują trzy podstawowe zakresy częstotliwości: 2,4 GHz; 3,6 GHz oraz 4,9/5,0 GHz. Niestety, nie wszystkie karty Wi-Fi obsługują wszystkie podane zakresy częstotliwości i powiązane z nimi pasma. Na przykład karta Alfa, której używamy w naszym laboratorium, obsługuje tylko standardy IEEE 802.11 b/g. Oznacza to, że taka karta nie będzie działała w standardzie 802.11 a/n. Wynika stąd prosty i oczywisty wniosek, że jeżeli chcesz przechwytywać lub wstrzykiwać pakiety w sieci bezprzewodowej działającej w określonym paśmie, Twoja karta sieciowa musi takie pasmo obsługiwać. Innym interesującym aspektem sieci bezprzewodowych Wi-Fi jest to, że poszczególne pasma są podzielone na szereg kanałów. Bezprzewodowa karta sieciowa nie może podłączyć się jednocześnie do wielu kanałów. Dobrą analogią z życia codziennego jest odbiornik radiowy w Twoim samochodzie — możesz słuchać tylko jednej stacji radiowej naraz. Jeżeli chcesz posłuchać innej stacji, musisz przestroić radio na inny kanał. Taka sama zasada obowiązuje podczas nasłuchiwania i przechwytywania pakietów w sieciach bezprzewodowych WLAN. Nasuwa się tutaj bardzo ważna konkluzja: nie możemy nasłuchiwać ruchu w sieci na wszystkich dostępnych kanałach naraz, a zatem musimy najpierw przełączyć się na kanał, który nas interesuje. Oznacza to, że jeżeli interesujący Cię punkt dostępowy działa na kanale numer 1, to musisz przełączyć swoją kartę sieciową również na kanał numer 1. Zasady nasłuchiwania i przechwytywania pakietów w sieciach WLAN omawialiśmy już w poprzednich podrozdziałach, dlatego wystarczy tylko powiedzieć, że takie same reguły obowiązują podczas wstrzykiwania pakietów. Aby wstrzyknąć pakiety do sieci bezprzewodowej działającej na określonym kanale, musisz najpierw przełączyć swoją kartę sieciową na ten kanał. Przeprowadzimy teraz kilka ćwiczeń, w których będziemy przełączać kartę sieciową na wybrany kanał, włączać tryb skakania po kanałach (ang. channel hopping mode), zmieniać ustawienia karty sieciowej zgodnie z wymogami prawnymi danego kraju, zmieniać moc nadawania karty itd.
47
BackTrack 5. Testy penetracyjne sieci WiFi
Czas na działanie — eksperymentujemy z kartą Alfa Uważnie wykonaj polecenia opisane poniżej: 1. Aby sprawdzić możliwości swojej bezprzewodowej karty sieciowej, otwórz okno terminala i wykonaj polecenie iwconfig wlan0. Jak widać na rysunku zamieszczonym poniżej, karta Alfa może działać tylko w pasmach b i g:
2. Dla porównania po podłączeniu do komputera innej karty sieciowej, D-LinkDWA-125, zobaczysz, że może ona działać w pasmach b, g i n:
3. Aby przełączyć kartę na wybrany kanał, powinieneś wykonać polecenie iwconfig mon0 channel X, gdzie X to żądany numer kanału:
48
Rozdział 2. • Sieci WLAN i związane z nimi zagrożenia
4. Polecenie iwconfig nie ma opcji pozwalającej na włączenie trybu channel hopping. Aby go włączyć, można napisać prosty skrypt powłoki, aczkolwiek znacznie łatwiejsze będzie użycie polecenia airodump-ng, które udostępnia tę opcję — pozwala na skakanie po wszystkich kanałach, po zestawie wybranych kanałów czy tylko po kanałach w wybranych pasmach. Wszystkie dostępne opcje możesz wyświetlić po wykonaniu polecenia airodump-ng -help, tak jak zostało to przedstawione na rysunku poniżej:
Co się stało? Jak widać, to, czy możliwe jest zarówno nasłuchiwanie i przechwytywanie, jak i wstrzykiwanie pakietów, zależy od właściwości sprzętowych Twojej karty sieciowej. W praktyce oznacza to, że możesz działać tylko na tych pasmach i kanałach, które są obsługiwane przez Twoją bezprzewodową kartę sieciową. Co więcej, karta sieciowa może pracować tylko na jednym kanale naraz, a to z kolei oznacza, że pakiety możesz przechwytywać lub wstrzykiwać tylko na jednym kanale w tym samym czasie.
Zrób to sam — nasłuchiwanie i przechwytywanie pakietów na wielu kanałach jednocześnie Jeżeli chciałbyś nasłuchiwać i przechwytywać pakiety na wielu kanałach jednocześnie, rozwiązanie jest proste — będziesz musiał użyć wielu bezprzewodowych kart sieciowych. Jeżeli możesz sobie pozwolić na zakup dodatkowych kart sieciowych, to nic nie stoi na przeszkodzie, aby spróbować nasłuchu na dwóch, czterech kanałach czy nawet większej ich liczbie w tym samym czasie.
49
BackTrack 5. Testy penetracyjne sieci WiFi
Rola organów regulacyjnych w sieciach bezprzewodowych Skomplikowane zagadnienia związane z połączeniami bezprzewodowymi wcale nie kończą się na sprzęcie, częstotliwościach, pasmach i kanałach. Niemal każdy kraj na świecie posiada swoje własne przepisy dotyczące komunikacji w powszechnie dostępnych pasmach częstotliwości, niewymagających osobnych zezwoleń i licencji na nadawanie. Na przykład w Polsce takim organem regulującym wszystkie przepisy prawne związane z komunikacją bezprzewodową (i nie tylko) jest Urząd Komunikacji Elektronicznej (UKE) i jeżeli korzystasz z sieci WLAN, musisz przestrzegać obowiązujących wymogów prawnych narzuconych przez UKE. W wielu krajach złamanie takich przepisów jest bardzo poważnie traktowanym wykroczeniem (a w niektórych nawet przestępstwem) i jest karane z całą surowością prawa. Za chwilę pokażemy, jak możesz znaleźć domyślne ustawienia wymogów prawnych (ang. default regulatory settings) bezprzewodowej karty sieciowej i jak w razie potrzeby je zmienić.
Czas na działanie — eksperymentujemy z kartą Alfa Wykonaj polecenia opisane poniżej: 1. Wyłącz komputer, odłącz od niego kartę Alfa i ponownie go uruchom. 2. Po zalogowaniu się otwórz okno terminala i włącz monitorowanie komunikatów jądra systemu. Aby to zrobić, wykonaj polecenie tail przedstawione niżej:
3. Podłącz kartę Alfa. Na ekranie powinieneś zobaczyć szereg komunikatów podobnych do tych widocznych na rysunku zamieszczonym poniżej, które opisują domyślne ustawienia wymogów prawnych nadane Twojej karcie sieciowej (inaczej mówiąc, ustawienia regionu):
50
Rozdział 2. • Sieci WLAN i związane z nimi zagrożenia
4. Załóżmy, że znajdujesz się w Stanach Zjednoczonych. Aby zmienić domyślne ustawienia wymogów prawnych karty sieciowej dla tego kraju, powinieneś otworzyć okno terminala i wykonać polecenie iw reg set US1.
5. Jeżeli wykonanie polecenia zakończy się powodzeniem, w oknie terminala, w którym monitorowane są komunikaty jądra systemu (/var/log/messages), powinny się pojawić takie komunikaty, jak na rysunku zamieszczonym poniżej:
6. Teraz spróbuj przełączyć kartę sieciową do pracy na kanale 11. — wykonanie takiej operacji powinno się zakończyć sukcesem. Jeżeli jednak spróbujesz przełączyć kartę na kanał 12., próba wykonania takiego polecenia zakończy się wyświetleniem komunikatu o błędzie. Dzieje się tak, ponieważ w Stanach Zjednoczonych korzystanie z kanału 12. nie jest dozwolone:
1
Aby włączyć ustawienia dla Polski, powinieneś wykonać polecenie iw reg set PL. Szczegółowe listy ustawień dla poszczególnych krajów możesz znaleźć na stronie http://linuxwireless.org/en/developers/ Regulatory/Database — przyp. tłum.
51
BackTrack 5. Testy penetracyjne sieci WiFi
7. Sytuacja wygląda bardzo podobnie w przypadku zmian mocy nadawania karty. W Stanach Zjednoczonych maksymalna moc nadawania bezprzewodowej karty sieciowej jest ograniczona do 27 dBm (500 mW)2, zatem nawet jeżeli karta Alfa może nadawać z mocą 1000 mW (30 dBm), to ze względów prawnych nie możemy jej skonfigurować do pracy z pełną mocą:
8. Jeżeli jednak wybrałbyś się do Boliwii, mógłbyś korzystać z pełnej mocy karty, ponieważ wymogi prawne co do komunikacji bezprzewodowej w tym kraju są znacznie łagodniejsze i moc nadawania rzędu 1000 mW jest całkowicie dozwolona. Jak widać na rysunku załączonym poniżej, po ustawieniu regionu na Boliwię poleceniem iw reg set BO moc nadawania karty rośnie do 30 dBm (czyli inaczej 1000 mW). Co więcej, będąc w Boliwii, możesz również przełączyć kartę na kanał numer 12, co nie jest dozwolone w Stanach Zjednoczonych:
2
W Polsce i innych krajach Unii Europejskiej przepisy są jeszcze bardziej restrykcyjne — maksymalna dozwolona prawem moc wypromieniowywana izotropowo z anteny (ang. EIRP — Effective Isotropical Radiated Power) urządzeń pracujących w paśmie 2,4 GHz nie może być wyższa niż 20 dBm (100 mW) — przyp. tłum.
52
Rozdział 2. • Sieci WLAN i związane z nimi zagrożenia
Co się stało? Niemal każdy kraj na świecie posiada swoje własne przepisy dotyczące komunikacji w powszechnie dostępnych pasmach częstotliwości, niewymagających osobnych zezwoleń i licencji na nadawanie. Kiedy zmienisz ustawienia regionu karty na wybrany kraj, Twoja karta automatycznie dostosuje się do odpowiedniego zestawu częstotliwości, pasm, kanałów i mocy nadawania. Nie zmienia to jednak faktu, że można łatwo zmienić ustawienia regionu karty na inny kraj i w ten sposób „zmusić” ją do pracy w nielegalnym paśmie częstotliwości czy do nadawania z niedozwoloną mocą (co jednak jest złamaniem prawa i może skutkować wyciągnięciem poważnych konsekwencji).
Zrób to sam — przeglądanie ustawień regionu bezprzewodowej karty sieciowej Spróbuj samodzielnie poeksperymentować z ustawieniami karty sieciowej i zmieniać takie elementy, jak kanały, moc nadawania, ustawienia regionu itd. W systemie BackTrack możesz tego dokonać przy użyciu różnych opcji polecenia iw. Dzięki takiemu ćwiczeniu nabierzesz doświadczenia w konfigurowaniu karty sieciowej i będziesz wiedział, w jaki sposób zmienić jej ustawienia, kiedy znajdziesz się w innym kraju.
Szybki quiz — nasłuchiwanie, przechwytywanie i wstrzykiwanie pakietów w sieciach WLAN 1. Jakiego typu ramki są odpowiedzialne za uwierzytelnianie w sieciach WLAN? a) Control (ramki sterujące). b) Management (ramki zarządzające). c) Data (ramki danych). d) QoS (ramki QoS). 2. Jaką nazwę nosi drugi interfejs sieciowy, pracujący w trybie monitora, który może zostać utworzony na interfejsie wlan0 przy użyciu polecenia airmon-ng? a) Mon0. b) Mon1. c) 1Mon. d) Monb. 3. Jakie wyrażenie pozwoli na utworzenie w programie Wireshark filtra, który umożliwi wyświetlanie wszystkich ramek z wyjątkiem ramek typu Beacon (ramek rozgłoszeniowych)? a) !(wlan.fc.type_subtype == 0x08). b) wlan.fc.type_subtype == 0x08. c) (no beacon). d) Wlan.fc.type == 0x08.
53
BackTrack 5. Testy penetracyjne sieci WiFi
Podsumowanie W tym rozdziale poczyniliśmy kilka kluczowych obserwacji dotyczących protokołów wykorzystywanych w bezprzewodowych sieciach WLAN: Q Ramki zarządzające (ang. management frames), ramki sterujące (ang. control
frames) i ramki danych (ang. data frames) nie są szyfrowane i z tego powodu mogą być łatwo przechwytywane i odczytywane przez osoby trzecie, które monitorują pakiety przesyłane w sieci bezprzewodowej. Należy tutaj zwrócić uwagę, że zawartość pakietów danych może być chroniona przed dostępem osób niepowołanych poprzez zastosowanie odpowiedniego sposobu szyfrowania. Bardziej szczegółowo będziemy się zajmować tym zagadnieniem w kolejnym rozdziale. Q Po przełączeniu karty sieciowej w tryb monitora możemy nasłuchiwać i przechwytywać ramki przesyłane we wszystkich sieciach bezprzewodowych, w których zasięgu znajduje się nasza karta sieciowa. Q Ponieważ ramki zarządzające i sterujące nie posiadają żadnego mechanizmu zapewniającego spójność przesyłanych danych, dzięki narzędziom typu aireplay-ng możemy takie pakiety z łatwością modyfikować i wstrzykiwać do sieci bezprzewodowych. Q Nieszyfrowane pakiety danych również mogą być modyfikowane i ponownie przesyłane do sieci bezprzewodowej. Nawet jeżeli pakiet jest zaszyfrowany, nadal możemy ponownie przesłać go do sieci w takim stanie, w jakim się znajduje, ponieważ sieci WLAN z definicji nie posiadają żadnego mechanizmu zapobiegającego takim działaniom. W kolejnym rozdziale przyjrzymy się bliżej różnym mechanizmom uwierzytelniania w sieciach WLAN, takim jak filtrowanie adresów MAC (ang. MAC filtering), uwierzytelnianie ze współdzielonym kluczem (ang. Shared Key Authentication) i inne, a także na przykładach pokażemy i szczegółowo omówimy luki i słabe strony takich metod.
54
3 Omijanie uwierzytelniania sieci WLAN „Fałszywe poczucie bezpieczeństwa jest znacznie gorsze niż niepewność”. Anonim
Fałszywe poczucie bezpieczeństwa jest znacznie gorsze niż niepewność, ponieważ czując się bezpiecznie, możesz nie być przygotowany na to, że zabezpieczenia Twojej sieci mogą zostać złamane.
Sieci bezprzewodowe (sieci WLAN) często wykorzystują słabe mechanizmy uwierzytelniania, które mogą być dosyć łatwo złamane i pominięte. W tym rozdziale przyjrzymy się różnym sposobom uwierzytelniania wykorzystywanym w sieciach WLAN i pokażemy, jak można je złamać. W tym rozdziale będziemy zajmować się następującymi zagadnieniami: Q Ujawnianie ukrytych identyfikatorów SSID (ang. Service Set IDentifier) sieci. Q Omijanie filtrowania adresów MAC.
Pokonywanie zabezpieczeń sieci z otwartym dostępem (ang. Open Authentication). Q Pokonywanie zabezpieczeń sieci wykorzystujących uwierzytelnianie
ze współdzielonym kluczem (ang. Shared Key Authentication).
BackTrack 5. Testy penetracyjne sieci WiFi
Ukryte identyfikatory SSID sieci bezprzewodowych W konfiguracji domyślnej wszystkie punkty dostępowe wysyłają swoje identyfikatory SSID w ramkach rozgłoszeniowych (ramki typu Beacon). Takie rozwiązanie pozwala klientom znajdującym się w zasięgu na łatwe wykrywanie i rozpoznawanie sieci. Ukrywanie identyfikatora SSID polega na tym, że tak skonfigurowany punkt dostępowy po prostu nie wysyła swojego identyfikatora sieci w ramkach rozgłoszeniowych, więc do takiego punktu dostępowego mogą się podłączyć tylko klienty, które znają odpowiedni identyfikator SSID sieci. Takie rozwiązanie zdecydowanie nie jest wystarczającym zabezpieczeniem, aczkolwiek wielu administratorom sieci niestety wydaje się, że jest inaczej. Dalej pokażemy, w jaki sposób możesz odkryć ukryty identyfikator sieci.
Czas na działanie — ujawnianie ukrytych identyfikatorów SSID sieci Aby to zrobić, powinieneś wykonać opisane niżej polecenia: 1. Jeżeli za pomocą programu Wireshark będziesz monitorować ramki rozgłoszeniowe sieci Wireless Lab, to zobaczysz, że identyfikator SSID jest przesyłany w postaci otwartego tekstu. Ramki rozgłoszeniowe (ramki typu Beacon) powinny wyglądać tak jak na rysunku poniżej:
56
Rozdział 3. • Omijanie uwierzytelniania sieci WLAN
2. Teraz zmień konfigurację punktu dostępowego sieci Wireless Lab tak, aby wyłączyć rozsyłanie identyfikatora SSID. W zależności od modelu wykorzystywanego punktu dostępowego nazwy odpowiednich opcji mogą być różne. W naszej sieci laboratoryjnej musimy ustawić opcję Visibility Status na wartość Invisible, tak jak pokazano na kolejnym rysunku:
3. Jeżeli teraz przyjrzysz się ramkom przechwytywanym przez program Wireshark, to z pewnością zauważysz, że identyfikator SSID Wireless Lab zniknął z ramek rozgłoszeniowych — i właśnie o to chodzi w ukrywaniu identyfikatorów SSID:
57
BackTrack 5. Testy penetracyjne sieci WiFi
4. Aby ominąć takie „zabezpieczenie”, najpierw użyj pasywnej techniki polegającej na oczekiwaniu, aż jakiś uprawniony klient podłączy się do punktu dostępowego. Takie zdarzenie spowoduje wygenerowanie pakietów Probe Request (sondowanie) i Probe Response (odpowiedź na sondowanie), które zawierają identyfikator SSID sieci i w ten sposób ujawniają jego obecność:
5. Zamiast tego możesz użyć polecenia aireplay-ng do wysłania w imieniu punktu dostępowego do wszystkich stacji pakietów Deauthentication (anulowanie uwierzytelnienia). Aby to zrobić, powinieneś otworzyć okno terminala i wpisać polecenie aireplay-ng -0 5 -a 00:21:91:D2:8E:25 mon0. Opcja -0 powoduje wybranie ataku polegającego na anulowaniu uwierzytelnienia (ang. deauthentication attack), a 5 to liczba pakietów, które mają zostać wysłane. Ostatnia opcja, -a, pozwala na podanie adresu MAC punktu dostępowego, który jest naszym celem:
58
Rozdział 3. • Omijanie uwierzytelniania sieci WLAN
6. Wysłanie pakietów Deauthentication wymusza na wszystkich uprawnionych klientach rozłączenie i ponowne przyłączenie się do punktu dostępowego. Aby łatwiej zaobserwować, co się dzieje, możesz w programie Wireshark utworzyć filtr, który będzie przepuszczał tylko pakiety Deauthentication:
7. Pakiety Probe Response (odpowiedź na sondowanie), przesyłane przez punkt dostępowy do podłączających się klientów, ujawniają identyfikator SSID sieci. Przykładowy przebieg takiej sesji widać w programie Wireshark, co przedstawiono na rysunku poniżej. Kiedy uprawniony klient ponownie łączy się z punktem dostępowym, możemy zobaczyć identyfikator SSID przesyłany w ramkach Probe Request (sondowanie) oraz Probe Response (odpowiedź na sondowanie). Aby zobaczyć wszystkie ramki przesyłane do i z punktu dostępowego (z wyjątkiem ramek rozgłoszeniowych), możesz użyć filtra (wlan.bssid == 00:21:91:D2:8E:25) && !(wlan.fc.type_subtype == 0x08). Operator && reprezentuje iloczyn logiczny (logiczne AND), a operator ! oznacza negację (logiczne NOT):
59
BackTrack 5. Testy penetracyjne sieci WiFi
Co się stało? Niezależnie od tego, że identyfikator SSID sieci jest ukryty i nie jest rozgłaszany, za każdym razem, kiedy uprawniony klient podłącza się do punktu dostępowego, wymienia z nim pakiety Probe Request (sondowanie) i Probe Response (odpowiedź na sondowanie), które zawierają identyfikator SSID sieci obsługiwanej przez ten punkt dostępowy. Ponieważ pakiety takie nie są szyfrowane, można je łatwo przechwycić i odczytać identyfikator SSID sieci. Bardzo często zdarza się sytuacja, że wszystkie uprawnione klienty są już podłączone do punktu dostępowego i pakiety Probe Request oraz Probe Response nie są wymieniane. W takiej sytuacji, zamiast oczekiwać przez długi czas aż któryś z klientów rozłączy się i następnie połączy ponownie, możesz wymusić rozłączenie klientów poprzez wysłanie sfałszowanych pakietów Deauthentication (anulowanie uwierzytelnienia). Odebranie takiego pakietu zmusza klienta do odłączenia się od punktu dostępowego i ponownego podłączenia, co w efekcie powoduje wymianę pakietów Probe Request oraz Probe Response, a tym samym ujawnienie identyfikatora SSID sieci.
Zrób to sam — selektywne anulowanie uwierzytelnienia W poprzednim ćwiczeniu wysyłaliśmy pakiety Deauthentication (anulowanie uwierzytelnienia), aby zmusić wszystkie klienty do rozłączenia i ponownego połączenia z punktem dostępowym. Za chwilę pokażemy, w jaki sposób przy użyciu polecenia aireply-ng możesz selektywnie kierować pakiety Deauthentication do wybranych klientów. Warto zauważyć, że choć do ilustrowania większości przykładów w tej książce używamy programu Wireshark, to opisywane ataki można przeprowadzać za pomocą wielu różnych narzędzi, takich jak na przykład pakiet aircrack-ng. Więcej informacji na temat poszczególnych narzędzi tego pakietu oraz pełną dokumentację znajdziesz na stronie http://www.aircrack-ng.org/. 60
Rozdział 3. • Omijanie uwierzytelniania sieci WLAN
Filtrowanie adresów MAC Filtrowanie adresów MAC jest starą, wypróbowaną techniką autoryzacji i uwierzytelniania, która wywodzi się jeszcze ze świata sieci kablowych. O ile jednak tam radziła sobie całkiem dobrze, o tyle w świecie połączeń bezprzewodowych ponosi sromotną klęskę. Cała idea takiego rozwiązania opiera się na uwierzytelnianiu klientów na podstawie adresów MAC kart sieciowych. Lista uprawnionych adresów MAC jest zarządzana przez administratora sieci i zapisywana w konfiguracji punktu dostępowego. Jak się jednak za chwilę przekonamy, dzięki odrobinie wiedzy obejście takiego zabezpieczenia nie stanowi żadnego problemu.
Czas na działanie — omijanie filtrowania adresów MAC A zatem do dzieła: 1. Najpierw musisz zmienić konfigurację punktu dostępowego tak, aby włączyć filtrowanie adresów MAC. Następnie trzeba dodać adres MAC laptopa, który będzie celem ataku, do listy uprawnionych adresów MAC. W przypadku naszego punktu dostępowego cała procedura wygląda następująco:
2. Po włączeniu mechanizmu filtrowania adresów MAC do punktu dostępowego będą się mogły podłączyć tylko te klienty, których adresy znajdują się na liście uprawnionych adresów MAC. Jeżeli próbę podłączenia podejmie klient, którego adresu MAC nie ma na liście uprawnionych, to taka operacja zakończy się niepowodzeniem, tak jak to zostało zilustrowane na kolejnym rysunku:
61
BackTrack 5. Testy penetracyjne sieci WiFi
3. W takiej sytuacji punkt dostępowy wysyła do klienta informację o braku uwierzytelnienia, która wygląda mniej więcej tak:
4. Aby ominąć mechanizm filtrowania adresów MAC, najpierw użyj polecenia airodump-ng do odszukania adresów MAC klientów podłączonych już do punktu dostępowego. W tym celu powinieneś otworzyć okno terminala i wprowadzić polecenie airodump-ng -c 11 -a --bssid 00:21:91:D2:8E:25 mon0. Dzięki użyciu opcji bssid będzie można monitorować tylko wybrany punkt dostępowy, którym jesteśmy zainteresowani. Opcja -c 11 powoduje przełączenie bezprzewodowej karty sieciowej na kanał 11., czyli kanał, na którym pracuje punkt dostępowy.
62
Rozdział 3. • Omijanie uwierzytelniania sieci WLAN
Opcja -a sprawia, że w wynikach dla polecenia airodump-ng wyświetlane będą tylko informacje o klientach, które są przypisane do wybranego punktu dostępowego i połączone z nim. W rezultacie wykonania takiego polecenia otrzymasz listę adresów MAC klientów powiązanych z punktem dostępowym.
5. Kiedy znajdziesz adres MAC uprawnionego klienta, możesz się pod niego „podszyć”, używając polecenia macchanger do sfałszowania naszego adresu MAC (narzędzie macchanger jest częścią dystrybucji systemu BackTrack). Aby to zrobić, powinieneś z poziomu okna terminala wykonać polecenie macchanger –m 60:FB:42:D5:E4:01 wlan0. Od tej chwili adres MAC, który podałeś jako argument opcji -m, będzie nowym, „sfałszowanym” adresem interfejsu wlan0:
6. Jak widać, od tej chwili, posługując się sfałszowanym adresem MAC uprawnionego klienta, można bez problemu podłączyć się do punktu dostępowego.
Co się stało? Najpierw przy użyciu polecenia airodump-ng monitorowałeś ruch w sieci bezprzewodowej w celu odszukania adresów MAC uprawnionych klientów podłączonych do punktu dostępowego. Następnie użyłeś polecenia macchanger do zmiany adresu MAC naszej karty sieciowej, tak aby udawała kartę sieciową wybranego, uprawnionego klienta. Taka operacja pozwoliła na „oszukanie” punktu dostępowego, który po dokonaniu pomyślnego uwierzytelnienia na podstawie sfałszowanego adresu MAC pozwolił Ci na połączenie z siecią. 63
BackTrack 5. Testy penetracyjne sieci WiFi
Jeżeli chcesz dowiedzieć się czegoś więcej na temat innych opcji polecenia airodump-ng, zajrzyj do jego dokumentacji, którą znajdziesz na stronie http://www.aircrack-ng.org/doku.php?id=airodump-ng.
Uwierzytelnianie z otwartym dostępem Samo określenie „uwierzytelnianie z otwartym dostępem do sieci” (ang. Open Authentication) jest nieco mylące, ponieważ w takim rozwiązaniu nie jest wykorzystywana żadna forma uwierzytelniania. Jeżeli punkt dostępowy zostanie skonfigurowany tak, że zapewnia otwarty dostęp do sieci, to po prostu pomyślnie „uwierzytelni” każdego bez wyjątku klienta, który będzie próbował się z nim połączyć. W kolejnym ćwiczeniu pokażemy, w jaki sposób możesz się połączyć z punktem dostępowym, który pracuje w trybie uwierzytelniania z otwartym dostępem do sieci.
Czas na działanie — podłączanie się do punktu dostępowego z otwartym dostępem Aby podłączyć się do punktu dostępowego pracującego w trybie uwierzytelniania z otwartym dostępem, powinieneś wykonać polecenia opisane niżej: 1. Najpierw musisz skonfigurować punkt dostępowy sieci Wireless Lab tak, aby pracował w trybie uwierzytelniania z otwartym dostępem. W naszym przypadku cała operacja sprowadza się do wybrania z listy rozwijanej Security mode opcji None:
64
Rozdział 3. • Omijanie uwierzytelniania sieci WLAN
2. Teraz podłącz się do punktu dostępowego, wykonując polecenie iwconfig wlan0 essid "Wireless Lab", a następnie sprawdź, czy działanie tego polecenia zakończyło się powodzeniem i czy uzyskałeś połączenie:
3. Zwróć uwagę, że aby podłączyć się do punktu dostępowego pracującego w trybie otwartego dostępu, nie musieliśmy podawać żadnej nazwy użytkownika czy hasła dostępu.
Co się stało? Procedura opisana powyżej to chyba najprostszy sposób „włamania się” do bezprzewodowej sieci Wi-Fi. Jak widać, podłączenie się do punktu dostępowego pracującego w trybie uwierzytelniania z otwartym dostępem do sieci jest zadaniem dosyć trywialnym.
Uwierzytelnianie ze współdzielonym kluczem Metoda uwierzytelniania ze współdzielonym kluczem (ang. Shared Key Authentication) wykorzystuje do uwierzytelniania klienta znany obu stronom, poufny element, taki jak na przykład klucz WEP (ang. Wired Equivalent Privacy). Dokładny przebieg wymiany informacji pomiędzy punktem dostępowym a klientem został przedstawiony na rysunku poniżej (oryginał znajdziesz na stronie http://www.netgear.com/):
65
BackTrack 5. Testy penetracyjne sieci WiFi
Klient wysyła do punktu dostępowego żądanie uwierzytelnienia. Punkt dostępowy odpowiada na żądanie, przesyłając tekst wezwania. Klient szyfruje otrzymany tekst przy użyciu znanego obu stronom, współdzielonego klucza i odsyła odpowiedź do punktu dostępowego, który odszyfrowuje otrzymaną odpowiedź i sprawdza, czy jest zgodna z oryginalnym tekstem wezwania. Jeżeli tak, klient zostaje pomyślnie uwierzytelniony i może się połączyć z punktem dostępowym. Jeżeli odpowiedź klienta jest niepoprawna, punkt dostępowy przesyła do klienta komunikat informujący, że próba uwierzytelnienia zakończyła się niepowodzeniem. Problem z bezpieczeństwem takiego rozwiązania polega na tym, że napastnik pasywnie nasłuchujący wymiany komunikatów pomiędzy klientem i punktem dostępowym i przechwytujący ją ma do dyspozycji zarówno przesyłany otwarcie tekst wezwania, jak i zaszyfrowaną odpowiedź klienta i może użyć operacji XOR do wyodrębnienia strumienia klucza (ang. keystream). Uzyskany w ten sposób strumień klucza może następnie zostać użyty do szyfrowania każdego kolejnego tekstu wezwania przesyłanego przez punkt dostępowy bez konieczności posiadania samego klucza. W kolejnym ćwiczeniu pokażemy, w jaki sposób, nasłuchując pakiety przesyłane w sieci WLAN, możesz przechwycić tekst wezwania i zaszyfrowaną odpowiedź, jak odzyskać strumień klucza i jak użyć go do uwierzytelnienia swojego klienta bez konieczności poznania współdzielonego klucza.
Czas na działanie — omijanie uwierzytelniania ze współdzielonym kluczem Omijanie uwierzytelniania ze współdzielonym kluczem (ang. Shared Authentication) stanowi nieco większe wyzwanie niż poprzednie ćwiczenie. Aby się o tym przekonać, uważnie wykonaj polecenia opisane poniżej: 1. Najpierw trzeba skonfigurować punkt dostępowy sieci Wireless Lab tak, aby pracował w trybie uwierzytelniania ze współdzielonym kluczem. W naszym przypadku cała operacja sprowadza się do wybrania z listy rozwijanej Security mode opcji WEP oraz wybrania z listy rozwijanej Authentication opcji Shared Key (patrz pierwszy rysunek na następnej stronie). 2. Teraz podłącz uprawnionego klienta do punktu dostępowego, używając współdzielonego klucza wybranego w punkcie 1. 3. Aby ominąć uwierzytelnianie ze współdzielonym kluczem, musisz rozpocząć nasłuchiwanie i przechwytywanie pakietów przesyłanych między punktem dostępowym a jego klientami. Oprócz tego chciałbyś również zachować w pliku na dysku zrzut wszystkich pakietów biorących udział w procesie uwierzytelniania.
66
Rozdział 3. • Omijanie uwierzytelniania sieci WLAN
W tym celu otwórz okno terminala i wykonaj polecenie airodump-ng mon0 -c 11 --bssid 00:21:91:D2:8E:25 -w keystream. Opcja -w, której do tej pory jeszcze nie używałeś, powoduje, że polecenie airodump-ng zapisuje przechwycone pakiety w pliku o nazwie poprzedzonej słowem keystream. Warto zauważyć, że dobrym rozwiązaniem będzie przechowywanie poszczególnych sesji przechwytywania pakietów w osobnych plikach, dzięki czemu będziesz mógł na spokojnie analizować poszczególne sesje na długo po ich zakończeniu:
67
BackTrack 5. Testy penetracyjne sieci WiFi
4. Po zakończeniu przygotowań możesz cierpliwie czekać, aż uprawniony klient podłączy się do punktu dostępowego, lub wymusić rozłączenie i ponowne połączenie klientów przy użyciu techniki selektywnego lub globalnego anulowania uwierzytelnienia, opisywanej w jednym z poprzednich podrozdziałów. Kiedy uprawniony klient podłączy się do punktu dostępowego i proces jego uwierzytelniania zakończy się powodzeniem, polecenie airodump-ng przechwyci całą sesję przesyłania pakietów i zapisze ją w pliku na dysku. Dowodem na to, że przechwytywanie sesji zakończyło się powodzeniem, będzie pojawienie się w kolumnie AUTH wartości SKA (ang. Shared Key Authentication), tak jak to zostało pokazane na rysunku poniżej:
5. Przechwycony strumień klucza (ang. keystream) zostaje zapisany na dysku w bieżącym katalogu roboczym, w pliku o nazwie poprzedzonej słowem keystream. W naszym przypadku strumień klucza został zapisany w pliku o nazwie keystream-01-00-21- 91-D2-8E-25.xor, co widać na kolejnym rysunku:
6. Aby teraz posłużyć się uzyskanym strumieniem klucza do „sfałszowania” uwierzytelnienia, należy użyć polecenia aireplay-ng. Aby to zrobić, w oknie terminala wpisz następujące polecenie: aireplay-ng -1 0 -e Wireless Lab -y keystream-01-00-21-91-D2-8E-25.xor -a 00:21:91:D2:8E:25 -h aa:aa:aa:aa:aa:aa mon0. Polecenie aireplay-ng pobierze strumień klucza, który uzyskałeś w punkcie
5., i dokona próby uwierzytelnienia połączenia z punktem dostępowym o adresie MAC 00:21:91:D2:8E:25 (czyli naszej sieci Wireless Lab). Jako adresu MAC klienta polecenie aireplay-ng użyje arbitralnie wybranego adresu aa:aa:aa:aa:aa:aa. Aby się o tym przekonać, uruchom program Wireshark i rozpocznij przechwytywanie pakietów przy użyciu filtra wlan.addr == aa:aa:aa:aa:aa:aa:
68
Rozdział 3. • Omijanie uwierzytelniania sieci WLAN
7. Polecenie aireplay-ng wyświetli na ekranie informację o tym, czy proces uwierzytelniania zakończył się powodzeniem (lub nie):
8. Powodzenie uwierzytelniania można również zweryfikować przy użyciu programu Wireshark, w którym cały proces powinien wyglądać tak, jak na rysunku poniżej:
69
BackTrack 5. Testy penetracyjne sieci WiFi
9. Pierwszy pakiet to żądanie uwierzytelnienia przesłane przez polecenie aireplay-ng do punktu dostępowego:
10. Drugi pakiet zawiera tekst wezwania przesyłany przez punkt dostępowy do klienta, tak jak to zostało pokazane na kolejnym rysunku:
70
Rozdział 3. • Omijanie uwierzytelniania sieci WLAN
11. W trzecim pakiecie polecenie aireplay-ng przesyła zaszyfrowaną odpowiedź do punktu dostępowego:
12. Ze względu na to, że polecenie aireplay-ng wykorzystało pozyskany wcześniej z nasłuchu pasywnego strumień klucza, proces uwierzytelniania kończy się powodzeniem i w czwartym pakiecie punkt dostępowy wysyła do klienta komunikat o pomyślnym zakończeniu całego procesu:
71
BackTrack 5. Testy penetracyjne sieci WiFi
13. Po otrzymaniu potwierdzenia, że proces uwierzytelniania zakończył się powodzeniem, polecenie aireplay-ng wysyła do punktu dostępowego sfałszowane żądanie skojarzenia (ang. Association Request), które również kończy się powodzeniem:
14. Jeżeli teraz przy użyciu przeglądarki sieciowej połączysz się z terminalem konfiguracyjnym punktu dostępowego, w dzienniku połączeń sieci bezprzewodowej powinieneś zobaczyć, że klient o adresie MAC AA:AA:AA:AA:AA:AA:AA:AA jest podłączony.
72
Rozdział 3. • Omijanie uwierzytelniania sieci WLAN
Co się stało? W tym ćwiczeniu udało Ci się pozyskać strumień klucza z wymiany pakietów, która miała miejsce pomiędzy uprawnionym klientem a punktem dostępowym pracującym w trybie uwierzytelniania ze współdzielonym kluczem, a następnie użyłeś tego strumienia do sfałszowania uwierzytelniania i uzyskania połączenia z punktem dostępowym.
Zrób to sam — wypełnianie tablic połączeń punktu dostępowego Punkty dostępowe posiadają limit jednocześnie podłączonych klientów, po osiągnięciu którego po prostu odrzucają wszystkie kolejne żądania podłączenia. Poprzez napisanie prostego skryptu wykorzystującego polecenie aireplay-ng możesz zautomatyzować cały proces fałszowania uwierzytelniania i rozpocząć wysyłanie do punktu dostępowego setek żądań połączenia z różnymi, losowo dobranymi adresami MAC, co szybko spowoduje zapełnienie wewnętrznych tablic połączeń punktu dostępowego, a tym samym osiągnięcie maksymalnej liczby klientów i wstrzymanie przyjmowania kolejnych połączeń. Taka operacja jest typowym przykładem ataku DoS (ang. Denial of Service), który może spowodować niedostępność punktu dostępowego, a wtedy konieczne będzie jego zrestartowanie, co z kolei wymusi rozłączenie wszystkich uprawnionych klientów i uniemożliwi im korzystanie z połączenia sieciowego. Sprawdź, czy potrafisz zrealizować taki scenariusz w swoim laboratorium.
Szybki quiz — uwierzytelnianie w sieciach WLAN 1. Aby wymusić rozłączenie klienta z punktem dostępowym i ponowne podłączenie, powinieneś: a) Wysłać pakiet anulowania uwierzytelnienia. b) Zrestartować klienta. c) Zrestartować punkt dostępowy. d) Wykonać wszystkie operacje wymienione powyżej. 2. Uwierzytelnianie z otwartym dostępem: a) Zapewnia odpowiedni poziom bezpieczeństwa sieci. b) Nie zapewnia sieci żadnego bezpieczeństwa. c) Wymaga użycia szyfrowania. d) Żadna z powyższych odpowiedzi nie jest poprawna. 3. Złamanie uwierzytelniania ze współdzielonym kluczem polega na: a) Pozyskaniu strumienia klucza z pakietów przesyłanych między uprawnionym klientem a punktem dostępowym. b) Pozyskaniu współdzielonego klucza szyfrującego. c) Wysyłaniu pakietów anulowania uwierzytelnienia do punktu dostępowego. d) Zrestartowaniu punktu dostępowego.
73
BackTrack 5. Testy penetracyjne sieci WiFi
Podsumowanie Z tego rozdziału dowiedziałeś się, że w sieciach WLAN: Q Ukrywanie identyfikatorów SSID sieci to typowy przykład stosowania metody zabezpieczenie przez utajnienie (ang. security by obscurity), która w praktyce jest łatwa do przełamania i nie zapewnia sieci praktycznie żadnego bezpieczeństwa. Q Filtrowanie adresów MAC również nie zapewnia żadnego bezpieczeństwa, ponieważ w sieciach bezprzewodowych adresy MAC uprawnionych klientów mogą być łatwo przechwycone poprzez pasywne nasłuchiwanie ruchu sieciowego. Dzieje się tak dlatego, że adresy MAC w przesyłanych pakietach nie są szyfrowane. Q Uwierzytelnianie z otwartym dostępem w rzeczywistości nie zapewnia żadnego
uwierzytelniania. Q Uwierzytelnianie ze współdzielonym kluczem jest znacznie trudniejsze do ominięcia, ale przy użyciu odpowiednich narzędzi możliwe jest pozyskanie z przechwyconych pakietów strumienia klucza i wykorzystanie go do generowania odpowiedzi na kolejne wezwania przesyłane przez punkt dostępowy. Dzięki takiemu rozwiązaniu można pomyślnie przejść proces uwierzytelniania i połączyć się z punktem dostępowym bez znajomości samego współdzielonego klucza. W kolejnym rozdziale przyjrzymy się innym mechanizmom szyfrowania wykorzystywanym w sieciach WLAN, takim jak WEP, WPA i WPA2, omówimy też słabe strony każdego z nich i udowodnimy ich podatność na atak.
74
4 Słabe strony protokołów szyfrowania w sieciach WLAN „640 kB pamięci operacyjnej to więcej, niż ktokolwiek kiedykolwiek będzie potrzebować”. Bill Gates, założyciel firmy Microsoft
Nawet mając najlepsze chęci, nie jesteśmy w stanie przewidzieć przyszłości. Organizacje zajmujące się standaryzacją połączeń bezprzewodowych jeszcze nie tak dawno temu uznały, że standardy WEP i nieco później również WPA zapewniają odporne na błędy i ataki mechanizmy szyfrowania. Niestety, po upływie pewnego czasu okazało się, że obie metody posiadają poważne luki w zabezpieczeniach. Szczegóły dowodzące ich podatności na ataki zostały upublicznione i były wykorzystywane do zaatakowania wielu sieci bezprzewodowych na całym świecie.
Mechanizmy szyfrowania wykorzystywane w bezprzewodowych sieciach WLAN mają długą i niezbyt chlubną historię podatności na mniej lub bardziej zaawansowane ataki kryptograficzne. Wszystko zaczęło się w roku 2001, kiedy po raz pierwszy udało się całkowicie złamać zabezpieczenia szyfrowania metodą WEP, a obecnie coraz częściej słyszy się o potencjalnie udanych atakach na sieci wykorzystujące szyfrowanie WPA. Co prawda, nadal nie znaleziono metody pozwalającej na przełamywanie standardu WPA w każdym przypadku, ale znane są przykłady ataków zakończonych powodzeniem w pewnych określonych okolicznościach. W tym rozdziale będziemy omawiali następujące zagadnienia: Q Różne standardy szyfrowania wykorzystywane w sieciach WLAN. Q Sposoby ataków i łamania zabezpieczeń sieci z szyfrowaniem WEP. Q Sposoby ataków i łamania zabezpieczeń sieci z szyfrowaniem WPA.
BackTrack 5. Testy penetracyjne sieci WiFi
Szyfrowanie w sieciach WLAN W sieciach WLAN pakiety danych przesyłane są bezprzewodowo, dlatego odpowiednie zabezpieczenie transmisji stało się sprawą priorytetową. Najlepszym sposobem zabezpieczenia przesyłanych danych jest ich szyfrowanie. Zgodnie ze standardem IEEE 802.11 w sieciach WLAN wykorzystywane są następujące protokoły szyfrowania przesyłanych danych: Q WEP (ang. Wired Equivalent Privacy). Q WPA (ang. WiFi Protected Access). Q WPA2 (ang. WiFi Protected Access v2).
W dalszej części tego rozdziału omówimy poszczególne protokoły szyfrowania oraz przedstawimy metody ataków na każdy z nich.
Szyfrowanie WEP Co prawda, pierwsze luki w zabezpieczeniach protokołu WEP zostały odkryte już w 2001, ale mimo to nadal jest on dosyć powszechnie wykorzystywany i produkowane obecnie punkty dostępowe wciąż mają wbudowaną obsługę tego protokołu. Protokół WEP jest bardzo podatny na różnego rodzaju ataki kryptograficzne, które opisywali między innymi J. Walker, W. Arbaugh, S. Fluhrer, I. Martin, A. Shamir czy użytkownik kryjący się pod pseudonimem KoreK. Opisywanie szczegółów podatności kryptograficznej protokołu WEP wykracza oczywiście daleko poza ramy tej książki i wymaga dobrej znajomości złożonego aparatu matematycznego. W naszej książce skoncentrujemy się zatem na praktycznych aspektach ataku na zabezpieczenia protokołu WEP, czyli inaczej mówiąc, powiemy, jak złamać zabezpieczenia protokołu WEP przy użyciu narzędzi dostępnych na platformie BackTrack, takich jak pakiet Aircrack-Ng, w którego skład wchodzą polecenia airmon-ng, aireplay-ng, airodump-ng, aircrack-ng i inne. A zatem do dzieła — w naszym laboratorium przygotujemy sieć z protokołem WEP i pokażemy, jak można się do niej włamać.
Czas na działanie — przełamywanie zabezpieczeń protokołu WEP Uważnie wykonaj polecenia opisane poniżej: 1. Najpierw musisz przy użyciu przeglądarki sieciowej podłączyć się do terminala konfiguracyjnego punktu dostępowego sieci Wireless Lab i przejść do sekcji ustawień, w której można wybierać metody szyfrowania połączeń sieci bezprzewodowej:
76
Rozdział 4. • Słabe strony protokołów szyfrowania w sieciach WLAN
2. Można tego dokonać poprzez wybranie z listy rozwijanej Security Mode opcji WEP. Oprócz tego musisz również wybrać długość klucza WEP. Jak widać na rysunku zamieszczonym poniżej, my wybraliśmy klucz WEP o długości 128 bitów. Opcję Default WEP Key (domyślny klucz WEP) ustawiliśmy na wartość WEP Key 1, a jako 128-bitowy klucz WEP został użyty następujący ciąg wartości szesnastkowych: abcdefabcdefabcdefabcdef12. Oczywiście w swoim laboratorium możesz wybrać zupełnie inne ustawienia (patrz pierwszy rysunek na następnej stronie). 3. Po zakończeniu konfiguracji punkt dostępowy powinien udostępniać sieć Wireless Lab zabezpieczoną protokołem WEP. Teraz możesz przystąpić do odpowiedniego skonfigurowania komputera, za pomocą którego przeprowadzisz atak. 4. Otwórz okno terminala i włącz interfejs sieciowy Wlan0, wykonując polecenie ifconfig wlan0 up. Następnie wykonaj polecenie airmon-ng start wlan0, które spowoduje utworzenie interfejsu mon0, pracującego w trybie monitora, tak jak to zostało zilustrowane na kolejnym rysunku. Aby sprawdzić, czy interfejs mon0 został poprawnie utworzony, powinieneś użyć polecenia iwconfig (patrz drugi rysunek na następnej stronie)
77
BackTrack 5. Testy penetracyjne sieci WiFi
78
Rozdział 4. • Słabe strony protokołów szyfrowania w sieciach WLAN
5. Do zlokalizowania punktu dostępowego, który będzie celem ataku, należy użyć polecenia airodump-ng. Aby to zrobić, z poziomu okna terminala wykonaj polecenie airodump-ng mon0. Jeżeli wszystko działa poprawnie, wyniki dla tego polecenia powinny ujawnić obecność punktu dostępowego sieci Wireless Lab, pracującego z protokołem WEP, co przedstawiono na następnym rysunku.
6. Ciebie interesuje tylko sieć Wireless Lab, dlatego powinieneś wykonać polecenie airodump-ng –bssid 00:21:91:D2:8E:25 --channel 11 --write WEPCrackingDemo mon0, dzięki któremu wyświetlane będą tylko pakiety pochodzące z tej sieci. Oprócz tego użycie dyrektywy --write spowoduje, że polecenie airodump-ng
będzie zapisywało przechwytywane pakiety w pliku pcap o nazwie WEPCrackingDemo:
7. Teraz można użyć znanego nam klucza WEP abcdefabcdefabcdefabcdef12 i podłączyć klienta bezprzewodowego do punktu dostępowego. Jeżeli połączenie zakończy się pomyślnie, powinieneś zobaczyć to na ekranie w wynikach działania polecenia airodump-ng:
79
BackTrack 5. Testy penetracyjne sieci WiFi
8. Jeżeli wykonasz teraz polecenie ls, w bieżącym katalogu roboczym powinieneś zobaczyć pliki o nazwach rozpoczynających się od prefiksu WEPCrackingDemo-*, tak jak to zostało przedstawione na rysunku poniżej. Są to pliki utworzone przez polecenie airodump i zawierające pakiety przechwycone z sieci bezprzewodowej Wireless Lab:
9. Jeżeli przyjrzysz się wynikom działania polecenia airodump-ng, to z pewnością zauważysz, że liczba przechwyconych pakietów, wyświetlona w kolumnie #Data, jest bardzo mała (tylko 68 pakietów). Do wykorzystania słabości protokołu WEP i przeprowadzenia pomyślnego ataku potrzebna będzie znacznie większa liczba przechwyconych pakietów, zaszyfrowanych przy użyciu tego samego klucza. Z tego powodu trzeba jakoś zmusić sieć do „wyprodukowania” większej liczby pakietów danych. Aby to zrobić, należy użyć polecenia aireplay-ng:
10. Dzięki użyciu polecenia aireplay-ng będzie można przechwytywać pakiety ARP i następnie z powrotem je wstrzykiwać do sieci, symulując odpowiedzi na żądania ARP. Polecenie aireplay-ng uruchom w osobnym oknie terminala, tak jak to zostało przedstawione na rysunku poniżej. Powtarzając wysyłanie tych pakietów kilka tysięcy razy, wygenerujesz w sieci całkiem spory ruch. Chociaż polecenie aireplay-ng nie zna klucza WEP używanego w atakowanej sieci, to nadal jest w stanie
80
Rozdział 4. • Słabe strony protokołów szyfrowania w sieciach WLAN
zidentyfikować pakiety ARP, bazując na sprawdzaniu rozmiarów przesyłanych pakietów. ARP jest protokołem o stałej długości nagłówka, dzięki czemu rozmiar pakietów ARP przesyłanych w sieci może być łatwo ustalony i użyty do ich wyszukania wśród pozostałych pakietów, nawet wówczas, gdy przesyłane pakiety są zaszyfrowane. Do wykonania takiej operacji użyj polecenia aireplay-ng z następującymi opcjami: -3 powoduje powtarzanie pakietów ARP, -b pozwala na określenie identyfikatora BSSID sieci, a -h pozwala na zdefiniowanie adresu MAC klienta, pod którego się podszywamy. Trzeba tak zrobić, ponieważ atak polegający na powtarzaniu pakietów jest skuteczny tylko wtedy, gdy pakiety są wysyłane przez klienta, który został pomyślnie „uwierzytelniony” i przypisany do punktu dostępowego.
11. Niemal od razu po uruchomieniu polecenie aireplay-ng rozpocznie przechwytywanie pierwszych pakietów ARP i wstrzykiwanie ich ponownie do sieci:
12. W tej samej chwili polecenie airodump-ng rozpocznie przechwytywanie dużej liczby pakietów danych. Wszystkie przechwycone pakiety zostają zapisane na dysku w plikach WEPCrackingDemo-*, które widziałeś już przed chwilą:
13. Teraz wreszcie możesz przystąpić do właściwego procesu „łamania” zabezpieczeń protokołu WEP. Aby to zrobić, otwórz nowe okno terminala i uruchom polecenie aircrack-ng, podając jako argument wywołania nazwę pliku WEPCrackingDemo-01.cap. Polecenie aircrack-ng rozpocznie analizę i próbę złamania klucza WEP na podstawie pakietów danych zapisanych w pliku. Zwróć uwagę, że dobrym rozwiązaniem jest jednoczesne uruchomienie polecenia airodump-ng przechwytującego i zapisującego pakiety WEP, polecenia aireplay-ng przeprowadzającego atak metodą powtarzania
81
BackTrack 5. Testy penetracyjne sieci WiFi
pakietów oraz polecenia aircrack-ng próbującego złamać klucz WEP z wykorzystaniem przechwyconych do tej pory pakietów. W tym doświadczeniu każde z tych poleceń pracowało w osobnym oknie terminala:
14. Po uruchomieniu polecenia aircrack-ng pracującego nad złamaniem klucza WEP okno terminala powinno wyglądać mniej więcej tak:
15. Liczby pakietów danych niezbędnych do przeprowadzenia pomyślnego ataku na klucz WEP nie można w prosty i powtarzalny sposób wyznaczyć, ale z doświadczeń wynika, że powinna wynosić kilkaset tysięcy lub więcej. W przypadku szybkich sieci o dużym natężeniu ruchu (lub w przypadku użycia polecenia aireplay-ng) czas niezbędny do zebrania takiej liczby pakietów to od 5 do 10 minut. Jeżeli liczba pakietów danych zapisanych w danej chwili w pliku jest niewystarczająca, polecenie aircrack-ng zawiesi pracę do czasu zebrania większej liczby pakietów, tak jak to zostało zaprezentowane na rysunku poniżej, a po jej osiągnięciu automatycznie wznowi pracę:
82
Rozdział 4. • Słabe strony protokołów szyfrowania w sieciach WLAN
16. Po przechwyceniu i zapisaniu odpowiedniej liczby pakietów polecenie aircrack-ng powinno być w stanie złamać klucz WEP. Kiedy tak się stanie, na ekranie pojawi się odpowiedni komunikat zawierający odkryty klucz i polecenie zakończy działanie, jak przedstawiono na kolejnym rysunku:
17. Warto zauważyć, że protokół WEP jest całkowicie podatny na taki atak i każdy klucz WEP (niezależnie od tego, jak bardzo złożony) zostanie złamany przez polecenie aircrack-ng. Jedynym elementem potrzebnym do przeprowadzenia takiego ataku jest zebranie odpowiedniej liczby pakietów zaszyfrowanych przy użyciu tego klucza, zapisanie ich w pliku i podanie tego pliku jako argumentu wywołania polecenia aircrack-ng.
Co się stało? W tym ćwiczeniu skonfigurowałeś punkt dostępowy tak, aby pracował z szyfrowaniem WEP, a następnie przeprowadziłeś pomyślny atak pozwalający na złamanie klucza szyfrowania WEP. Aby tego dokonać, najpierw musiałeś poczekać, aż uprawniony klient podłączy się do punktu dostępowego. Później użyłeś polecenia aireplay-ng do przeprowadzenia ataku polegającego
83
BackTrack 5. Testy penetracyjne sieci WiFi
na powtarzaniu pakietów ARP, co spowodowało znaczące zwiększenie liczby pakietów danych przesyłanych w atakowanej sieci. Na koniec wykorzystałeś kryptologiczną podatność protokołu WEP na atak i użyłeś polecenia aircrack-ng do złamania klucza WEP. Warto zauważyć, że proces uwierzytelniania połączenia z punktem dostępowym można sfałszować przy użyciu techniki omijania uwierzytelniania ze współdzielonym kluczem, opisywanej w poprzednim rozdziale. Takie rozwiązanie może być bardzo wygodne, jeżeli uprawniony klient zakończy sesję i odłączy się od sieci. Użycie tej techniki powoduje, że w takiej sytuacji nadal będziesz w stanie naśladować uwierzytelnionego klienta i kontynuować atak metodą powtarzania pakietów wstrzykiwanych do sieci.
Zrób to sam — fałszywe uwierzytelnianie podczas łamania klucza WEP W poprzednim ćwiczeniu, jeżeli uprawniony klient, którego adresu MAC użyłeś, nagle odłączyłby się od sieci, nie byłbyś w stanie kontynuować ataku metodą powtarzania pakietów, ponieważ punkt dostępowy nie przyjmuje pakietów nadchodzących od klientów, którzy nie są uwierzytelnieni. Twoim zadaniem będzie sfałszowanie uwierzytelnienia i przypisanie fałszywego klienta do punktu dostępowego przy użyciu w trakcie łamania klucza WEP techniki omijania uwierzytelniania ze współdzielonym kluczem, o której mówiliśmy w poprzednim rozdziale. Aby sprawdzić poprawność działania swojego rozwiązania, powinieneś odłączyć uprawnionego klienta od punktu dostępowego i zobaczyć, czy nadal jesteś w stanie wstrzykiwać pakiety do sieci oraz czy punkt dostępowy przyjmuje takie żądania i na nie odpowiada.
Szyfrowanie WPA/WPA2 Protokół WPA (ang. WiFi Protected Access), nazywany czasami również protokołem WPA1, głównie wykorzystuje algorytm szyfrowania o nazwie TKIP (ang. Temporal Key Integrity Protocol). Algorytm TKIP został opracowany przede wszystkim z myślą o ulepszeniu protokołu WEP tak, aby uzyskać zwiększenie jego odporności na ataki bez konieczności wprowadzania znaczących zmian sprzętowych w używanych do tej pory urządzeniach sieciowych. Dla porównania protokół WPA2 wykorzystuje do szyfrowania algorytm AES-CCMP (ang. Advanced Encryption Standard-Counter Mode with Cipher Block Chaining Message Authentication Code Protocol), który jest znacznie silniejszy i odporniejszy na ataki niż algorytm TKIP. Zarówno protokół WPA, jak i WPA2 pozwalają na uwierzytelnianie opierające się na EAP (ang. Extensible Authentication Protocol), z wykorzystaniem serwera Radius (ang. Remote Authentication Dial In User Service) w środowiskach korporacyjnych lub protokołu PSK (ang. Pre-Shared Key) do zastosowań osobistych.
84
Rozdział 4. • Słabe strony protokołów szyfrowania w sieciach WLAN
Szyfrowanie metodami WPA/WPA2 jest podatne na ataki słownikowe. Do przeprowadzenia ataku niezbędne jest wcześniejsze przechwycenie wymiany pakietów przesyłanych między klientem a punktem dostępowym podczas czteroetapowych negocjacji uwierzytelniania (ang. four-way handshake). Potrzebny jest też odpowiedni słownik zawierający listę najczęściej używanych haseł. Następnie, używając narzędzi takich jak aircrack-ng, można przystąpić do próby złamania klucza WPA/WPA2 PSK. Na rysunku poniżej widać przebieg wymiany pakietów przesyłanych między klientem a punktem dostępowym podczas czteroetapowych negocjacji uwierzytelniania:
Działanie szyfrowania WPA/WPA2 PSK opiera się na wyliczeniu klucza sesji nazywanego PTK (ang. Pairwise Transient Key) przy użyciu znanego wcześniej klucza PSK (ang. Pre-Shared Key) oraz pięciu innych parametrów: identyfikatora SSID sieci, wartości losowej ANonce generowanej przez serwer (ang. Authenticator Nonce), wartości losowej SNonce generowanej przez klienta-suplikanta (ang. Supplicant Nonce), adresu MAC punktu dostępowego (czyli adresu MAC serwera uwierzytelniającego) oraz adresu MAC klienta bezprzewodowego (adres MAC suplikanta). Wyliczony klucz PTK jest następnie używany do szyfrowania wszystkich danych przesyłanych między klientem a punktem dostępowym. Potencjalny napastnik nasłuchujący takiej wymiany pakietów może bez trudu przechwycić wszystkie pięć parametrów opisanych w poprzednim akapicie, dlatego jedynym elementem układanki, którego nie posiada, jest klucz PSK. Nasuwa się zatem pytanie, jak tworzony jest klucz PSK. Otóż klucz PSK jest tworzony na podstawie hasła PSK (tekstu szyfrującego) znanego użytkownikowi oraz identyfikatora sieci SSID. Kombinacja tych dwóch elementów jest podawana jako argument wywołania funkcji PBKDF2 (ang. Password Based Key Derivation Function), której wynikiem działania jest 256-bitowy klucz współdzielony.
85
BackTrack 5. Testy penetracyjne sieci WiFi
W typowym ataku słownikowym na sieci wykorzystujące szyfrowanie WPA/WPA2 PSK napastnik będzie korzystał z rozbudowanego słownika zawierającego listę potencjalnych haseł i odpowiedniego narzędzia pozwalającego na szybkie ich sprawdzanie. Narzędzie wylicza 256-bitowy klucz PSK na podstawie każdego z haseł i wykorzystuje go (łącznie z pozostałymi parametrami opisanymi wcześniej) do utworzenia klucza PTK. Następnie klucz PTK jest używany do sprawdzenia kodu MIC (ang. Message Integrity Check), odpowiedzialnego za integralność danych w jednym z pakietów przesyłanych podczas czteroetapowych negocjacji uwierzytelnienia. Jeżeli sprawdzenie zakończy się powodzeniem, oznacza to, że dane hasło ze słownika odpowiada tekstowi szyfrującemu PSK atakowanej sieci. Jeżeli nie, ze słownika pobierane jest kolejne hasło i cały proces powtarza się. Jak widać, jeśli tekst szyfrujący PSK (hasło) znajduje się w słowniku haseł napastnika, to wcześniej czy później zostanie odszukany i zidentyfikowany. Właśnie tak przebiega atak na sieci wykorzystujące szyfrowanie WPA/WPA2 PSK! Cały proces został zilustrowany na rysunku zamieszczonym poniżej:
W kolejnym ćwiczeniu pokażemy, jak w praktyce możesz przeprowadzić atak na sieci bezprzewodowe wykorzystujące szyfrowanie WPA PSK. Warto zauważyć, że atak na sieć bezprzewodową korzystającą z szyfrowania WPA2 PSK z algorytmem CCMP(AES) będzie przebiegał dokładnie tak samo.
Czas na działanie — łamanie słabych haseł w sieciach z szyfrowaniem WPA PSK Uważnie wykonaj polecenia opisane poniżej: 1. Najpierw przy użyciu przeglądarki sieciowej podłącz się do terminala konfiguracyjnego punktu dostępowego sieci laboratoryjnej Wireless Lab i skonfiguruj punkt dostępowy tak, aby korzystał z szyfrowania WPA PSK. Jako hasła WPA PSK użyj ciągu znaków abcdefgh, dzięki czemu będzie ono podatne na atak słownikowy: 86
Rozdział 4. • Słabe strony protokołów szyfrowania w sieciach WLAN
2. Otwórz okno terminala i wykonaj polecenie airodump-ng –bssid 00:21:91:D2:8E:25 –channel 11 –write WPACrackingDemo mon0, które rozpocznie przechwytywanie i zapisywanie na dysku pakietów przesyłanych w sieci Wireless Lab:
3. Teraz musisz poczekać, aż jakiś uprawniony klient podłączy się do punktu dostępowego, dzięki czemu będziesz w stanie przechwycić pakiety czteroetapowych negocjacji uwierzytelniania. Zamiast tego możesz oczywiście wstrzyknąć do sieci pakiet anulowania uwierzytelnienia, który wymusi rozłączenie i ponowne przyłączenie się klientów. Aby nie czekać na nowego klienta sieci i przyspieszyć cały atak, skorzystaj z tego drugiego rozwiązania:
87
BackTrack 5. Testy penetracyjne sieci WiFi
4. Po przechwyceniu przebiegu czteroetapowych negocjacji uwierzytelniania polecenie airodump-ng poinformuje Cię o tym, wyświetlając w prawym górnym rogu ekranu komunikat WPA Handshake, a następnie identyfikator BSSID punktu dostępowego:
5. Teraz możesz już zatrzymać polecenie airodump-ng. Następnie uruchom program Wireshark, otwórz w nim plik pcap zawierający przechwycone pakiety i przyjrzyj się przebiegowi czteroetapowych negocjacji uwierzytelniania. Pakiety w oknie programu Wireshark powinny wyglądać mniej więcej tak, jak na rysunku zamieszczonym poniżej. Pierwszy pakiet negocjacji został zaznaczony. Pakiety biorące udział w negocjacjach uwierzytelniania w kolumnie Protocol mają wartość EAPOL, a w kolumnie Info — wartość Key:
88
Rozdział 4. • Słabe strony protokołów szyfrowania w sieciach WLAN
6. W tym momencie możesz rozpocząć właściwy proces łamania klucza. Aby to zrobić, będzie Ci potrzebny słownik zawierający listę najczęściej wykorzystywanych haseł. System BackTrack jest wyposażony w taki słownik — znajduje się on w pliku o nazwie darc0de.lst, który jest zlokalizowany w katalogu /pentest/passwords/wordlists, co widać na kolejnym rysunku. Warto zauważyć, że szanse powodzenia ataku na sieci WPA zależą głównie od tego, w jak dobry słownik haseł jesteś wyposażony. BackTrack posiada kilka gotowych słowników, aczkolwiek w wielu sytuacjach będą one niewystarczające. Hasła wybierane przez administratorów sieci bezprzewodowych zależą od wielu różnych czynników, na przykład elementem hasła mogą być ulubione tematy administratora, nazwa kraju, w którym działa dana sieć, nazwy powszechnie występujące w danym regionie, wpływ ma również znajomość zagadnień związanych z bezpieczeństwem sieci przez administratora i użytkowników sieci itp. Przed przeprowadzeniem audytu bezpieczeństwa, w skład którego wchodzą testy penetracyjne sieci bezprzewodowych, warto przygotować sobie wcześniej obszerne słowniki uwzględniające lokalną specyfikę danej sieci:
7. Teraz uruchom polecenie aircrack-ng i jako argumenty wywołania podaj nazwę pliku pcap zawierającego przechwycone pakiety oraz ścieżkę do pliku słownika, tak jak to zostało przedstawione na rysunku poniżej:
8. Polecenie aircrack-ng będzie używało pliku słownika do sprawdzania kolejnych haseł i złamania klucza szyfrowania. Jeżeli hasło używane w sieci znajduje się w pliku słownika, po pewnym czasie zostanie odszukane i polecenie aircrack-ng powiadomi Cię o tym, wyświetlając na ekranie odpowiednie informacje; pokazuje to kolejny rysunek:
89
BackTrack 5. Testy penetracyjne sieci WiFi
9. Warto w tym miejscu zwrócić uwagę, że ponieważ przeprowadzamy atak słownikowy, warunkiem jego powodzenia jest to, że właściwe hasło musi znajdować się w słowniku, który przekazujesz jako argument wywołania polecenia aircrack-ng. Jeżeli hasła nie ma w słowniku, atak zakończy się niepowodzeniem!
Co się stało? Najpierw skonfigurowałeś laboratoryjny punkt dostępowy tak, aby sieć bezprzewodowa korzystała z szyfrowania WPA PSK, i jako hasło wybrałeś ciąg znaków abcdefgh. Następnie przeprowadziłeś udany atak polegający na anulowaniu uwierzytelnienia klientów (ang. deauthentication attack), który wymusił rozłączenie uprawnionych klientów i ich ponowne podłączenie do punktu dostępowego. Dzięki temu mogłeś przechwycić pakiety wymieniane między klientem a punktem dostępowym podczas czteroetapowego negocjowania uwierzytelnienia. Ponieważ protokół WPA PSK jest podatny na atak słownikowy, jako parametrów wywołania polecenia aircrack-ng użyłeś pliku pcap z przechwyconymi pakietami oraz pliku słownika, zawierającego obszerną listę potencjalnych haseł. Hasło abcdefgh znajdowało się w słowniku użytym podczas ataku, dlatego polecenie aircrack-ng było w stanie je odszukać i złamać klucz szyfrowania WPA PSK. Ponownie należy zauważyć, że ponieważ opisana metoda ataku na sieci WPA PSK jest metodą słownikową, jest ona na tyle skuteczna, na ile obszerny jest słownik użyty podczas ataku. Z tego powodu bardzo istotnym elementem metodologii takiego ataku jest uprzednie przygotowanie właściwego słownika, obejmującego zarówno powszechnie używane słowa, jak i ciągi znaków oraz elementy związane ze specyfiką sieci będącej przedmiotem ataku. Choć system BackTrack posiada swój własny słownik, to w większości przypadków zapewne okaże się on niewystarczający i niezbędne będzie jego rozbudowanie o inne, wspomniane wcześniej elementy.
Zrób to sam — łamanie szyfrowania WPA-PSK przy użyciu pakietu Cowpatty Cowpatty to narzędzie, za pomocą którego również możesz przeprowadzić atak słownikowy na hasło WPA PSK. Narzędzie to jest częścią dystrybucji BackTracka. W ramach ćwiczenia powinieneś spróbować użyć pakietu Cowpatty do przeprowadzenia ataku na hasło WPA PSK. Kolejnym sposobem godnym wypróbowania jest użycie hasła, którego z pewnością nie ma w użytym słowniku, i ponowne przeprowadzenie ataku. Oczywiście w takiej sytuacji zarówno w przypadku polecenia aircrack-ng, jak i cowpatty atak zakończy się niepowodzeniem. Warto zauważyć, że taki sam atak można przeprowadzić nawet na sieci korzystające z szyfrowania WPA2 PSK. Podejmij próbę zaatakowania takiej sieci.
90
Rozdział 4. • Słabe strony protokołów szyfrowania w sieciach WLAN
Przyspieszanie procesu łamania szyfrowania WPA/WPA2 PSK Jak przekonałeś się w poprzednim podrozdziale, jeżeli hasło PSK znajduje się w użytym słowniku, to atak opisaną wcześniej metodą słownikową będzie się charakteryzował 100-procentową skutecznością. W takim razie dlaczego nie moglibyśmy po prostu utworzyć ogromnego słownika zawierającego miliony haseł i kombinacji znaków używanych powszechnie przez administratorów sieci i użytkowników? Takie rozwiązanie znacznie ułatwiłoby cały proces i pozwoliło przeprowadzić skuteczny atak w zdecydowanej większości przypadków. W teorii brzmi to znakomicie, ale niestety nie wzięliśmy pod uwagę jednego czynnika — czasu przetwarzania. Jedną z operacji, która angażuje największą ilość zasobów procesora i czasu, jest obliczanie klucza PSK przy użyciu funkcji PBKDF2, jako argumenty wywołania otrzymującej hasło PSK oraz identyfikator BSSID sieci. Obliczenie samego 256-bitowego klucza wymaga wykonania za każdym razem 4096 operacji mieszających, co angażuje znaczną moc obliczeniową. W kolejnym etapie obliczony klucz musi zostać użyty w procesie czteroetapowych negocjacji uwierzytelnienia i sprawdzony za pomocą kodu MIC, choć taka operacja nie jest już tak wymagająca z obliczeniowego punktu widzenia. Co więcej, parametry w czteroetapowych negocjacjach uwierzytelniania są za każdym razem inne, co uniemożliwia wcześniejsze przygotowanie predefiniowanych tablic z gotowymi wartościami. A zatem proces łamania można przyspieszyć jedynie przez jak najszybsze obliczanie wartości klucza PSK dla kolejnych haseł słownika. Aby przyspieszyć ten proces, można pokusić się o wcześniejsze obliczenie wartości kluczy PSK dla poszczególnych haseł słownika (w oficjalnej terminologii standardu 802.11 takie klucze noszą nazwę kluczy PMK (ang. Pairwise Master Key). Warto jednak zauważyć, że do obliczania wartości klucza PMK wykorzystywany jest również identyfikator SSID sieci, stąd dla tego samego hasła słownikowego, ale przy innej wartości SSID klucz PMK będzie miał zupełnie inną wartość — czyli inaczej mówiąc, wartość klucza PMK zależy zarówno od hasła, jak i od identyfikatora SSID sieci. W kolejnym ćwiczeniu pokażemy, jak można wcześniej obliczyć wartości kluczy PMK dla poszczególnych haseł słownika i jak użyć tego zestawienia do łamania szyfrowania WPA/WPA2 PSK.
Czas na działanie — przyspieszanie procesu łamania kluczy 1. Jeżeli chcesz wcześniej obliczyć wartości kluczy PMK dla danego słownika i danego identyfikatora SSID sieci, możesz użyć polecenia genpmk. Aby to zrobić, otwórz okno terminala i wpisz następujące polecenie: genpmk –f /pentest/passwords/ wordlists/darkc0de. lst –d PMK-Wireless-Lab –s "Wireless Lab", tak jak to zostało przedstawione na rysunku poniżej. W wyniku działania polecenia zostanie utworzony plik o nazwie PMK-Wireless-Lab, zawierający obliczone wartości kluczy PMK:
91
BackTrack 5. Testy penetracyjne sieci WiFi
2. Teraz skonfiguruj punkt dostępowy tak, aby sieć bezprzewodowa wykorzystywała szyfrowanie WPA PSK z hasłem sky sign (obecne w naszym słowniku), a następnie przechwyć wymianę pakietów, która będzie miała miejsce podczas czteroetapowych negocjacji uwierzytelniania uprawnionego klienta. Po zakończeniu przechwytywania użyj pakietu Cowpatty do złamania hasła WPA, tak jak pokazano na kolejnym rysunku:
3. Złamanie naszego hasła przy użyciu pakietu Cowpatty oraz wcześniej obliczonych tablic wartości kluczy PMK zajęło nieco ponad 7 sekund, co widać na rysunku poniżej:
92
Rozdział 4. • Słabe strony protokołów szyfrowania w sieciach WLAN
4. Dla porównania użyj teraz polecenia aircrack-ng z tym samym plikiem słownika, ale bez wcześniejszego obliczania wartości kluczy PMK. Jak widać na rysunku zamieszczonym poniżej, tym razem cała operacja zajęła ponad 22 minuty, co doskonale obrazuje złożoność wykonywanych obliczeń oraz zysk, jaki daje wcześniejsze obliczenie wartości kluczy PMK:
5. Jeżeli chciałbyś użyć obliczonych wcześniej wartości kluczy PMK do łamania haseł przy użyciu polecenia aircrack-ng, będziesz musiał skorzystać z narzędzia o nazwie airolib-ng. Aby to zrobić, przejdź do okna terminala i wykonaj polecenie
93
BackTrack 5. Testy penetracyjne sieci WiFi
airolib-ng PMK-Aircrack --import cowpatty PMK-Wireless-Lab — PMK-Aircrack to nazwa bazy kluczy PMK w formacie akceptowanym przez polecenie aircrack-ng, która zostanie utworzona na podstawie danych z bazy cowpatty PMK-Wireless-Lab, zapisanej obecnie w formacie genpmk:
6. Po zakończeniu konwersji bazy kluczy PMK możesz użyć jej podczas łamania haseł przy użyciu polecenia aircrack-ng, co oczywiście znacząco przyspieszy cały proces. Aby się o tym przekonać, wykonaj polecenie aircrack-ng –r PMK-Aircrack WPACrackingDemo2-01.cap:
7. W dystrybucji BackTrack znajdziesz również inne narzędzia, takie jak na przykład Pyrit, które pozwolą Ci na użycie do łamania haseł systemów wyposażonych w wiele procesorów. Aby skorzystać z tego polecenia, powinieneś użyć opcji -r do podania nazwy pliku pcap, zawierającego przechwycone pakiety, oraz opcji -i do zdefiniowania bazy kluczy PMK zapisanej w formacie genpmk. W tym samym systemie, którego wcześniej używaliśmy do pracy z innymi narzędziami, złamanie klucza przy użyciu pakietu Pyrit zajęło około 3 sekund (oczywiście korzystając z tej samej bazy kluczy PMK, którą utworzyliśmy wcześniej poleceniem genpmk):
94
Rozdział 4. • Słabe strony protokołów szyfrowania w sieciach WLAN
Co się stało? W tym podrozdziale omawialiśmy różne narzędzia i techniki pozwalające na przyspieszenie łamania haseł WPA/WPA2 PSK. Cała idea takich rozwiązań opiera się na wcześniejszym przygotowaniu bazy kluczy PMK obliczonych dla danego słownika oraz identyfikatora SSID sieci.
Odszyfrowywanie pakietów WEP i WPA We wszystkich dotychczasowych ćwiczeniach różnymi technikami łamałeś klucze WEP i WPA. Ale czego można dokonać przy użyciu tak zdobytych informacji? Pierwszym krokiem będzie deszyfrowanie za pomocą uzyskanych kluczy pakietów danych, które udało się do tej pory przechwycić. W kolejnym ćwiczeniu pokażemy, w jaki sposób możesz deszyfrować przechwycone już pakiety WEP i WPA przy użyciu kluczy, które udało Ci się złamać.
Czas na działanie — deszyfrowanie pakietów WEP i WPA 1. Procesowi deszyfrowania zostaną teraz poddane pakiety zapisane w pliku WEPCrackingDemo.cap, z którego korzystałeś podczas procesu łamania klucza WEP. W ćwiczeniu użyj kolejnego narzędzia z pakietu Aircrack-suite, które nosi nazwę airdecap-ng. Aby to zrobić, otwórz okno terminala i wykonaj polecenie airdecap-ng -w abcdefabcdefabcdefabcdef12 WEPCrackingDemo-01.cap, tak jak zademonstrowano na rysunku poniżej:
95
BackTrack 5. Testy penetracyjne sieci WiFi
2. Odszyfrowane pakiety zostaną zapisane w pliku o nazwie WEPCrackingDemo-01-dec.cap. Do wyświetlenia pierwszych dziesięciu pakietów z tego pliku użyj narzędzia o nazwie tshark. Pamiętaj, że w Twoim przypadku zawartość przechwyconych pakietów może być zupełnie inna:
3. Deszyfrowanie pakietów WPA/WPA2 PSK przy użyciu złamanych wcześniej kluczy i polecenia airdecap-ng odbywa się dokładnie w taki sam sposób. Aby się o tym przekonać, przejdź do okna terminala i wykonaj następujące polecenie: airdecap-ng –p abdefgh WPACrackingDemo-01.cap –e "Wireless Lab":
96
Rozdział 4. • Słabe strony protokołów szyfrowania w sieciach WLAN
Co się stało? Właśnie dowiedziałeś się, jak narzędziem airdecap-ng możesz odszyfrować przechwycone wcześniej i zapisane w pliku pakiety szyfrowane przy użyciu protokołów WEP i WPA/WPA2 PSK. Co ciekawe, dokładnie taką samą operację możesz przeprowadzić, używając pakietu Wireshark. Aby dowiedzieć się, jak to zrobić, powinieneś zajrzeć do dokumentacji pakietu Wireshark.
Podłączanie się do sieci WEP i WPA Po złamaniu klucza szyfrowania sieci bezprzewodowej możesz się do niej z łatwością podłączyć, co może być bardzo przydatne zwłaszcza podczas testów penetracyjnych. Zalogowanie się do testowanej sieci przy użyciu złamanego klucza (oczywiście o ile wcześniej otrzymałeś na to zgodę jej administratora) będzie stanowiło dla Twojego klienta ostateczne potwierdzenie, że jego sieć nie jest odpowiednio zabezpieczona.
Czas na działanie — podłączanie się do sieci wykorzystującej szyfrowanie WEP 1. Po złamaniu klucza WEP możesz się podłączyć do takiej sieci poleceniem iwconfig. Aby to zrobić, użyj klucza WEP, który uzyskałeś w jednym z poprzednich ćwiczeń — abcdefabcdefabcdefabcdef12:
Co się stało? Właśnie dowiedziałeś się, w jaki sposób przy użyciu złamanego wcześniej klucza możesz się podłączyć do sieci wykorzystującej szyfrowanie WEP.
97
BackTrack 5. Testy penetracyjne sieci WiFi
Czas na działanie — podłączanie się do sieci wykorzystującej szyfrowanie WPA 1. W przypadku sieci wykorzystującej szyfrowanie WPA proces podłączania się jest nieco bardziej złożony. Polecenie iwconfig nie może być używane do podłączania się do prywatnych i korporacyjnych sieci WPA/WPA2, ponieważ po prostu nie obsługuje takich połączeń. Z tego powodu w tym ćwiczeniu należy skorzystać z nowego narzędzia o nazwie WPA_supplicant. Aby użyć go do podłączenia się do wybranej sieci bezprzewodowej, najpierw musisz utworzyć odpowiedni plik konfiguracyjny, tak jak przedstawiono na rysunku poniżej. Plikowi nadaj nazwę wpa-supp.conf:
2. Po utworzeniu pliku konfiguracyjnego możesz podłączyć się do sieci WPA. Aby to zrobić, przejdź do okna terminala i wykonaj polecenie wpa_supplicant -Dwext -iwlan0 –c wpa-supp.conf. Gdy uzyskasz poprawne połączenie, polecenie wpa_supplicant poinformuje Cię o tym, wyświetlając na ekranie komunikat Connection to XXXX completed:
3. Po uzyskaniu połączenia, zarówno w przypadku sieci WEP, jak i WPA, powinieneś użyć polecenia dhcpclient3 do uzyskania odpowiedniego adresu IP z serwera DHCP, tak jak to zostało przedstawione na rysunku zamieszczonym poniżej:
98
Rozdział 4. • Słabe strony protokołów szyfrowania w sieciach WLAN
Co się stało? Popularne i często wykorzystywane narzędzie iwconfig nie może być używane do łączenia się z sieciami WPA/WPA2. Jeżeli chcesz się podłączyć do takich sieci, powinieneś użyć narzędzia o nazwie wpa_supplicant. Z tego ćwiczenia dowiedziałeś się, w jaki sposób możesz użyć wspomnianego narzędzia do połączenia się z siecią wykorzystującą szyfrowanie WPA.
Szybki quiz — słabe punkty protokołów szyfrowania w sieciach WLAN 1. Jakie pakiety są wykorzystywane podczas ataku metodą powtarzania pakietów? a) Pakiety De-authentication (anulowanie uwierzytelnienia). b) Pakiety Association (żądanie skojarzenia). c) Szyfrowane pakiety ARP. d) Żadne z powyższych. 2. Klucz szyfrowania WEP może być złamany: a) Zawsze. b) Tylko w przypadku używania słabego hasła/klucza. c) Tylko w przypadku zaistnienia specyficznych okoliczności. d) Tylko w przypadku, kiedy punkt dostępowy jest wyposażony w starą wersję oprogramowania.
99
BackTrack 5. Testy penetracyjne sieci WiFi
3. Klucz szyfrowania WPA może być złamany: a) Zawsze. b) Tylko w przypadku używania słabego hasła/klucza. c) Jeżeli klient korzysta ze starej wersji oprogramowania firmware. d) Nawet w sytuacji, kiedy do sieci nie jest podłączony żaden klient.
Podsumowanie W tym rozdziale przeczytałeś o następujących zagadnieniach dotyczących sieci WLAN: Q Szyfrowanie WEP jest całkowicie podatne na ataki i nie gwarantuje bezpieczeństwa,
nawet jeżeli używany klucz jest bardzo złożony — po przechwyceniu odpowiedniej liczby pakietów złamanie klucza WEP jest zawsze możliwe. Q Szyfrowania WPA/WPA2 nie można złamać istniejącymi metodami
kryptograficznymi, aczkolwiek w sytuacji, kiedy sieć WPA/WPA2 PSK korzysta ze słabego, źle dobranego hasła, możliwe jest jego złamanie po przeprowadzeniu ataku metodą słownikową. W kolejnym rozdziale omówimy różne rodzaje ataków na infrastrukturę sieci WLAN, takie jak instalowanie nieautoryzowanych punktów dostępowych (ang. rogue access points), ataki typu evil twins (podstawianie punktów dostępowych udających legalne urządzenia), bit flipping (fałszowanie danych przesyłanych w ramkach) i inne.
100
5 Ataki na infrastrukturę sieci WLAN „Najwyższą formą realizacji sztuki wojennej jest udaremnianie [strategicznych] planów przeciwnika”. Sun Tzu, Sztuka wojny
W tym rozdziale będziemy się zajmować atakami na samą infrastrukturę bezprzewodowych sieci WLAN. W naszych rozważaniach skoncentrujemy się na sposobach penetrowania sieci bezprzewodowych z wykorzystaniem różnych wektorów ataku oraz pokażemy, w jaki sposób można przekonać uprawnionych klientów sieci do zalogowania się do naszego, podstawionego punktu dostępowego.
Infrastruktura sieci WLAN to fundament rozwiązania, którego celem jest dostarczenie usług bezprzewodowych wszystkim uprawnionym klientom. W tym rozdziale będziemy zajmować się różnymi atakami na infrastrukturę sieci bezprzewodowych, jak: Q Wykorzystywanie domyślnych kont dostępu i haseł w punktach dostępowych. Q Ataki typu odmowa usługi (ang. DoS — Denial of Service). Q Podstawione punkty dostępowe udające legalne urządzenia (ataki typu evil twins)
oraz fałszowanie adresów MAC punktów dostępowych. Q Nieautoryzowane punkty dostępowe (ang. rogue access points).
BackTrack 5. Testy penetracyjne sieci WiFi
Domyślne konta i hasła punktów dostępowych Punkty dostępowe to jedne z najważniejszych elementów składowych infrastruktury sieci WLAN. Jednak pomimo iż pełnią one tak kluczową funkcję, pod względem zabezpieczeń są czasami jednym z najbardziej zaniedbywanych elementów tej infrastruktury. W tym ćwiczeniu sprawdzimy, czy domyślne, fabryczne hasła dostępu w naszym punkcie dostępowym zostały zmienione, czy też nie. Następnie spróbujemy sprawdzić, czy nawet jeżeli odpowiednie hasła zostały zmienione, nie są zbyt proste do odgadnięcia lub złamania przy użyciu ataku słownikowego. Pamiętaj, że w miarę przechodzenia do coraz bardziej złożonych zagadnień w kolejnych rozdziałach przyjmujemy założenie, że zapoznałeś się z materiałami opisywanymi w poprzednich rozdziałach, rozumiesz zasady przeprowadzania poszczególnych typów ataków i potrafisz posługiwać się opisywanymi w tych rozdziałach narzędziami. Dzięki temu będzie Ci znacznie łatwiej zrozumieć omawiane zagadnienia, co pozwoli Ci również na przeprowadzanie coraz bardziej złożonych i wyrafinowanych ataków.
Czas na działanie — łamanie domyślnych, fabrycznych haseł punktów dostępowych Uważnie wykonaj polecenia opisane poniżej: 1. Uruchom przeglądarkę sieciową i połącz się z punktem dostępowym sieci Wireless Lab. W naszym przypadku z ekranu logowania możesz się dowiedzieć, że jest to punkt dostępowy typu D-Link DIR-615, co widać na rysunku zamieszczonym poniżej:
2. Ze strony internetowej producenta punktu dostępowego możesz dowiedzieć się, że domyślne konto administratora nosi nazwę Admin i nie jest chronione żadnym hasłem. Dzięki temu po zainstalowaniu i włączeniu nowego punktu dostępowego
102
Rozdział 5. • Ataki na infrastrukturę sieci WLAN
możesz od razu zalogować się do niego na prawach administratora. Jednakże doskonale pokazuje to, jak łatwo można się „włamać” do punktu dostępowego, którego administrator nie zmienił domyślnego, fabrycznego hasła. Przygotowując się do przeprowadzenia testów penetracyjnych, powinieneś zawsze pobrać ze strony producenta podręcznik użytkownika danego modelu punktu dostępowego. Dzięki temu zobaczysz, z jakim sprzętem masz do czynienia, i być może będziesz w stanie znaleźć potencjalne słabe strony takiego urządzenia, które później wykorzystasz podczas testowania.
Co się stało? Dowiedziałeś się, że czasami domyślne konta i hasła instalowane fabrycznie w punktach dostępowych przez niewiedzę lub niedopatrzenie administratorów nie są zmieniane, co można łatwo wykorzystać do szybkiego uzyskania pełnego dostępu do atakowanego systemu. Co więcej, nawet jeżeli domyślne hasło zostało zmienione, należy sprawdzić, czy nie jest ono łatwe do odgadnięcia lub złamania przy użyciu prostego ataku słownikowego.
Zrób to sam — łamanie haseł punktów dostępowych metodą ataku typu brute-force Bazując na poprzednim ćwiczeniu, spróbuj teraz zmienić domyślne hasło punktu dostępowego na coś trudnego do odgadnięcia (możesz również wybrać jakieś bardziej złożone hasło ze słownika), a następnie sprawdź, czy możesz je złamać metodą brutalnej siły (atak typu brute-force). Przystępując do testowania, powinieneś ograniczyć długość hasła i zakres używanych znaków, tak aby atak zakończył się powodzeniem w rozsądnym czasie. Jednym z najpopularniejszych narzędzi używanych do łamania uwierzytelniania HTTP jest pakiet Hydra, który znajdziesz w dystrybucji BackTrack. 103
BackTrack 5. Testy penetracyjne sieci WiFi
Ataki typu odmowa usługi (DoS) Bezprzewodowe sieci WLAN są bardzo podatne na ataki typu odmowa usługi (ang. DoS — Denial of Service), przeprowadzane przy użyciu różnych technik, takich jak: Q Ataki typu anulowanie uwierzytelnienia (ang. Deauthentication attacks). Q Ataki typu anulowanie skojarzenia (ang. Disassociation attacks). Q Ataki typu RTS-CTS (ang. Ready-to-Send/Clear-to-Send). Q Zakłócanie lub zagłuszanie sygnału sieci bezprzewodowej. W zakresie naszej książki mieści się omówienie ataków typu anulowanie uwierzytelnienia, przeprowadzanych na infrastrukturę sieci WLAN.
Czas na działanie — atak DoS typu anulowanie uwierzytelnienia Uważnie wykonaj polecenia opisane poniżej: 1. Używając przeglądarki sieciowej, połącz się z terminalem konfiguracyjnym punktu dostępowego i skonfiguruj go tak, aby sieć korzystała z uwierzytelniania z otwartym dostępem, bez szyfrowania. Dzięki temu będziesz mógł bez problemu obserwować zawartość przesyłanych pakietów przy użyciu programu Wireshark:
104
Rozdział 5. • Ataki na infrastrukturę sieci WLAN
2. Teraz podłącz uprawnionego klienta do punktu dostępowego. W oknie terminala, w którym działa polecenie airodump-ng, możesz zobaczyć, że połączenie jest aktywne:
3. Przejdź do komputera, którego używasz do przeprowadzania ataków, i przy użyciu polecenia aireplay-ng wykonaj selektywny atak typu anulowanie uwierzytelnienia, tak jak to zostało przedstawione na rysunku poniżej:
4. Zwróć uwagę, że wybrany klient całkowicie odłącza się od punktu dostępowego. W razie potrzeby możesz to łatwo zweryfikować w oknie terminala, w którym działa polecenie airodump-ng:
5. Jeżeli do przeglądania ruchu w sieci używasz programu Wireshark, powinieneś zauważyć dużą liczbę pakietów typu anulowanie uwierzytelnienia (ang. Deauthentication), które przed chwilą wysłałeś (patrz pierwszy rysunek na następnej stronie). 6. W razie potrzeby można dokonać podobnego ataku na wszystkich klientów danej sieci. Aby to zrobić, powinieneś, podszywając się pod punkt dostępowy, wysłać rozgłoszeniowy pakiet anulowania uwierzytelnienia (ang. broadcast deauthentication packet), co w efekcie spowoduje wymuszenie rozłączenia wszystkich klientów:
105
BackTrack 5. Testy penetracyjne sieci WiFi
Co się stało? W tym ćwiczeniu udało Ci się pomyślnie rozesłać pakiety anulowania uwierzytelnienia zarówno do punktu dostępowego, jak i do wybranego klienta sieci. Rezultatem takiej operacji są rozłączenie klienta i całkowita utrata przez niego komunikacji z punktem dostępowym. W dalszej części wysyłałeś rozgłoszeniowe pakiety anulowania uwierzytelnienia do wszystkich klientów sieci, co skutkowało tym, że wszystkie klienty zostały odłączone od punktu dostępowego i żaden z nich nie mógł ponownie nawiązać połączenia.
106
Rozdział 5. • Ataki na infrastrukturę sieci WLAN
Warto zauważyć, że w przypadku anulowania uwierzytelnienia klient usiłuje od razu ponownie połączyć się z punktem dostępowym, dlatego aby atak odmowy usługi (DoS) był skuteczny, pakiety anulowania uwierzytelnienia muszą być wysyłane przez cały czas. Opisany atak jest jednym z najprostszych do przeprowadzenia, ale jego skutki są dewastujące. Taki atak przeprowadzony na rzeczywistą, słabo zabezpieczoną sieć może bez trudu powalić ją na kolana.
Zrób to sam — ataki typu anulowanie skojarzenia W ramach ćwiczeń powinieneś teraz przy użyciu narzędzi dostępnych w dystrybucji BackTrack przeprowadzić atak typu anulowanie skojarzenia na sieć Wireless Lab. Czy istnieje możliwość przeprowadzenia rozgłoszeniowego ataku typu anulowanie skojarzenia?
Złośliwy bliźniak i fałszowanie adresów MAC Jednym z najbardziej skutecznych i niebezpiecznych ataków na infrastrukturę sieci WLAN jest atak typu złośliwy bliźniak (ang. evil twin). Cała idea tego ataku polega na zainstalowaniu kontrolowanego przez napastnika punktu dostępowego w zasięgu atakowanej sieci WLAN, który będzie rozgłaszał sieć o takim samym identyfikatorze SSID, co atakowana sieć. W takiej sytuacji wielu klientów bezprzewodowych może w dobrej wierze podłączyć się do takiego „złośliwego bliźniaka” z pełnym przekonaniem, że stanowi on normalną część sieci bezprzewodowej ich organizacji czy przedsiębiorstwa. Po uzyskaniu połączenia z klientem atakowanej sieci napastnik może przystąpić do ataku typu Man-in-the-Middle (człowiek pośrodku) i w zupełnie przezroczysty dla klienta sposób przekazywać ruch z powrotem do atakowanej sieci, oczywiście przechwytując po drodze całą komunikację. Ataki typu Man-in-the-Middle omówimy bardziej szczegółowo w jednym z kolejnych rozdziałów. W rzeczywistym scenariuszu napastnik będzie starał się przeprowadzić taki atak w pobliżu i w zasięgu atakowanej sieci, dzięki czemu użytkownicy niezamierzenie i zupełnie nieświadomie będą się łączyć z kontrolowanym przez niego punktem dostępowym. Złośliwy bliźniak, posiadający taki sam (oczywiście sfałszowany!) adres MAC jak oryginalny, autoryzowany punkt dostępowy, staje się jeszcze trudniejszy do wykrycia i zneutralizowania. Właśnie przy takim ataku do gry wchodzą metody fałszowania adresów MAC. W kolejnym doświadczeniu pokażemy, w jaki sposób można utworzyć złośliwego bliźniaka, który będzie dodatkowo udawał swojego „legalnego brata” dzięki sfałszowanemu adresowi MAC.
107
BackTrack 5. Testy penetracyjne sieci WiFi
Czas na działanie — złośliwy bliźniak ze sfałszowanym adresem MAC Aby to zrobić, powinieneś uważnie wykonać polecenia opisane niżej: 1. Użyj polecenia airodump-ng do odszukania identyfikatorów BSSID oraz ESSID punktu dostępowego, którego będzie emulował nasz złośliwy bliźniak:
2. Podłącz uprawnionego klienta do punktu dostępowego:
3. Korzystając z uzyskanych informacji, utwórz teraz nowy punkt dostępowy, który będzie miał taki sam identyfikator ESSID, ale inny identyfikator BSSID oraz inny adres MAC. Aby to zrobić, użyj polecenia airbase-ng, tak jak przedstawiono na rysunku poniżej:
108
Rozdział 5. • Ataki na infrastrukturę sieci WLAN
4. Nowy punkt dostępowy pojawi się również w oknie terminala, w którym będzie działać polecenie airodump-ng. Aby je uruchomić, otwórz nowe okno terminala i wpisz: airodump-ng --channel 11 wlan0:
5. Teraz wyślij do klienta pakiet anulowania uwierzytelnienia, dzięki czemu odłączy się on od punktu dostępowego i natychmiast będzie próbował połączyć się jeszcze raz:
6. Jeżeli nowy punkt dostępowy (złośliwy bliźniak) znajduje się bliżej klienta niż oryginalny punkt dostępowy, sygnał z punktu dostępowego będzie silniejszy i klient podłączy się do złośliwego bliźniaka, co zostało przedstawione na kolejnych rysunkach:
109
BackTrack 5. Testy penetracyjne sieci WiFi
7. W razie potrzeby możesz również sfałszować identyfikator BSSID oraz adres MAC oryginalnego punktu dostępowego, co sprawi, że złośliwy bliźniak będzie jeszcze trudniejszy do wykrycia. Aby to zrobić, powinieneś wykonać polecenie z rysunku poniżej:
8. Jeżeli teraz spojrzysz na wyniki działania polecenia airodump-ng, przekonasz się, że naszego złośliwego bliźniaka praktycznie nie da się wykryć:
110
Rozdział 5. • Ataki na infrastrukturę sieci WLAN
9. Nawet używając polecenia airodump-ng, nie można poznać, że na tym samym kanale działają dwa różne, fizyczne punkty dostępowe. Jak widać, taka konfiguracja jest najbardziej efektywną i jednocześnie najbardziej niebezpieczną formą złośliwego bliźniaka.
Co się stało? Właśnie utworzyłeś złośliwego bliźniaka, którego umieściłeś w autoryzowanej sieci Wireless Lab, a następnie pomyślnie przeprowadziłeś atak typu anulowanie uwierzytelnienia, dzięki czemu uprawniony klient w dobrej wierze podłączył się do kontrolowanego przez nas punktu dostępowego zamiast do rzeczywistego, oryginalnego punktu dostępowego swojej sieci. Należy jednak zauważyć, że jeżeli oryginalny punkt dostępowy korzysta z szyfrowania typu WEP czy WPA, przeprowadzenie takiego ataku, w którym dalej następuje podsłuchiwanie wszystkich przesyłanych pakietów, może być znacznie trudniejsze. W jednym z kolejnych rozdziałów pokażemy, w jaki sposób, wykorzystując tylko połączenie z klientem, można przeprowadzić atak typu Caffe Latte, pozwalający na złamanie klucza WEP.
Zrób to sam — złośliwy bliźniak i skakanie po kanałach Wróć do konfiguracji wykorzystywanej w poprzednim ćwiczeniu, uruchom złośliwego bliźniaka na innych kanałach i spróbuj zaobserwować, jak klient po rozłączeniu będzie przełączał się na inne kanały, aby w końcu połączyć się z punktem dostępowym. Co decyduje o tym, na jaki kanał przełączy się klient pragnący połączyć się z punktem dostępowym? Czy jest to siła sygnału? Spróbuj samodzielnie poeksperymentować i znajdź odpowiedź na to pytanie.
Nieautoryzowany punkt dostępowy Nieautoryzowany punkt dostępowy (ang. rogue access point) to punkt dostępowy znajdujący się pod kontrolą napastnika, który jest podłączony do autoryzowanej sieci bezprzewodowej. Zazwyczaj taki punkt dostępowy jest wykorzystywany przez napastnika jako tylne wejście (ang. backdoor entry), pozwalające mu na ominięcie wszystkich zabezpieczeń atakowanej sieci. Oznacza to, że takie zabezpieczenia jak zapory sieciowe (ang. firewalls), systemy wykrywania włamań (ang. intrusion prevention systems) i inne, których zadaniem jest ochrona zewnętrznego perymetru sieci, nie będą w stanie zapobiec podłączeniu takiego napastnika do sieci. W praktyce takie nieautoryzowane punkty dostępowe najczęściej korzystają z uwierzytelniania z otwartym dostępem, bez szyfrowania. Nieautoryzowany punkt dostępowy może zostać utworzony na dwa sposoby: 1. Nieautoryzowane zainstalowanie fizycznego punktu dostępowego w autoryzowanej sieci bezprzewodowej. Tutaj wszystko jest jasne i przeprowadzenie takiego eksperymentu pozostawiamy Tobie. Warto jednak zauważyć, że takie przedsięwzięcie jest związane z przełamaniem fizycznego bezpieczeństwa autoryzowanej, atakowanej sieci.
111
BackTrack 5. Testy penetracyjne sieci WiFi
2. Utworzenie programowego, nieautoryzowanego punktu dostępowego i utworzenie mostu sieciowego łączącego go z lokalną siecią Ethernet. Takie rozwiązanie pozwala w praktyce na przemianę dowolnego laptopa działającego w autoryzowanej sieci w nieautoryzowany punkt dostępowy. Właśnie takie rozwiązanie bardziej szczegółowo omówimy w kolejnym doświadczeniu.
Czas na działanie — nieautoryzowany punkt dostępowy Aby to zrobić, uważnie wykonaj polecenia opisane poniżej: 1. Najpierw przy użyciu polecenia airbase-ng uruchom nieautoryzowany punkt dostępowy i nadaj mu identyfikator ESSID Rogue:
2. Teraz należy utworzyć most sieciowy pomiędzy interfejsem sieci Ethernet (będącym częścią sieci autoryzowanej) i naszym nieautoryzowanym punktem dostępowym. Aby to zrobić, najpierw utwórz interfejs sieciowy pełniący funkcję mostu i nadaj mu nazwę WiFi-Bridge:
3. Następnie dodaj do mostu zarówno interfejs Ethernet, jak i wirtualny interfejs at0 utworzony przez polecenie airbase-ng:
112
Rozdział 5. • Ataki na infrastrukturę sieci WLAN
4. Kolejnym etapem będzie uaktywnienie tych interfejsów, co spowoduje uaktywnienie mostu sieciowego:
5. Teraz pozostaje uaktywnić przekazywanie pakietów IP (ang. IP forwarding) w jądrze systemu, aby upewnić się, że pakiety są przesyłane tak, jak sobie tego życzysz:
6. Świetnie! Gotowe! Od tej chwili każdy klient bezprzewodowy, który podłączy się do nieautoryzowanego punktu dostępowego, będzie miał pełny dostęp do autoryzowanej sieci komputerowej za pośrednictwem mostu sieciowego WiFi-Bridge, łączącego sieć kablową z nieautoryzowanym połączeniem bezprzewodowym. Aby to zweryfikować, najpierw podłącz klienta do nieautoryzowanego punktu dostępowego Rogue. W systemie Vista takie połączenie może wyglądać następująco:
113
BackTrack 5. Testy penetracyjne sieci WiFi
7. Zwróć uwagę, że klient otrzymuje teraz adres IP z serwera DHCP działającego w autoryzowanej sieci LAN:
8. Od tej chwili możesz z poziomu nieautoryzowanego klienta bezprzewodowego uzyskać dostęp do dowolnego hosta znajdującego się w autoryzowanej sieci kablowej. W przykładzie przedstawionym poniżej używamy polecenia ping do sprawdzenia połączenia z domyślną bramą sieciową:
114
Rozdział 5. • Ataki na infrastrukturę sieci WLAN
Co się stało? W tym ćwiczeniu utworzyłeś nieautoryzowany punkt dostępowy i wykorzystałeś go do utworzenia mostu sieciowego między autoryzowaną siecią LAN i nieautoryzowanym połączeniem bezprzewodowym. Jak łatwo zauważyć, takie rozwiązanie stanowi bardzo poważne zagrożenie dla bezpieczeństwa sieci LAN, ponieważ pozwala każdemu potencjalnemu napastnikowi na uzyskanie dostępu do hostów w sieci LAN z pominięciem jej zabezpieczeń.
Zrób to sam — nieautoryzowany punkt dostępowy z szyfrowaniem WPA/WPA2 Przekonaj się, czy potrafisz utworzyć nieautoryzowany punkt dostępowy, wykorzystujący szyfrowanie WPA/WPA2, dzięki któremu będzie trudniejszy do wykrycia i będzie bardziej przypominał część autoryzowanej infrastruktury sieci.
Szybki quiz — ataki na infrastrukturę sieci WLAN 1. Jakiej metody szyfrowania najczęściej używają nieautoryzowane punkty dostępowe? a) Żadnej. b) WEP. c) WPA. d) WPA2. 2. Używanie w metodzie złośliwego bliźniaka takiego samego adresu MAC jak autoryzowany punkt dostępowy powoduje, że: a) Złośliwy bliźniak staje się jeszcze trudniejszy do wykrycia. b) Klienci są zmuszeni do podłączenia się do złośliwego bliźniaka. c) Zwiększa się siła sygnału nadawanego przez punkt dostępowy. d) Żadna z powyższych odpowiedzi. 3. Ataki typu odmowa usługi (DoS): a) Powodują zmniejszenie ogólnej przepustowości sieci. b) Nie są wymierzone w klienty. c) Mogą być przeprowadzane, nawet jeżeli nie znamy klucza WEP/WPA/WPA2. d) Wszystkie z powyższych odpowiedzi. 4. Nieautoryzowane punkty dostępowe: a) Pozwalają na utworzenie tylnego wejścia do autoryzowanej sieci komputerowej. b) Wykorzystują wyłącznie szyfrowanie WPA2. c) Mogą być utworzone programowo lub poprzez instalację urządzenia fizycznego. d) Odpowiedzi (a) i (c).
115
BackTrack 5. Testy penetracyjne sieci WiFi
Podsumowanie W tym rozdziale omawialiśmy następujące metody przełamywania zabezpieczeń infrastruktury bezprzewodowych sieci LAN: Q Wykorzystywanie domyślnych kont dostępu i haseł w punktach dostępowych. Q Ataki typu odmowa usługi (DoS). Q Podstawione punkty dostępowe udające legalne urządzenia (ataki typu evil twins)
oraz fałszowanie adresów MAC punktów dostępowych. Q Nieautoryzowane punkty dostępowe w sieciach korporacyjnych. W kolejnym rozdziale będziemy zajmować się różnymi sposobami ataków na klienty bezprzewodowej sieci LAN. Co ciekawe, większość administratorów uważa, że bezpieczeństwo klientów to nie jest problem, którym należałoby się przejmować. Jak się przekonamy, nic nie może być dalsze od prawdy.
116
6 Ataki na klienta sieci WLAN „System informatyczny jest tak bezpieczny, jak jego najsłabsze ogniwo”. Motto specjalistów z zakresu bezpieczeństwa IT
Wielu specjalistów zajmujących się testami penetracyjnymi koncentruje się na infrastrukturze sieci WLAN i nie zwraca uwagi na klienty sieci bezprzewodowej. Warto jednak zauważyć, że napastnik może również uzyskać dostęp do atakowanej sieci poprzez przełamanie zabezpieczeń samego klienta sieci bezprzewodowej.
W tym rozdziale przeniesiemy ciężar naszych zainteresowań z infrastruktury sieci WLAN na klienty bezprzewodowe, które mogą być albo podłączone do sieci, albo odizolowane po anulowaniu skojarzenia. Przyjrzymy się różnym technikom ataków, których celem mogą być klienty sieci bezprzewodowych. Omawiać będziemy między innymi następujące zagadnienia: Q Ataki typu Honeypot i Misassociation. Q Atak typu Caffe Latte. Q Ataki typu Deauthentication i Disassociation. Q Atak typu Hirte. Q Łamanie klucza WPA PSK przez atak na odizolowanego klienta
(bez punktu dostępowego).
BackTrack 5. Testy penetracyjne sieci WiFi
Ataki typu Honeypot i Misassociation W konfiguracji domyślnej klient sieci bezprzewodowej, taki jak na przykład laptop, automatycznie sonduje dostępne sieci bezprzewodowe w poszukiwaniu tej, do której był podłączony poprzednim razem. W przypadku komputerów pracujących w systemie Windows nazwy takich sieci przechowywane są na liście nazywanej PNL (ang. Preferred Network List; lista preferowanych sieci). Oczywiście oprócz sieci preferowanych po przeprowadzeniu wyszukiwania klient zazwyczaj wyświetla na ekranie listę wszystkich dostępnych sieci bezprzewodowych znajdujących się w jego zasięgu. Potencjalny napastnik może w takiej sytuacji wybrać jedno z dwóch rozwiązań: 1. Pasywnie monitorować sondowanie przeprowadzane przez klienta i następnie uruchomić fałszywy punkt dostępowy z takim identyfikatorem ESSID, jakiego poszukuje klient. Taka operacja zazwyczaj powoduje, że klient w dobrej wierze podłącza się do takiego fałszywego, kontrolowanego przez napastnika punktu dostępowego, gdyż jest przekonany, że łączy się z prawdziwą, autoryzowaną siecią. 2. Utworzyć fałszywy punkt dostępowy z takim samym identyfikatorem ESSID, jak sieci w najbliższym otoczeniu, co może wprowadzić klienta w błąd i spowodować, że zamiast do właściwej sieci klient podłączy się do podstawionego punktu dostępowego kontrolowanego przez napastnika. Takie ataki są bardzo łatwe do przeprowadzenia zwłaszcza w miejscach publicznych, takich jak kawiarnie czy lotniska, gdzie użytkownicy mogą poszukiwać sieci Wi-Fi, z której mogliby skorzystać na przykład w celu odebrania poczty elektronicznej. Opisane powyżej scenariusze są nazywane atakami typu Honeypot (z ang. garniec miodu) i ogólnie rzecz biorąc, polegają na spowodowaniu czy wręcz wymuszeniu skojarzenia klienta z fałszywym punktem dostępowym, kontrolowanym przez napastnika (ang. Misassociation), przy jednoczesnym przekonaniu klienta, że korzysta z prawdziwej, autoryzowanej sieci. W kolejnym ćwiczeniu pokażemy, jak przeprowadzić oba rodzaje ataków w naszym laboratorium.
Czas na działanie — przeprowadzanie ataków typu Misassociation Uważnie wykonaj polecenia opisane poniżej: 1. W poprzednich ćwiczeniach używałeś klienta, który łączył się z punktem dostępowym sieci Wireless Lab. W tym ćwiczeniu włącz samego klienta, bez włączania punktu dostępowego sieci Wireless Lab. Po uruchomieniu klienta otwórz okno terminala, wykonaj polecenie airodump-ng mon0 i sprawdź wyniki jego działania. Bardzo szybko przekonasz się, że klient nie jest skojarzony z żadnym punktem dostępowym
118
Rozdział 6. • Ataki na klienta sieci WLAN
(ang. not associated mode) i sonduje dostępne sieci w poszukiwaniu punktu dostępowego sieci Wireless Lab oraz innych sieci, których identyfikatory są przechowywane w zapisanym profilu (w naszym przykładzie jest to sieć o nazwie Vivek, co przedstawiono na rysunku poniżej):
2. Aby lepiej zrozumieć, co tutaj się dzieje, uruchom program Wireshark i rozpocznij nasłuchiwanie pakietów na interfejsie mon0. Jak można się było spodziewać, zapewne zobaczysz całą masę najróżniejszych pakietów, które nie mają żadnego związku z naszą analizą. Aby wyświetlić tylko to, co Cię interesuje, powinieneś w programie Wireshark utworzyć filtr pokazujący wyłącznie pakiety sondowania (ang. Probe Requests packets) nadchodzące z klienta o adresie MAC, którego właśnie używasz:
119
BackTrack 5. Testy penetracyjne sieci WiFi
3. W naszym przypadku wspomniany filtr będzie wyglądał następująco: wlan.fc.type_subtype == 0x04 && wlan.sa == 60:FB:42:D5:E4:01. Po jego uaktywnieniu w oknie programu Wireshark powinny się pojawiać wyłącznie pakiety z identyfikatorami SSID sieci Vivek oraz Wireless Lab:
4. Teraz spróbuj uruchomić fałszywy punkt dostępowy sieci Wireless Lab. Aby to zrobić, na komputerze wykorzystywanym do testów penetracyjnych otwórz okno terminala i wykonaj polecenie przedstawione na rysunku zamieszczonym poniżej:
5. W ciągu kilku najbliższych minut poszukujący sieci klient automatycznie podłączy się do naszego podstawionego punktu dostępowego. To doświadczenie pokazuje, jak łatwo można przechwycić takiego nieskojarzonego klienta.
6. Drugim scenariuszem, jaki wypróbujesz w tym ćwiczeniu, jest utworzenie fałszywego punktu dostępowego sieci Wireless Lab w obecności prawdziwego, autoryzowanego punktu dostępowego. W tym celu włącz punkt dostępowy i upewnij się, że sieć Wireless Lab jest dostępna dla klientów. Na potrzeby tego doświadczenia ustawiliśmy punkt dostępowy do pracy na kanale 3. Pozwól teraz
120
Rozdział 6. • Ataki na klienta sieci WLAN
klientowi podłączyć się do punktu dostępowego. Aby sprawdzić, czy próba połączenia zakończyła się sukcesem, możesz użyć polecenia airodump-ng, tak jak to zostało zilustrowane na kolejnym rysunku.
7. Teraz włącz fałszywy punkt dostępowy sieci Wireless Lab:
8. Zwróć uwagę, że nasz klient jest nadal podłączony do prawdziwego punktu dostępowego sieci Wireless Lab:
9. Aby przeprowadzić atak, podszyj się teraz pod prawdziwy punkt dostępowy i wyślij do klienta komunikat o anulowaniu uwierzytelniania, co wymusi rozłączenie klienta:
121
BackTrack 5. Testy penetracyjne sieci WiFi
10. Jeśli sygnał nadawany przez nasz punkt dostępowy jest silniejszy niż oryginalnego punktu dostępowego, klient podczas próby przywrócenia połączenia automatycznie podłączy się do fałszywego punktu dostępowego:
11. Aby zweryfikować połączenie, możesz uruchomić polecenie airodump-ng, a w wynikach jego działania zobaczysz, że atakowany klient jest teraz skojarzony z naszym fałszywym punktem dostępowym:
122
Rozdział 6. • Ataki na klienta sieci WLAN
Co się stało? W tym ćwiczeniu pomyślnie przeprowadziłeś atak typu Honeypot, najpierw korzystając z listy domyślnych sieci sondowanych przez klienta, a później używając takiego samego identyfikatora ESSID, jak punkt dostępowy z sieci znajdującej się w pobliżu. W tym drugim przypadku wykorzystałeś to, że fałszywy punkt dostępowy znajdował się bliżej klienta niż rzeczywisty, dlatego z punktu widzenia klienta jego sygnał był silniejszy od oryginału i po wymuszonej utracie połączenia z oryginalnym punktem dostępowym klient automatycznie podłączył się do fałszywego.
Zrób to sam — zmuszanie klienta do połączenia się z punktem dostępowym Honeypot Wróćmy na chwilę do scenariusza z poprzedniego ćwiczenia. Co możesz zrobić, jeżeli po wymuszonej utracie połączenia z oryginalnym punktem dostępowym klient nie podłączy się automatycznie do fałszywego punktu dostępowego? W takiej sytuacji można wysłać do klienta pakiet anulowania uwierzytelnienia, co wymusi przerwanie połączenia z punktem dostępowym. Jeżeli sygnał fałszywego punktu dostępowego będzie silniejszy niż oryginalnego, próba przywrócenia połączenia spowoduje podłączenie do fałszywego punktu dostępowego. Spróbuj samodzielnie przetestować taki scenariusz, podłączając klienta do oryginalnego punktu dostępowego, a następnie wymuszając przerwanie połączenia i skojarzenie klienta z fałszywym punktem dostępowym Honeypot.
Atak typu Caffe Latte Podczas ćwiczenia ataku typu Honeypot mogłeś zauważyć, że klient nieustannie sonduje dostępne sieci w poszukiwaniu takich, do których poprzednio był już podłączony. Jeżeli klient podłączył się wcześniej do punktu dostępowego sieci wykorzystującej protokół WEP, system Windows i wiele innych systemów operacyjnych buforują i przechowują klucz WEP. Kiedy następnym razem klient podłącza się do tej samej sieci bezprzewodowej, menedżer połączeń bezprzewodowych systemu Windows do nawiązania połączenia automatycznie używa zapisanego wcześniej klucza WEP. Atak typu Caffe Latte został opracowany przez autora tej książki i po raz pierwszy zaprezentowany publicznie na konferencji Toorcon 9 w San Diego (Stany Zjednoczone). Atak typu Caffe Latte jest atakiem na protokół WEP, który pozwala napastnikowi na uzyskanie klucza WEP atakowanej sieci poprzez analizę samego klienta. W czasie przeprowadzania ataku klient nie musi ani być podłączony, ani znajdować się w pobliżu atakowanej sieci — klucz WEP sieci jest uzyskiwany bezpośrednio dzięki odpowiedniemu wykorzystaniu odizolowanego klienta. W kolejnym ćwiczeniu pokażemy, jak w praktyce posłużyć się atakiem typu Caffe Latte do uzyskania klucza WEP atakowanej sieci.
123
BackTrack 5. Testy penetracyjne sieci WiFi
Czas na działanie — przeprowadzanie ataku typu Caffe Latte Aby to zrobić, uważnie wykonaj polecenia opisane poniżej: 1. Najpierw musisz skonfigurować punkt dostępowy sieci Wireless Lab tak, aby używał protokołu WEP z kluczem ABCDEFABCDEFABCDEF12 (hex):
124
Rozdział 6. • Ataki na klienta sieci WLAN
2. Następnie podłącz naszego klienta do tej sieci i przy użyciu polecenia airodump-ng upewnij się, że próba połączenia zakończyła się sukcesem, tak jak pokazuje rysunek poniżej:
3. Teraz odłącz punkt dostępowy i upewnij się, że klient nie jest skojarzony z żadnym punktem dostępowym i sonduje dostępne sieci w poszukiwaniu sieci Wireless Lab (wykorzystującej protokół WEP):
4. Poleceniem airbase-ng uaktywnij fałszywy punkt dostępowy z identyfikatorem SSID sieci Wireless Lab, używając argumentów wywołania przedstawionych na kolejnym rysunku:
125
BackTrack 5. Testy penetracyjne sieci WiFi
5. Natychmiast po podłączeniu się klienta do punktu dostępowego polecenie airbase-ng rozpoczyna atak typu Caffe Latte, co ilustruje poniższy rysunek:
6. Teraz wykonaj polecenie airodump-ng i rozpocznij zbieranie pakietów z fałszywego punktu dostępowego, tak jak robiłeś wcześniej, w ćwiczeniu omawiającym metody łamania klucza WEP:
7. Uruchom również polecenie aircrack-ng, podobnie jak robiłeś wcześniej, aby rozpocząć proces łamania klucza WEP. Aby to zrobić, w oknie terminala wpisz polecenie aircrack-ng nazwa_pliku, gdzie nazwa_pliku to nazwa pliku utworzonego poleceniem airodump-ng:
126
Rozdział 6. • Ataki na klienta sieci WLAN
8. Po uzbieraniu wystarczającej liczby pakietów polecenie aircrack-ng pomyślnie łamie klucz WEP i radośnie informuje o tym użytkownika; pokazuje to kolejny rysunek:
Co się stało? Właśnie udało Ci się pomyślnie uzyskać klucz WEP atakowanej sieci, wykorzystując do tego samego klienta, który w momencie ataku nie musi być podłączony do punktu dostępowego sieci ani nawet znajdować się w jej pobliżu, co doskonale ilustruje siłę ataku typu Caffe Latte. Atak typu Caffe Latte opiera się na wykorzystaniu metody bit-flipping oraz przechwytywaniu i ponownym przekazywaniu pakietów ARP wysyłanych przez klienta bezprzewodowego po udanym skojarzeniu z fałszywym, kontrolowanym przez napastnika punktem dostępowym. Zwróć uwagę, że wszystkie pakiety są zaszyfrowane przy użyciu klucza WEP przechowywanego przez klienta. Po przechwyceniu wystarczającej liczby pakietów danych polecenie aircrack-ng jest w stanie złamać i odtworzyć klucz WEP.
127
BackTrack 5. Testy penetracyjne sieci WiFi
Zrób to sam — praktyka czyni mistrza! Spróbuj zmienić klucz WEP i powtórzyć atak. Atak typu Caffe Latte jest atakiem bardzo złożonym i jego pomyślne przeprowadzenie wymaga sporej praktyki. Dobrym rozwiązaniem będzie wykorzystanie programu Wireshark do monitorowania ruchu sieciowego generowanego podczas ataku.
Ataki typu Deauthentication i Disassociation W poprzednich rozdziałach omawialiśmy już atak typu anulowanie uwierzytelnienia (ang. Deauthentication) w kontekście punktu dostępowego. W tym rozdziale ponownie zajmiemy się tym atakiem, ale tym razem w kontekście klienta. W kolejnym ćwiczeniu będziesz wysyłać pakiety anulowania uwierzytelnienia do klienta w celu zerwania połączenia nawiązanego między nim a punktem dostępowym.
Czas na działanie — anulowanie uwierzytelnienia klienta Aby to zrobić, uważnie wykonaj polecenia opisane poniżej: 1. Zanim rozpoczniesz ćwiczenie, musisz ponownie włączyć punkt dostępowy sieci Wireless Lab, który po poprzednim ćwiczeniu powinien być skonfigurowany do korzystania z protokołu WEP. Pozostaw taką konfigurację, aby udowodnić, że atak na połączenie między klientem a punktem dostępowym jest możliwy nawet w sytuacji, kiedy takie połączenie jest szyfrowane. Po włączeniu punktu dostępowego otwórz okno terminala i przy użyciu polecenia airodump-ng sprawdź, czy punkt dostępowy działa poprawnie:
128
Rozdział 6. • Ataki na klienta sieci WLAN
2. Podłącz teraz klienta do punktu dostępowego i sprawdź połączenie przy użyciu polecenia airodump-ng:
3. Uruchom polecenie aireplay-ng, za pomocą którego przeprowadzisz atak na połączenie między klientem a punktem dostępowym:
4. Klient zostaje odłączony od punktu dostępowego i próbuje ponownie nawiązać połączenie, co można zweryfikować przy użyciu programu Wireshark, tak jak to robiłeś poprzednio:
129
BackTrack 5. Testy penetracyjne sieci WiFi
5. Jak widać, nawet w przypadku szyfrowania WEP jest możliwe przeprowadzenie ataku polegającego na anulowaniu uwierzytelnienia klienta i odłączeniu go od punktu dostępowego. Co ciekawe, dokładnie w taki sam sposób możesz przeprowadzić ten atak na sieć wykorzystującą szyfrowanie WPA/WPA2. Aby się o tym przekonać, zmień teraz konfigurację punktu dostępowego tak, aby korzystał z szyfrowania WPA, i sprawdź, czy uda Ci się pomyślnie przeprowadzić atak.
6. Podłącz klienta do punktu dostępowego i upewnij się, że połączenie działa poprawnie:
130
Rozdział 6. • Ataki na klienta sieci WLAN
7. Następnie uruchom polecenie aireplay-ng, za pomocą którego ponownie przeprowadzisz atak na połączenie między klientem a punktem dostępowym:
8. Korzystając z programu Wireshark, jeszcze raz zweryfikuj, czy wszystko działa tak, jak zaplanowałeś:
Co się stało? Właśnie przekonałeś się, w jaki sposób możesz odłączyć wybranego klienta od punktu dostępowego za pomocą pakietów anulowania uwierzytelnienia (ang. deauthentication frames), nawet wtedy, gdy sieć działa z szyfrowaniem WEP/WPA/WPA2. Atak został przeprowadzony poprzez wysyłanie pakietów anulowania uwierzytelnienia bezpośrednio do wybranego klienta (zamiast rozgłaszania pakietów u wszystkich klientów w sieci).
131
BackTrack 5. Testy penetracyjne sieci WiFi
Zrób to sam — przeprowadzanie ataku typu anulowanie skojarzenia W poprzednim ćwiczeniu przerywaliśmy połączenie między klientem a punktem dostępowym, przeprowadzając atak typu anulowanie uwierzytelnienia (ang. Deauthentication). Spróbuj teraz samodzielnie przerwać takie połączenie, przeprowadzając atak typu anulowanie skojarzenia (ang. Disassociation).
Atak typu Hirte Widziałeś już, w jaki sposób przeprowadzić atak typu Caffe Latte. Atak typu Hirte jest jego rozszerzoną wersją, wykorzystującą techniki fragmentacji pakietów i pozwalającą na użycie niemal dowolnego pakietu. Więcej szczegółowych informacji na temat ataku typu Hirte znajdziesz na stronie internetowej twórców pakietu AIRCRACK-NG: http://www.aircrack-ng.org/doku.php?id=hirte. W następnym ćwiczeniu użyjemy polecenia aircrack-ng do przeprowadzenia ataku typu Hirte na samego klienta.
Czas na działanie — łamanie klucza WEP poprzez atak typu Hirte 1. Używając polecenia airbase-ng, utwórz punkt dostępowy wykorzystujący protokół WEP, dokładnie tak, jak to zrobiliśmy podczas omawiania ataku typu Caffe Latte. Jedyna zmiana polega na tym, że zamiast opcji -L należy użyć opcji -N, która powoduje uruchomienie ataku typu Hirte:
2. Otwórz osobne okno terminala i uruchom w nim polecenie airodump-ng, którego zadaniem będzie przechwytywanie pakietów sieci Wireless Lab punktu dostępowego (Honeypot):
132
Rozdział 6. • Ataki na klienta sieci WLAN
3. Polecenie airodump-ng rozpocznie monitorowanie ruchu sieciowego i zapisywanie przechwytywanych pakietów w pliku Hirte-01.cap.
4. Kiedy klient podłączy się do podstawionego punktu dostępowego, polecenie airbase-ng automatycznie rozpocznie przeprowadzanie ataku typu Hirte:
5. Teraz uruchom polecenie aircrack-ng, tak jak podczas ataku typu Caffe Latte, które po przechwyceniu i przetworzeniu odpowiedniej liczby pakietów złamie klucz WEP:
133
BackTrack 5. Testy penetracyjne sieci WiFi
Co się stało? Przeprowadziłeś pomyślny atak typu Hirte na klienta WEP, który był całkowicie odizolowany od punktu dostępowego (znajdował się całkowicie poza zasięgiem sieci). Samo łamanie klucza odbywało się dokładnie tak samo, jak w przypadku ataku typu Caffe Latte.
Zrób to sam — praktyka, praktyka, praktyka Aby nabrać wprawy w przeprowadzaniu tego typu ataków, powinieneś teraz kilka razy zmieniać klucze WEP klienta i przeprowadzać ataki w celu ich złamania. Podczas ćwiczenia może się zdarzyć, że aby wszystko działało poprawnie, będziesz musiał kilkakrotnie podłączać klienta do punktu dostępowego.
Łamanie klucza WPA PSK bez obecności punktu dostępowego W poprzednim rozdziale przeczytałeś, w jaki sposób poleceniem aircrack-ng można złamać klucz WPA/WPA2 PSK. Podstawowa idea takich ataków polega na przechwytywaniu pakietów wymienianych między klientem a punktem dostępowym podczas procesu czteroetapowego negocjowania uwierzytelnienia WPA i przeprowadzaniu ataku słownikowego na klucz. Pytanie za milion dolarów brzmi: czy można złamać klucz WPA PSK, atakując samego klienta, odizolowanego od punktu dostępowego? Pamiętaj, klient nie jest podłączony do punktu dostępowego ani nie znajduje się w zasięgu sieci!
134
Rozdział 6. • Ataki na klienta sieci WLAN
Aby odświeżyć sobie pamięć, powrócimy na chwilę do tego, jak przebiega proces czteroetapowych negocjacji uwierzytelnienia WPA:
Jak pamiętasz, do złamania klucza WPA potrzebne są cztery parametry procesu czteroetapowych negocjacji uwierzytelnienia: wartość losowa ANonce generowana przez serwer (ang. Authenticator Nonce), wartość losowa SNonce generowana przez klienta-suplikanta (ang. Supplicant Nonce), adres MAC punktu dostępowego (czyli adres MAC serwera uwierzytelniającego) oraz adres MAC klienta bezprzewodowego (adres MAC suplikanta). Co ciekawe, w praktyce okazuje się, że w celu uzyskania tych danych nie musimy przechwycić wszystkich czterech pakietów negocjacji — równie dobrze możemy je uzyskać, przechwytując tylko pierwszy i drugi pakiet lub drugi i trzeci. Aby złamać klucz WPA PSK, należy uruchomić podstawiony punkt dostępowy (Honeypot), skonfigurowany do korzystania z szyfrowania WPA PSK; kiedy klient się do niego podłączy, można przechwycić tylko pierwszy i drugi komunikat negocjacji. Ponieważ nie znamy hasła PSK (tekstu szyfrującego), nie możemy już wysłać trzeciego komunikatu. Nie zmienia to już jednak niczego, ponieważ komunikaty 1 i 2 zawierają wszystkie informacje, jakie są nam niezbędne do rozpoczęcia procesu łamania klucza.
135
BackTrack 5. Testy penetracyjne sieci WiFi
Czas na działanie — łamanie klucza WPA bez obecności punktu dostępowego 1. Najpierw utwórz podstawiony punkt dostępowy (Honeypot) sieci Wireless Lab, wykorzystujący szyfrowanie WPA PSK. Opcja -z 2 powoduje utworzenie punktu dostępowego WPA PSK korzystającego z protokołu TKIP:
2. Następnie uruchom w nowym oknie terminala polecenie airodump-ng, którego zadaniem będzie przechwytywanie pakietów przesyłanych w sieci:
3. Teraz, kiedy klient poszukujący połączenia podłączy się do punktu dostępowego, rozpocznie się proces czteroetapowych negocjacji uwierzytelnienia, który jednak zostanie przerwany po wysłaniu drugiego komunikatu negocjacji, tak jak to opisywaliśmy nieco wcześniej:
4. Po sprawdzeniu wyników działania polecenia airodump-ng okaże się jednak, że niezbędne informacje o negocjacjach połączenia zostały już przechwycone:
136
Rozdział 6. • Ataki na klienta sieci WLAN
5. Masz już wszystkie pakiety zawierające niezbędne informacje zapisane przez polecenie airodump-ng w pliku na dysku, więc możesz uruchomić polecenie aircrack-ng, używając do przeprowadzenia ataku tego samego pliku słownika, co poprzednio. Po pewnym czasie hasło PSK zostanie złamane, co pokazano na kolejnym rysunku:
Co się stało? Właśnie udało Ci się złamać hasło WPA przez zaatakowanie wyłącznie klienta. Przeprowadzenie pomyślnego ataku jest możliwe, ponieważ mając tylko dwa pierwsze pakiety przesyłane w ramach czteroetapowych negocjacji uwierzytelnienia, posiadamy wszystkie informacje niezbędne do rozpoczęcia ataku słownikowego na hasło WPA.
Zrób to sam — łamanie klucza WPA bez obecności punktu dostępowego Żeby nabrać wprawy w tego typu atakach, powinieneś teraz kilka razy zmieniać klucze WPA klienta i przeprowadzać ataki w celu ich złamania. Podczas ćwiczenia może się zdarzyć, że aby wszystko działało poprawnie, będziesz musiał kilkakrotnie podłączać klienta do punktu dostępowego.
137
BackTrack 5. Testy penetracyjne sieci WiFi
Szybki quiz — ataki na klienta 1. Jaki klucz szyfrowania można złamać, przeprowadzając atak typu Caffe Latte? a) Żaden. b) WEP. c) WPA. d) WPA2. 2. Podstawiony punkt dostępowy (Honeypot) najczęściej posiada następującą konfigurację: a) Brak szyfrowania, uwierzytelnianie z otwartym dostępem. b) Brak szyfrowania, uwierzytelnianie ze współdzielonym kluczem. c) Szyfrowanie WEP, uwierzytelnianie z otwartym dostępem. d) Żadną z powyższych. 3. Które z ataków wymienionych poniżej są atakami typu odmowa usługi (DoS)? a) Atak typu wymuszenie podstawionego skojarzenia (ang. Misassociation). b) Atak typu anulowanie uwierzytelnienia (ang. Deauthentication). c) Atak typu anulowanie skojarzenia (ang. Disassociation). d) Zarówno (b), jak i (c). 4. Przeprowadzenie ataku typu Caffe Latte jest możliwe, kiedy: a) Klient znajduje się w zasięgu sieci (punktu dostępowego). b) Klient przechowuje klucz WEP atakowanej sieci. c) Klient wykorzystuje szyfrowanie WEP o długości klucza co najmniej 128 bitów. d) Zarówno (a), jak i (c).
Podsumowanie Z tego rozdziału dowiedziałeś się, że same klienty bezprzewodowe są również bardzo podatne na ataki, takie jak ataki typu Honeypot oraz Misassociation (wymuszanie podstawionego skojarzenia), typu Caffe Latte (pozwalające na pozyskanie klucza sieci bezpośrednio od klienta), typu anulowanie uwierzytelnienia oraz anulowanie skojarzenia (odmowa usługi, atak DoS), typu Hirte (alternatywny sposób pozyskania klucza WEP bezpośrednio od klienta poszukującego połączenia) i wreszcie ataki pozwalające na złamanie hasła WPA PSK bez obecności punktu dostępowego. W kolejnym rozdziale będziemy wykorzystywali całą zdobytą do tej pory wiedzę do przeprowadzania różnych złożonych ataków zarówno na klienty bezprzewodowe, jak i na infrastrukturę sieci. Aby zobaczyć, co się za tym kryje, szybko przejdź na kolejną stronę!
138
7 Zaawansowane ataki na sieci WLAN „Zatem zostało powiedziane, że kto zna wroga i zna siebie, nie będzie zagrożony choćby i w stu starciach”.
Sun Tzu, Sztuka wojny
Bardzo istotnym elementem podczas przeprowadzania testów penetracyjnych jest dogłębna znajomość zaawansowanych technik ataków wykorzystywanych przez hakerów, nawet jeżeli nie masz zamiaru posłużyć się takimi atakami w czasie testów. Ten rozdział jest poświęcony właśnie temu, jak potencjalny napastnik może przeprowadzić zaawansowane ataki na sieci bezprzewodowe.
Z tego rozdziału dowiesz się, w jaki sposób przeprowadzać zaawansowane ataki na sieci WLAN przy użyciu narzędzi i technik omawianych w poprzednich rozdziałach. Najbardziej skupimy się tutaj na atakach typu MITM (ang. Man-in-the-Middle; człowiek w środku), których przeprowadzenie wymaga posiadania sporej wiedzy i doświadczenia praktycznego. Po przećwiczeniu takiego ataku użyjemy go jako bazy do przeprowadzania jeszcze bardziej wyrafinowanych i złożonych ataków, takich jak nieautoryzowane podsłuchiwanie ruchu sieciowego (ang. Eavesdropping) czy przechwytywanie sesji (ang. Session Hijacking). W kolejnych ćwiczeniach będziemy się zajmować następującymi rodzajami ataków: Q Ataki typu MITM. Q Ataki typu podsłuchiwanie ruchu sieciowego, bazujące na ataku MITM. Q Ataki typu przechwytywanie sesji, bazujące na ataku MITM.
BackTrack 5. Testy penetracyjne sieci WiFi
Ataki typu Man-in-the-Middle Ataki typu MITM są prawdopodobnie najbardziej skutecznymi atakami na sieci bezprzewodowe. Istnieje wiele odmian i konfiguracji takich ataków. My skoncentrujemy się na najczęściej spotykanym typie, kiedy napastnik jest podłączony do sieci Internet za pomocą kablowej sieci LAN i tworzy fałszywy punkt dostępowy przy użyciu bezprzewodowej karty sieciowej zamontowanej w komputerze. Taki punkt dostępowy rozgłasza sieć bezprzewodową, której identyfikator SSID jest taki sam, jak identyfikator atakowanej sieci znajdującej się w pobliżu. Autoryzowany użytkownik atakowanej sieci może przypadkowo podłączyć się do takiego fałszywego punktu dostępowego (lub takie połączenie może zostać „wymuszone” dzięki zastosowaniu teorii silniejszego sygnału, o której mówiliśmy w poprzednich rozdziałach) i kontynuować działanie, gdyż będzie przekonany, że jest podłączony do prawdziwego punktu dostępowego swojej sieci. Od tej chwili napastnik może w zupełnie przezroczysty dla klienta sposób przekazywać cały jego ruch do sieci Internet, wykorzystując do tego most sieciowy utworzony pomiędzy interfejsem sieci kablowej oraz interfejsem sieci bezprzewodowej. Oczywiście „po drodze” cały ruch klienta jest przechwytywany i uważnie obserwowany. W kolejnym doświadczeniu spróbujemy zasymulować taki atak.
Czas na działanie — atak typu Man-in-the-Middle Aby to zrobić, powinieneś uważnie wykonać polecenia opisane poniżej: 1. Aby przygotować środowisko do przeprowadzenia ataku typu Man-in-the-Middle, musisz na komputerze, którego używasz do przeprowadzania ataków, utworzyć programowy punkt dostępowy sieci o nazwie mitm. W tym celu powinieneś otworzyć okno terminala i wykonać polecenie airbase-ng --essid mitm –c 11 mon0:
140
Rozdział 7. • Zaawansowane ataki na sieci WLAN
2. Należy zauważyć, że polecenie airbase-ng po uruchomieniu tworzy interfejs at0 (interfejs TAP), który powinieneś traktować jako „kablową” stronę interfejsu programowego punktu dostępowego mitm.
3. Teraz na komputerze, którego używasz do przeprowadzenia ataku, musisz utworzyć most sieciowy, składający się z interfejsu kablowego (eth0) oraz interfejsu bezprzewodowego (at0). Aby to zrobić, powinieneś kolejno wykonać następujące polecenia: brctl addbr mitm-bridge brctl addif mitm-bridge eth0 brctl addif mitm-bridge at0 ifconfig eth0 0.0.0.0 up ifconfig at0 0.0.0.0 up
4. Do mostu sieciowego można przypisać adres IP i sprawdzić, czy połączenie z domyślną bramą sieciową działa prawidłowo. Warto zauważyć, że dokładnie to samo można zrobić przy użyciu DHCP. Aby przypisać adres IP do mostu sieciowego, w oknie terminala wpisz następujące polecenie: ifconfig mitm-bridge 192.168.0.199 up, a następnie sprawdź połączenie z bramą domyślną (i co za tym idzie — z resztą sieci), wpisując polecenie ping 192.168.0.1:
141
BackTrack 5. Testy penetracyjne sieci WiFi
5. Kolejnym krokiem jest włączenie w jądrze systemu opcji przekazywania pakietów IP (ang. IP Forwarding), dzięki której możliwe będzie routowanie i przekazywanie pakietów IP między sieciami. Aby to zrobić, wykonaj polecenie echo > 1 /proc/ sys/net/ipv4/ip_forward, tak jak to zostało przedstawione na rysunku poniżej:
6. Teraz możesz podłączyć klienta bezprzewodowego do punktu dostępowego o nazwie mitm. Po uzyskaniu połączenia klient za pośrednictwem DHCP automatycznie otrzyma adres IP (serwer działa po kablowej stronie bramy sieciowej). W naszym przypadku klient otrzymał adres 192.168.0.197. Aby sprawdzić funkcjonowanie połączenia z bramą sieciową, możesz teraz użyć polecenia ping 192.168.0.1, tak jak pokazano na kolejnym rysunku:
7. Jak widać na rysunku poniżej, host 192.168.0.1 odpowiada na ping, zatem połączenie z bramą sieciową działa poprawnie:
142
Rozdział 7. • Zaawansowane ataki na sieci WLAN
8. Po sprawdzeniu połączenia z bramą sieciową należy sprawdzić, czy klient jest podłączony do punktu dostępowego. Aby to zrobić, powinieneś zajrzeć do okna terminala, w którym działa polecenie airbase-ng:
9. Warto zwrócić uwagę na fakt, że ponieważ cały ruch sieciowy jest przekazywany z interfejsu bezprzewodowego do sieci kablowej, masz pełną kontrolę nad tym ruchem. Można się o tym przekonać, uruchamiając program Wireshark i rozpoczynając nasłuch pakietów na interfejsie at0:
10. Teraz z poziomu klienta wykonaj polecenie ping 192.168.0.1 i zwróć uwagę, że w oknie programu Wireshark są widoczne wszystkie pakiety przesyłane między klientem a bramą sieciową (włącz filtr pozwalający na wyświetlanie tylko pakietów ICMP), pomimo iż pakiety te nie są przeznaczone dla Ciebie. To jest właśnie prawdziwa siła ataku typu Man-in-the-Middle!
143
BackTrack 5. Testy penetracyjne sieci WiFi
Co się stało? W tym ćwiczeniu zakończyłeś przygotowanie konfiguracji środowiska do przeprowadzenia ataku typu Man-in-the-Middle. Dokonałeś tego poprzez utworzenie fałszywego punktu dostępowego i połączenie go z interfejsem Ethernet za pomocą mostu sieciowego. Taka konfiguracja powoduje, że dowolny klient bezprzewodowy podłączony do fałszywego punktu dostępowego będzie przekonany, iż jest połączony z siecią Internet za pomocą kablowego połączenia LAN.
Zrób to sam — atak typu Man-in-the-Middle w środowisku wyłącznie bezprzewodowym W poprzednim ćwiczeniu za pomocą mostu sieciowego połączyłeś interfejs bezprzewodowy z interfejsem kablowym. Jak już wspominaliśmy wcześniej, jest to tylko jedna z kilku możliwych struktur połączeń przy atakach typu Man-in-the-Middle. Bardzo interesująca konfiguracja składa się z dwóch interfejsów bezprzewodowych, z których jeden jest wykorzystany do utworzenia fałszywego punktu dostępowego, a drugi jest podłączony do autoryzowanego punktu dostępowego atakowanej sieci. Oczywiście oba interfejsy są ze sobą połączone za pomocą mostu sieciowego. W takiej sytuacji, kiedy klient bezprzewodowy łączy się z fałszywym punktem dostępowym, za pomocą mostu sieciowego utworzonego na komputerze napastnika zostaje połączony z autoryzowanym punktem dostępowym atakowanej sieci. Należy tutaj zauważyć, że taka konfiguracja wymaga zastosowania na komputerze napastnika dwóch fizycznych, bezprzewodowych kart sieciowych. W ramach ćwiczeń powinieneś spróbować przeprowadzić taki atak przy użyciu dwóch kart sieciowych, z których jedna jest wbudowana w Twoim laptopie, a druga jest kartą zewnętrzną, podłączoną na przykład przez port USB. Potraktuj to jako wyzwanie!
144
Rozdział 7. • Zaawansowane ataki na sieci WLAN
Podsłuchiwanie ruchu sieciowego na bazie ataków Man-in-the-Middle W poprzednim ćwiczeniu zobaczyłeś, jak przygotować konfigurację sieci do przeprowadzenia ataku typu Man-in-the-Middle, a teraz pokażemy, jak dzięki takiej konfiguracji przeprowadzić atak polegający na podsłuchiwaniu bezprzewodowego ruchu sieciowego (ang. Wireless Eavesdropping). Idea tego ćwiczenia opiera się na założeniu, że cały ruch sieciowy z komputera ofiary jest teraz routowany przez komputer napastnika, dzięki czemu napastnik ma możliwość przechwytywania i podsłuchiwania wszystkich pakietów wysyłanych z i do komputera ofiary.
Czas na działanie — podsłuchiwanie ruchu w sieci bezprzewodowej Aby to zrobić, uważnie wykonaj polecenia opisane poniżej: 1. Odtwórz całą konfigurację wykorzystywaną w poprzednim ćwiczeniu. Uruchom program Wireshark — obserwowanie ruchu sieciowego jeszcze przed uruchomieniem mostu mitm-bridge może być całkiem interesującym ćwiczeniem. Wireshark posłuży nam później do obserwowania całego ruchu przechodzącego przez most sieciowy:
145
BackTrack 5. Testy penetracyjne sieci WiFi
2. Rozpocznij nasłuchiwanie ruchu na interfejsie at0, dzięki czemu będziesz mógł monitorować wszystkie pakiety wysyłane i odbierane przez klienta bezprzewodowego:
3. Przejdź na klienta, uruchom przeglądarkę sieciową i wejdź na dowolną stronę internetową. W naszym przypadku punkt dostępowy jest podłączony do sieci LAN, zatem należy otworzyć jego terminal konfiguracyjny, wpisując w pasku adresu przeglądarki adres http://192.168.0.1:
4. Aby zalogować się do punktu dostępowego, podaj nazwę użytkownika i hasło dostępu:
146
Rozdział 7. • Zaawansowane ataki na sieci WLAN
5. W oknie programu Wireshark powinieneś już zaobserwować dużą liczbę pakietów przesyłanych w sieci bezprzewodowej:
147
BackTrack 5. Testy penetracyjne sieci WiFi
6. Ustaw filtr tak, aby Wireshark wyświetlał wyłącznie pakiety HTTP:
7. Jak widać, z łatwością możesz zlokalizować żądania HTPP POST, które zostały użyte do przesłania hasła do terminala konfiguracyjnego punktu dostępowego:
148
Rozdział 7. • Zaawansowane ataki na sieci WLAN
8. Poniżej przedstawiono zawartość pakietu wyróżnionego na poprzednim rysunku:
9. Rozwinięcie zawartości nagłówka HTTP pozwala zauważyć, że hasło, które zostało wprowadzone podczas logowania się do punktu dostępowego, nie jest przesyłane — zamiast niego przesyłana jest wartość funkcji skrótu tego hasła (ang. hash). Jeżeli przyjrzysz się zawartości pakietu oznaczonego na poprzednim rysunku numerem 64, zauważysz, że żądanie zostało przesłane za pomocą skryptu /md5.js, co pozwala podejrzewać, że funkcja skrótu hasła wykorzystuje algorytm md5. Warto tutaj zauważyć, że jeżeli algorytm tworzenia funkcji skrótu nie używa soli kryptograficznej (ang. cryptographic salt), zwanej inaczej ciągiem zaburzającym poszczególne sesje, to taka technika może być podatna na atak oparty na powtarzaniu pakietów. Odnalezienie niezbędnych szczegółów pozostawimy Ci jako zadanie do samodzielnego wykonania, ponieważ nie jest to bezpośrednio związane z bezpieczeństwem sieci bezprzewodowych i szczegółowe omawianie tego zagadnienia wykracza daleko poza ramy tej książki.
To ćwiczenie doskonale pokazuje, jak łatwo można monitorować i podsłuchiwać ruch generowany przez klienta po przeprowadzeniu ataku typu Man-in-the-Middle.
Co się stało? Dzięki odpowiedniemu przygotowaniu ataku Man-in-the-Middle możesz teraz bez najmniejszych problemów monitorować i podsłuchiwać ruch generowany przez niczego niepodejrzewające klienty sieci bezprzewodowej. Jest to możliwe, ponieważ w ataku typu Man-in-the-Middle cały ruch sieciowy jest przekazywany przez komputer napastnika, więc nieszyfrowany ruch sieciowy może być łatwo podsłuchany i przechwycony.
149
BackTrack 5. Testy penetracyjne sieci WiFi
Zrób to sam — odszukiwanie zapytań przesyłanych do wyszukiwarki Google W obecnych czasach raczej każdemu z nas powinno zależeć na zachowaniu poufności zapytań wpisywanych w przeglądarce Google. Niestety, domyślnie dane są przesyłane do przeglądarki za pomocą protokołu HTTP czystym, nieszyfrowanym tekstem. Sprawdź, czy potrafisz w programie Wireshark utworzyć sprytny filtr, który będzie wyświetlał na ekranie wszystkie zapytania wpisywane przez ofiarę ataku w wyszukiwarce Google.
Przechwytywanie sesji w sieciach bezprzewodowych Jednym z bardzo interesujących ataków, jakie możemy przeprowadzić na podstawie ataku Man-in-the-Middle, jest przechwytywanie sesji aplikacji. Podczas ataku Man-in-the-Middle wszystkie pakiety wysyłane przez komputer ofiary przechodzą przez komputer napastnika. Zadaniem komputera napastnika jest odpowiednie przekazywanie ich do hostów docelowych oraz przekazywanie odpowiedzi hostów do komputera ofiary. Ciekawym elementem takiego procesu jest możliwość modyfikacji danych w przekazywanych pakietach (jeżeli nie są szyfrowane lub nie korzystają z innych zabezpieczeń integralności danych). W praktyce oznacza to, że napastnik może modyfikować, uszkadzać lub nawet selektywnie usuwać wybrane pakiety. W kolejnym ćwiczeniu pokażemy, w jaki sposób można przechwycić sesję DNS, korzystając z ataku Man-in-the-Middle, a następnie na podstawie przechwyconej sesji DNS pokażemy, jak przechwycić sesję przeglądarki próbującej połączyć się z wyszukiwarką google.com.
Czas na działanie — przechwytywanie sesji w sieciach bezprzewodowych 1. Przygotuj laboratorium w takiej konfiguracji, jakiej używaliśmy w poprzednich ćwiczeniach do ataków typu Man-in-the-Middle. Na komputerze ofiary uruchom przeglądarkę sieciową i przejdź na stronę google.com, monitorując jednocześnie cały generowany w ten sposób ruch przy użyciu programu Wireshark. Okno tego programu powinno wyglądać mniej więcej tak, jak na rysunku poniżej:
150
Rozdział 7. • Zaawansowane ataki na sieci WLAN
2. W programie Wireshark ustaw filtr tak, aby wyświetlane były wyłącznie ramki protokołu DNS. Jak widać na kolejnym rysunku, komputer ofiary wysyła żądania DNS dla adresu google.com:
3. Aby przechwycić sesje przeglądarki, musisz przesłać do ofiary fałszywe odpowiedzi DNS, które będą pokazywać, że adresowi google.com odpowiada adres IP 192.168.0.199, będący w rzeczywistości adresem IP napastnika. Do tych niecnych celów należy użyć narzędzia Dnsspoof. Aby to zrobić, w oknie terminala musisz wpisać następujące polecenie: dnsspoof –i mitm-bridge:
4. Odśwież okno przeglądarki sieciowej. Od tej chwili, jak doskonale widać w oknie programu Wireshark, za każdym razem, kiedy ofiara wysyła żądanie DNS dla dowolnego hosta (włącznie z google.com), odpowiedź jest przesyłana przez program Dnsspoof:
151
BackTrack 5. Testy penetracyjne sieci WiFi
5. W oknie przeglądarki na komputerze ofiary widać teraz komunikat o wystąpieniu błędu, informujący o odmowie realizacji połączenia. Dzieje się tak dlatego, że przez atak komputer ofiary, próbując połączyć się z serwisem google.com, w rzeczywistości łączy się z komputerem napastnika o adresie 192.168.0.199, z tym że na razie na porcie 80 tego komputera nie została uruchomiona żadna usługa.
152
Rozdział 7. • Zaawansowane ataki na sieci WLAN
6. Aby to zmienić, uruchom teraz serwer Apache (dostarczany wraz z dystrybucją BackTrack). Otwórz okno terminala i wykonaj polecenie apache2ctl start.
7. Jeżeli teraz ponownie odświeżysz okno przeglądarki sieciowej na komputerze ofiary, na ekranie pojawi się domyślna strona serwera Apache:
Wykonane ćwiczenie dobrze pokazuje, w jaki sposób można przechwycić bezprzewodową sesję klienta będącego celem ataku, przeanalizować dane wysyłane przez komputer ofiary i odesłać fałszywe odpowiedzi na jego żądania.
Co się stało? Wykorzystując przygotowany wcześniej atak Man-in-the-Middle, udało Ci się pomyślnie przechwycić bezprzewodową sesję aplikacji klienta. A co działo się za kulisami? Dzięki konfiguracji do ataku Man-in-the-Middle miałeś możliwość monitorowania wszystkich pakietów wysyłanych przez ofiarę. Po przechwyceniu żądania DNS wysłanego przez ofiarę program Dnsspoof działający na komputerze napastnika odesłał do komputera ofiary fałszywą odpowiedź DNS, wskazującą, że nazwie hosta google.com odpowiada adres IP 192.168.0.199, będący w rzeczywistości adresem IP komputera napastnika. Komputer ofiary przyjmuje tę odpowiedź za prawdziwą (bo nie ma powodu, żeby ją odrzucić) i przeglądarka ofiary wysyła żądanie HTTP na port 80 komputera napastnika. W pierwszej części tego eksperymentu na porcie 80 komputera napastnika nie działała żadna usługa, która mogłaby obsłużyć żądanie klienta, stąd w oknie przeglądarki sieciowej ofiary pojawił się komunikat o wystąpieniu błędu. Następnie na komputerze napastnika uruchomiłeś serwer Apache, działający domyślnie na porcie 80, który od tej chwili rozpoczął obsługiwanie żądań HTTP wysyłanych przez komputer ofiary (w oknie przeglądarki ofiary została wyświetlona domyślna strona WWW serwera Apache). To ćwiczenie pokazuje, że po przejęciu pełnej kontroli nad niższymi warstwami protokołu sieciowego (w naszym przypadku warstwą drugą) przejęcie sesji aplikacji działających na wyższych warstwach, takich jak klienty DNS czy przeglądarki sieciowe, jest zadaniem dosyć prostym.
153
BackTrack 5. Testy penetracyjne sieci WiFi
Zrób to sam — przechwytywanie sesji aplikacji Kolejnym etapem w przechwytywaniu bezprzewodowych sesji aplikacji na podstawie ataku Man-in-the-Middle jest modyfikacja danych wysyłanych przez klienta. Zapoznaj się z pakietem Ettercap, będącym częścią dystrybucji BackTrack, który pomoże Ci tworzyć filtry pozwalające na wyszukiwanie i zamianę danych w pakietach ruchu sieciowego. W tym zadaniu powinieneś napisać prosty filtr, który będzie automatycznie zamieniał wszystkie wystąpienia słowa bezpieczeństwo na niebezpieczeństwo. Następnie spróbuj wpisać w Google słowo bezpieczeństwo i sprawdź, czy w odpowiedzi otrzymujesz trafienia związane ze słowem niebezpieczeństwo.
Odkrywanie konfiguracji zabezpieczeń klienta W poprzednich rozdziałach pokazaliśmy, jak można tworzyć podstawione punkty dostępowe (Honeypot) z otwartym dostępem, a także wykorzystujące szyfrowanie WEP i WPA, ale jak w praktyce, kiedy pracujesz w terenie i przechwytujesz pakiety sondowania (ang. Probe Requests) wysyłane przez atakowanego klienta, możesz się dowiedzieć, jakiego protokołu zabezpieczeń używa sieć, do której usiłuje podłączyć się klient? Choć na pierwszy rzut oka zadanie może się wydawać nieco karkołomne, w praktyce rozwiązanie jest bardzo proste. Aby się o tym przekonać, należy utworzyć kilka punktów dostępowych rozgłaszających sieć o takim samym identyfikatorze SSID, ale różnych konfiguracjach zabezpieczeń. Kiedy klient poszukujący sieci odnajdzie takie punkty dostępowe, automatycznie podłączy się do skonfigurowanego tak, jak sieć, której poszukuje (a której konfiguracja jest przechowywana przez klienta w profilu sieci). A zatem zaczynamy!
Czas na działanie — odkrywanie profili zabezpieczeń klientów bezprzewodowych 1. Ćwiczenie rozpocznij od przyjęcia założenia, że klient będący celem ataku był skonfigurowany pod kątem sieci o nazwie Wireless Lab i kiedy nie jest podłączony do żadnego punktu dostępowego, aktywnie rozsyła pakiety sondujące w poszukiwaniu tej sieci. Aby odkryć konfigurację zabezpieczeń tej sieci, musisz utworzyć kilka punktów dostępowych o różnych konfiguracjach. Na potrzeby tego ćwiczenia przyjmij, że klient jest przygotowany do pracy w jednej z następujących konfiguracji: uwierzytelnianie z otwartym dostępem, szyfrowanie WEP, szyfrowanie WPA PSK lub szyfrowanie WPA2 PSK. Oznacza to, że trzeba utworzyć cztery punkty dostępowe.
154
Rozdział 7. • Zaawansowane ataki na sieci WLAN
Aby to zrobić, musisz najpierw utworzyć cztery wirtualne interfejsy sieciowe, o nazwach odpowiednio mon0, mon1, mon2 i mon3. Dokonasz tego poprzez kilkukrotne wykonanie polecenia airmon-ng start wlan0, tak jak przedstawiono na rysunku poniżej:
2. Aby wyświetlić na ekranie wszystkie nowo utworzone interfejsy, powinieneś wykonać polecenie ifconfig -a, jak widać na kolejnym rysunku:
155
BackTrack 5. Testy penetracyjne sieci WiFi
3. Teraz możesz przystąpić do utworzenia pierwszego punktu dostępowego, wykorzystującego interfejs mon0 i uwierzytelnianie z otwartym dostępem:
4. Na interfejsie mon1 utwórz punkt dostępowy z szyfrowaniem WEP:
5. Interfejsu mon2 użyj do utworzenia punktu dostępowego z szyfrowaniem WPA PSK:
6. Wreszcie ostatni interfejs, mon3, zostanie użyty do utworzenia punktu dostępowego z szyfrowaniem WPA2 PSK:
156
Rozdział 7. • Zaawansowane ataki na sieci WLAN
7. Aby sprawdzić, czy wszystkie cztery punkty dostępowe działają poprawnie, użyj polecenia airodump-ng do nasłuchiwania na tym samym kanale:
8. Po utworzeniu wszystkich punktów dostępowych możesz włączyć bezprzewodową kartę sieciową w kliencie. W zależności od tego, z jakiej sieci Wireless Lab klient ostatnio korzystał, automatycznie podłączy się do punktu dostępowego o takiej konfiguracji zabezpieczeń. W naszym przypadku klient podłączył się do punktu dostępowego sieci z szyfrowaniem WPA PSK.
Co się stało? W tym ćwiczeniu utworzyłeś kilka podstawionych punktów dostępowych, które rozgłaszały sieć Wi-Fi o takim samym identyfikatorze SSID, ale o różnych konfiguracjach zabezpieczeń. Klient poszukujący sieci o takim identyfikatorze SSID automatycznie podłączał się do punktu dostępowego o konfiguracji, jaka występowała podczas ostatniego połączenia klienta z oryginalną siecią Wireless Lab. Opisana technika może być bardzo przydatna w praktyce, ponieważ kiedy przeprowadzasz test penetracyjny, nie zawsze z góry będziesz wiedział, jakiej konfiguracji zabezpieczeń sieci używa dany klient. Nasze rozwiązanie pozwala na szybkie określenie właściwej konfiguracji przez podsunięcie klientowi „przynęty” w postaci fałszywego punktu dostępowego. W literaturze przedmiotu taka technika jest często określana nazwą WiFishing (z ang. WiFi — sieci bezprzewodowe, fishing — wędkowanie, łowienie ryb).
157
BackTrack 5. Testy penetracyjne sieci WiFi
Zrób to sam — podsuwanie „przynęty” klientowi Zmieniaj konfigurację zabezpieczeń sieci bezprzewodowej klienta i sprawdź, czy Twój zestaw punktów dostępowych (Honeypot) jest w stanie je wykryć. Warto zauważyć, że wiele klientów Wi-Fi jest skonfigurowanych tak, aby w razie braku połączenia z punktem dostępowym nie wysyłać pakietów sondowania sieci domyślnej. W takiej sytuacji wykrycie konfiguracji sieci domyślnej przy użyciu technik opisanych powyżej nie będzie możliwe.
Szybki quiz — zaawansowane ataki na sieci WLAN 1. Kto znajduje się „w środku” podczas ataku typu Man-in-the-Middle: a) Punkt dostępowy. b) Komputer napastnika. c) Komputer ofiary. d) Żaden z powyższych. 2. Pakiet Dnsspoof: a) Pozwala na fałszowanie żądań DNS. b) Pozwala na fałszowanie odpowiedzi serwera DNS. c) Musi być uruchomiony na serwerze DNS. d) Musi być uruchomiony na punkcie dostępowym. 3. Atak typu Man-in-the-Middle na sieć bezprzewodową może zostać przeprowadzony: a) Na wszystkich klientach bezprzewodowych w tym samym czasie. b) Tylko na jednym kanale w tym samym czasie. c) Tylko na sieci o danym identyfikatorze SSID w tym samym czasie. d) Zarówno (b), jak i (c). 4. Interfejs, który podczas ataku Man-in-the-Middle znajdował się najbliżej ofiary, nosi nazwę: a) At0. b) Eth0. c) Br0. d) En0.
158
Rozdział 7. • Zaawansowane ataki na sieci WLAN
Podsumowanie W tym rozdziale przeczytałeś, w jaki sposób można przeprowadzać zaawansowane ataki na sieci bezprzewodowe, wykorzystując atak typu Man-in-the-Middle. W ramach ćwiczeń utworzyłeś konfigurację sieci do przeprowadzenia ataku Man-in-the-Middle, a następnie używałeś jej do podsłuchiwania ruchu sieciowego generowanego przez komputer ofiary. Później użyłeś tej samej konfiguracji sieci do przeprowadzenia ataku polegającego na przechwyceniu sesji aplikacji (w tym wypadku przeglądarki sieciowej) przy użyciu ataku opartego na fałszowaniu odpowiedzi serwera DNS. W kolejnym rozdziale pokażemy, jak przeprowadzać testy penetracyjne sieci bezprzewodowych od fazy początkowego planowania poprzez rozpoznawanie i odkrywanie konfiguracji aż do fazy przeprowadzania końcowych ataków i raportowania osiągniętych wyników. Omówimy również kilka zagadnień związanych z najlepszymi procedurami i praktykami zabezpieczania sieci WLAN.
159
BackTrack 5. Testy penetracyjne sieci WiFi
160
8 Ataki na sieci WLAN z szyfrowaniem WPA-Enterprise i serwerami Radius „Nie taki diabeł straszny, jak go malują”. Popularne przysłowie
Protokół WPA-Enterprise zawsze miał opinię odpornego na próby złamania. Do tej pory zresztą większość administratorów sieci bezprzewodowych sądzi, że zastosowanie tego protokołu jest uniwersalnym panaceum na wszystkie problemy związane z zabezpieczeniem ich sieci. W tym rozdziale pokażemy, że nic nie może być dalsze od prawdy.
W kolejnych podrozdziałach pokażemy, w jaki sposób można przeprowadzić atak na protokół WPA-Enterprise przy użyciu różnych technik i narzędzi dostępnych w dystrybucji BackTrack. W tym rozdziale omówimy następujące zagadnienia: Q Konfiguracja serwera FreeRadius WPE. Q Ataki na protokół PEAP na klientach Windows. Q Ataki na protokół EAP-TTLS. Q Dobre praktyki w zabezpieczaniu korporacyjnych sieci bezprzewodowych.
BackTrack 5. Testy penetracyjne sieci WiFi
Konfiguracja serwera FreeRadius WPE Do przeprowadzania ataków na sieci wykorzystujące protokół WPA-Enterprise będzie Ci potrzebny własny serwer Radius. Najpopularniejszym serwerem Radius typu open source jest FreeRadius. Trzeba jednak zauważyć, że konfiguracja tego serwera jest zadaniem bardzo złożonym, a co za tym idzie — przygotowanie odpowiedniej konfiguracji serwera do poszczególnych ataków może być bardzo nużącym zajęciem. Joshua Wright, jeden z dobrze znanych w branży specjalistów zajmujących się bezpieczeństwem sieci komputerowych, jest autorem aktualizacji dla serwera FreeRadius, która znakomicie ułatwia konfigurację serwera i przeprowadzanie ataków z jego wykorzystaniem. Wspomniana aktualizacja nosi nazwę FreeRadius WPE (ang. Wireless Pwnage Edition). Warto zauważyć, że oprogramowanie to jest już zainstalowane w dystrybucji BackTrack, dlatego nie musimy instalować żadnych dodatkowych modułów. A zatem do pracy! Ćwiczenie rozpoczniemy od konfiguracji serwera Radius w dystrybucji BackTrack.
Czas na działanie — konfiguracja punktu dostępowego wykorzystującego serwer FreeRadius WPE Aby to zrobić, uważnie wykonaj polecenia opisane poniżej: 1. Podłącz jeden z portów LAN punktu dostępowego do portu Ethernet komputera, na którym działa system BackTrack. W naszym przypadku będzie to interfejs eth1. Uaktywnij interfejs i przy użyciu DHCP przypisz mu odpowiedni adres IP, tak jak przedstawiono na rysunku poniżej:
162
Rozdział 8. • Ataki na sieci WLAN z szyfrowaniem WPA-Ent. i serwerami Radius
2. Zaloguj się do terminala konfiguracyjnego punktu dostępowego i z listy Security Mode wybierz opcję WPA-Enterprise. Następnie w sekcji EAP (802.1x) w polu RADIUS server IP Address wpisz 192.168.0.198. Jest to adres, który został przydzielony do naszego kablowego interfejsu sieciowego w punkcie 1. Poufnym hasłem serwera Radius (opcja RADIUS server Shared Secret) będzie w naszym przypadku słowo test:
3. Teraz otwórz nowe okno terminala i przejdź do katalogu /usr/local/etc/raddb, w którym znajdują się wszystkie pliki konfiguracyjne serwera FreeRadius WPE:
163
BackTrack 5. Testy penetracyjne sieci WiFi
4. Otwórz plik eap.conf i poszukaj opcji default_eap_type. Domyślnie opcja powinna być ustawiona na wartość peap i tak też ją pozostawimy:
5. Otwórz plik clients.conf. W tym pliku można zdefiniować listę klientów, którzy są uprawnieni do połączenia z serwerem Radius. Zwróć uwagę, że poufne hasło klientów (ang. share secret) dla podsieci 192.168.0.0/16 jest domyślnie ustawione na test. Dokładnie takiego hasła użyliśmy w punkcie 2.
164
Rozdział 8. • Ataki na sieci WLAN z szyfrowaniem WPA-Ent. i serwerami Radius
6. Teraz jesteś już gotowy do uruchomienia serwera Radius. Aby to zrobić, powinieneś z poziomu okna terminala wykonać polecenie radiusd -s -X:
7. Po uruchomieniu tego polecenia na ekranie będzie pojawiała się duża ilość informacji diagnostycznych, ale po chwili serwer rozpocznie działanie i nasłuchiwanie w oczekiwaniu na napływające żądania. Świetnie! Konfiguracja jest już gotowa do użycia w kolejnych doświadczeniach, o których powiemy za chwilę:
Co się stało? Właśnie udało Ci się pomyślnie skonfigurować i uruchomić serwer FreeRadius WPE, którego będziesz używać w kolejnych doświadczeniach opisywanych w dalszej części tego rozdziału.
Zrób to sam — zapoznanie się z serwerem Radius Serwer FreeRadius WPE posiada ogromną liczbę opcji konfiguracyjnych, stąd zapoznanie się z nimi jest naprawdę dobrym pomysłem. Przeglądając dokumentację i poznając możliwości serwera FreeRadius WPE, powinieneś również zapoznać się z plikami konfiguracyjnymi tego serwera i dowiedzieć się, jakie są zależności między nimi.
165
BackTrack 5. Testy penetracyjne sieci WiFi
Ataki na protokół PEAP Protokół PEAP (ang. Protected Extensible Authentication Protocol) jest najczęściej używaną wersją protokołu EAP. Protokół PEAP to mechanizm uwierzytelniania domyślnie zaimplementowany i wykorzystywany w systemie Windows. Protokół PEAP występuje w dwóch wersjach: 1. PEAPv0 z uwierzytelnianiem EAP-MSCHAPv2 (ang. Extensible Authentication Protocol — Microsoft Challenge Handshake Authentication Protocol) — jest używany najczęściej, ponieważ system Windows posiada wbudowaną obsługę tego protokołu. 2. PEAPv1 z uwierzytelnianiem EAP-GTC (ang. Extensible Authentication Protocol — Generic Token Card). Protokół PEAP do uwierzytelniania serwera wykorzystuje certyfikat pobierany z magazynu certyfikatów serwera Radius. Niemal wszystkie ataki na protokół PEAP wykorzystują błędy w konfiguracji uwierzytelniania certyfikatów. W kolejnym ćwiczeniu pokażemy, jak można złamać zabezpieczenia protokołu PEAP w sytuacji, kiedy klient ma wyłączoną weryfikację certyfikatów.
Czas na działanie — łamanie zabezpieczeń protokołu PEAP Aby to zrobić, uważnie wykonaj polecenia opisane poniżej: 1. Zanim rozpoczniesz, musisz jeszcze raz upewnić się, że protokół PEAP jest włączony. W tym celu powinieneś zajrzeć do pliku eap.conf:
166
Rozdział 8. • Ataki na sieci WLAN z szyfrowaniem WPA-Ent. i serwerami Radius
2. Uruchom serwer Radius, wpisując w oknie terminala polecenie radiusd -s -X:
3. Rozpocznij monitorowanie pliku dziennika utworzonego przez serwer FreeRadius WPE, wpisując w oknie terminala polecenie przedstawione na rysunku zamieszczonym poniżej:
4. System Windows ma wbudowaną obsługę protokołu PEAP. Upewnij się, że weryfikacja certyfikatów została wyłączona:
167
BackTrack 5. Testy penetracyjne sieci WiFi
5. Teraz musisz podłączyć klienta do punktu dostępowego, tak aby system Windows rozpoczął uwierzytelnianie PEAP:
6. Kiedy klient Windows podłączy się do punktu dostępowego, na ekranie pojawi się okno dialogowe z żądaniem podania nazwy użytkownika i hasła. Jako nazwę użytkownika wpisz SecurityTube, a jako hasło — abcdefghi:
7. Natychmiast po podaniu nazwy użytkownika i hasła możesz zobaczyć, że w pliku dziennika serwera Radius pojawiły się ciąg wezwania i odpowiedzi na wezwanie, wygenerowane podczas uwierzytelniania MSCHAP v2:
168
Rozdział 8. • Ataki na sieci WLAN z szyfrowaniem WPA-Ent. i serwerami Radius
8. Teraz możesz użyć programu Asleap do przeprowadzenia ataku słownikowego na hasło uwierzytelniania. Jeżeli użyty plik słownika zawiera hasło abcdefghi, to będziesz w stanie je odszukać i złamać:
Co się stało? W tym ćwiczeniu utworzyłeś podstawiony punkt dostępowy (Honeypot) wykorzystujący do uwierzytelniania użytkowników serwer FreeRadius WPE. „Klient korporacyjny” był niepoprawnie skonfigurowany i miał wyłączoną weryfikację certyfikatów PEAP. Taki błąd w konfiguracji pozwolił na przedstawienie klientowi Twojego własnego certyfikatu, który został przez klienta zaakceptowany. Następnie do akcji wszedł wewnętrzny protokół uwierzytelniania, MSCHAP v2. Ponieważ klient do szyfrowania przesyłanych danych używał podstawionego, sfałszowanego certyfikatu, nie miałeś żadnych trudności z pozyskaniem nazwy użytkownika, ciągu wezwania i odpowiedzi na wezwanie. Protokół MSCHAP v2 jest podatny na ataki słownikowe. Do ataku na hasło (złamania klucza ciągu wezwania i odpowiedzi na wezwanie) użyłeś programu Asleap. Ponieważ hasło znajdowało się w użytym pliku słownika, atak zakończył się powodzeniem.
Zrób to sam — różne odmiany ataków na protokół PEAP Protokół PEAP można niepoprawnie skonfigurować na wiele sposobów. Na przykład jeżeli administrator nie umieści autoryzowanych serwerów na liście Connect to these servers, to nawet jeśli weryfikacja certyfikatów będzie włączona, napastnik może pozyskać rzeczywisty, autentyczny certyfikat dla innej domeny z dowolnego urzędu certyfikacji (ang. certifying authority) znajdującego się na liście i taki certyfikat zostanie zaakceptowany przez klienta. Oczywiście można sobie bez trudu wyobrazić jeszcze wiele innych odmian takiego ataku. W ramach ćwiczeń powinieneś zapoznać się również z innymi metodami ataków i je wypróbować.
169
BackTrack 5. Testy penetracyjne sieci WiFi
Ataki na protokół EAP-TTLS W przypadku protokołu EAP-TTLS (ang. Extensible Authentication Protocol — Tunneled Transport Layer Security) serwer uwierzytelnia się za pomocą certyfikatu. Klient również może opcjonalnie używać certyfikatów. Niestety, protokół ten nie jest w systemie Windows obsługiwany domyślnie i wymaga zastosowania dodatkowego oprogramowania innych producentów. W protokole EAP-TTLS istnieje możliwość wybrania jednego z wielu wewnętrznych protokołów uwierzytelniania, a jedną z najpopularniejszych opcji jest znany nam już MSCHAP v2. Ponieważ system Windows domyślnie nie obsługuje protokołu EAP-TTLS, w kolejnym przykładzie należy użyć komputera działającego w systemie OS X.
Czas na działanie — łamanie zabezpieczeń protokołu EAP-TTLS Aby to zrobić, uważnie wykonaj polecenia opisane poniżej: 1. Protokół EAP-TTLS w pliku konfiguracyjnym eap.conf również jest włączony domyślnie. Aby zacząć doświadczenie, włącz serwer Radius i rozpocznij monitorowanie jego pliku dziennika:
170
Rozdział 8. • Ataki na sieci WLAN z szyfrowaniem WPA-Ent. i serwerami Radius
2. Następnie podłącz klienta. Jako nazwę użytkownika wpisz SecurityTube, a jako hasło — demo12345.
3. Tak jak w poprzednim ćwiczeniu w pliku dziennika natychmiast pojawią się ciąg wezwania protokołu MSCHAP v2 oraz odpowiedź na to wezwanie:
4. Ponownie użyj teraz programu Asleap do złamania hasła. Pamiętaj, że ponieważ przeprowadzasz atak słownikowy, powodzenie lub porażka zależy od tego, czy hasło danego użytkownika znajduje się w słowniku. Aby pokazać, że jeżeli hasła nie ma w słowniku, atak zakończy się niepowodzeniem, możesz usunąć hasło klienta z użytego słownika (na przykład domyślnego słownika systemu BackTrack) i ponownie przystąpić do próby złamania.
171
BackTrack 5. Testy penetracyjne sieci WiFi
Co się stało? Proces łamania protokołu EAP-TTLS jest niemal taki sam jak protokołu PEAP. Po zaakceptowaniu przez klienta fałszywego certyfikatu można przechwycić ciąg wezwania protokołu MSCHAP v2 i odpowiedź na ten ciąg. Ponieważ protokół MSCHAP v2 jest podatny na atak słownikowy, do złamania hasła ponownie użyłeś programu Asleap oraz odpowiedniego pliku słownika.
Zrób to sam — EAP-TTLS W ramach ćwiczeń powinieneś spróbować użyć technik omawianych przy okazji protokołu PEAP do przeprowadzenia innych odmian ataków na protokół EAP-TTLS.
Dobre praktyki zabezpieczania korporacyjnych sieci bezprzewodowych Do tej pory omówiliśmy wiele różnych ataków na protokoły WPA/WPA2, zarówno w wersji PSK, jak i Enterprise. Dzięki naszym doświadczeniom możemy zarekomendować następujące rozwiązania: 1. W małych i średnich przedsiębiorstwach i organizacjach powinieneś używać protokołu WPA2 PSK z silnym hasłem. Do dyspozycji masz aż 63 znaki — zrób z nich dobry użytek. 2. W przypadku dużych firm i korporacji rekomendowane będzie zastosowanie protokołu WPA-Enterprise z uwierzytelnianiem EAP-TLS. Takie rozwiązanie wykorzystuje do uwierzytelniania certyfikaty po stronie zarówno serwera, jak i klienta i obecnie uchodzi za praktycznie niemożliwe do złamania. 3. Jeżeli z takiego czy innego powodu jesteś zmuszony do użycia protokołu WPA2-Enterprise z uwierzytelnianiem PEAP lub EAP-TTLS, powinieneś upewnić się, że weryfikacja certyfikatów jest włączona, korzystasz z odpowiednich, zaufanych urzędów certyfikacji, używasz wyłącznie autoryzowanych serwerów Radius oraz wszystkie pozostałe opcje, pozwalające użytkownikowi na zaakceptowanie nowego serwera Radius, innych certyfikatów czy urzędów certyfikacji, są wyłączone.
Szybki quiz — ataki na protokół WPA-Enterprise i serwery Radius 1. FreeRadius WPE to: a) Nowa wersja serwera Radius, napisana praktycznie od zera. b) Aktualizacja serwera FreeRadius. c) Integralna część wszystkich dystrybucji systemu Linux. d) Żadna z powyższych odpowiedzi nie jest poprawna.
172
Rozdział 8. • Ataki na sieci WLAN z szyfrowaniem WPA-Ent. i serwerami Radius
2. Atak na protokół PEAP może zostać przeprowadzony z wykorzystaniem: a) Fałszywego poświadczenia (nazwa użytkownika i hasło). b) Fałszywych certyfikatów. c) Protokołu WPA PSK. d) Wszystkie powyższe odpowiedzi są poprawne. 3. Protokół EAP-TLS wykorzystuje: a) Certyfikaty po stronie klienta. b) Certyfikaty po stronie serwera. c) Odpowiedź (a) lub odpowiedź (b). d) Odpowiedź (a) i odpowiedź (b). 4. Protokół EAP-TTLS wykorzystuje: a) Certyfikaty wyłącznie po stronie klienta. b) Certyfikaty wyłącznie po stronie serwera. c) Uwierzytelnianie oparte na hasłach dostępu. d) Protokół LEAP.
Podsumowanie W tym rozdziale pokazaliśmy, jak można przeprowadzić udany atak na protokół WPA-Enterprise z uwierzytelnianiem PEAP lub EAP-TTLS, dwoma najczęściej wykorzystywanymi mechanizmami uwierzytelniania w dużych sieciach korporacyjnych. W kolejnym rozdziale pokażemy, w jaki sposób używać technik omawianych w poprzednich rozdziałach do przeprowadzania testów penetracyjnych sieci bezprzewodowych działających w realnym świecie.
173
BackTrack 5. Testy penetracyjne sieci WiFi
174
9 Metodologia testów penetracyjnych sieci bezprzewodowych „Nie mów hop, póki nie przeskoczysz”. Popularne przysłowie
W poprzednich ośmiu rozdziałach omówiliśmy bardzo szeroki zakres zagadnień. Teraz nadszedł czas, aby sprawdzić zdobyte wiadomości w praktyce!
W tym rozdziale pokażemy, w jaki sposób powinieneś przeprowadzać testy penetracyjne sieci bezprzewodowych, wykorzystując wiedzę, którą zdobyłeś do tej pory. W ramach ćwiczeń przeprowadzimy rozpoznanie wybranej sieci bezprzewodowej i przejdziemy do kolejnych etapów testów penetracyjnych.
Testy penetracyjne sieci bezprzewodowych Metodologia przeprowadzania testów penetracyjnych sieci bezprzewodowych praktycznie nie różni się od testów przeprowadzanych w sieciach kablowych. Drobne różnice są widoczne jedynie w technikach wykorzystywanych w różnych fazach testów. Jeżeli masz już jakieś doświadczenia z testami penetracyjnymi tradycyjnych, kablowych sieci komputerowych, z pewnością poczujesz się tutaj jak w domu. Jeżeli jednak nie masz takich doświadczeń, nie jest to powód do zmartwień — wykonując doświadczenia opisane w tym rozdziale, bardzo szybko nabierzesz wprawy i pewności siebie!
BackTrack 5. Testy penetracyjne sieci WiFi
Ogólnie rzecz biorąc, proces przeprowadzania testów penetracyjnych sieci bezprzewodowej można podzielić na cztery główne etapy: 1. Faza planowania. 2. Faza rozpoznania. 3. Faza ataku. 4. Faza raportowania. W kolejnych podrozdziałach omówimy oddzielnie każdy z tych etapów.
Planowanie W tej fazie należy zająć się następującymi zagadnieniami: 1. Zakres planowanego testu — klient zatrudniający specjalistę do przeprowadzenia testów penetracyjnych powinien z góry zdefiniować zakres testu, jaki należy przeprowadzić. Zazwyczaj obejmuje to takie informacje, jak: Q Lokalizacja sieci, która będzie testowana. Q Całkowity obszar pokryty zasięgiem sieci na terenie firmy i terenach przyległych. Q Przybliżona liczba zainstalowanych punktów dostępowych oraz autoryzowanych klientów bezprzewodowych. Q Identyfikatory sieci, które powinny zostać przetestowane. Q To, czy powinieneś przeprowadzić próby wykorzystania wykrytych słabości sieci, czy też klientowi wystarczy tylko raport o słabych stronach. 2. Oszacowanie czasu i zasobów niezbędnych do przeprowadzenia testów — po ustaleniu zakresu testów, jakie mają zostać przeprowadzone, powinieneś przystąpić do oszacowania zasobów niezbędnych do ich przeprowadzenia. Oszacowanie powinno zawierać takie informacje, jak: Q Szacowana liczba dni, w których przeprowadzane będą testy penetracyjne. Q Szacowana liczba roboczogodzin niezbędna do przeprowadzenia uzgodnionego zakresu testów penetracyjnych, analizy wyników oraz przygotowania raportów i dokumentacji. Q Rodzaj przeprowadzanych testów w zależności od wymagań klienta. 3. Dokumenty prawne — przeprowadzanie testów penetracyjnych to bardzo poważne zadanie i zawsze istnieje możliwość, że może się wydarzyć coś nieprzewidzianego, co doprowadzi do mniejszych bądź większych perturbacji w funkcjonowaniu testowanej sieci. Z tego powodu zawsze powinieneś mieć pod ręką odpowiednią, podpisaną z klientem umowę o zwolnieniu z odpowiedzialności, zapewniającą, że ani osoba przeprowadzająca testy penetracyjne, ani firma czy organizacja, którą reprezentuje, nie będą pociągnięte do odpowiedzialności za żadne szkody mogące powstać w wyniku przeprowadzania testów penetracyjnych. Bardzo często zdarza się również, że klient żąda podpisania umowy o zachowaniu poufności (ang. NDA — Non Disclosure Agreement), która zapewnia, że dane zebrane podczas testów penetracyjnych nie będą udostępniane podmiotom trzecim, niebędącym stronami
176
Rozdział 9. • Metodologia testów penetracyjnych sieci bezprzewodowych
umowy. Oprócz tego przed przystąpieniem do testów penetracyjnych powinieneś zapoznać się z lokalnymi przepisami prawnymi, regulującymi takie sprawy, jak dozwolone kanały i częstotliwości czy maksymalna moc nadawania. Zachowanie zgodności z wymogami prawa jest niezmiernie istotnym czynnikiem podczas przeprowadzania testów penetracyjnych. Po pomyślnym zakończeniu fazy planowania i przygotowań można rozpocząć działania operacyjne.
Rozpoznanie W tej fazie będziemy skanować ruch w sieci bezprzewodowej w celu odszukania i zidentyfikowania punktów dostępowych oraz klientów bezprzewodowych znajdujących się w najbliższym otoczeniu. A zatem do dzieła!
Czas na działanie — odszukiwanie oraz identyfikacja urządzeń bezprzewodowych Aby to zrobić, uważnie wykonaj polecenia opisane poniżej: 1. Utwórz nowy interfejs sieciowy pracujący w trybie monitora, tak jak pokazano na rysunku zamieszczonym poniżej:
177
BackTrack 5. Testy penetracyjne sieci WiFi
2. Użyj polecenia airodump-ng do skanowania ruchu w sieciach bezprzewodowych, w których zasięgu się znajdujesz. Upewnij się, że włączyłeś tryb skakania po kanałach zarówno dla pasma 802.11b, jak i g:
3. Podczas prowadzenia pasywnego nasłuchu zmieniaj lokalizację, poruszając się po całym terenie wyznaczonym przez zleceniodawcę, tak aby wykryć jak największą liczbę klientów i punktów dostępowych:
4. Poproś administratora sieci o udostępnienie listy adresów MAC wszystkich autoryzowanych punktów dostępowych i klientów bezprzewodowych. Taka lista bardzo Ci się przyda w kolejnej fazie testowania (patrz rysunek na następnej stronie).
Co się stało? W tej fazie zakończyłeś skanowanie sieci bezprzewodowych dostępnych na całym obszarze wyznaczonym przez zleceniodawcę, co dało Ci dobry obraz sytuacji w zakresie dostępnych sieci bezprzewodowych, punktów dostępowych i klientów zlokalizowanych w interesującym Cię obszarze. To dobry punkt wyjścia do kolejnych etapów testowania sieci. Po zakończeniu skanowania musisz przeanalizować otrzymane wyniki i dopiero wtedy możesz przystąpić do właściwych testów penetracyjnych (faza ataku).
Atak Skanowanie sieci, a następnie analiza otrzymanych danych przeprowadzone w fazie rozpoznania dają dobry obraz sieci bezprzewodowej w interesującym Cię obszarze i pozwalają na rozłożenie testów penetracyjnych na poszczególne, bardziej elementarne zadania składowe.
178
Rozdział 9. • Metodologia testów penetracyjnych sieci bezprzewodowych
W fazie ataku będziesz wykonywać następujące zadania: Q Wykrywanie podstawionych, fałszywych punktów dostępowych. Q Wykrywanie klientów z wymuszonymi skojarzeniami do fałszywych punktów dostępowych. Q Wykrywanie nieautoryzowanych klientów bezprzewodowych. Q Atak i łamanie kluczy szyfrowania sieci. Q Włamanie do infrastruktury sieci. Q Przełamywanie zabezpieczeń klientów.
Wykrywanie fałszywych punktów dostępowych Jak pamiętasz, administrator sieci dostarczył Ci listę adresów MAC autoryzowanych klientów i punktów dostępowych. W naszym przypadku wygląda ona następująco: Autoryzowany punkt dostępowy: Q ESSID — Wireless Lab. Q Adres MAC — 00:21:91:D2:8E:25. Q Konfiguracja — WPA PSK.
179
BackTrack 5. Testy penetracyjne sieci WiFi
Autoryzowany klient: Q Adres MAC — 60:FB:42:D5:E4:01.
Teraz można użyć tej listy do wykrywania potencjalnych fałszywych punktów dostępowych zlokalizowanych w zasięgu testowanej sieci.
Czas na działanie — wykrywanie fałszywych punktów dostępowych Aby to zrobić, uważnie wykonaj polecenia opisane poniżej: 1. Najpierw musisz wykonać zrzut listy adresów MAC wszystkich klientów sieci kablowej z przełączników sieciowych tej sieci. W większości przypadków adresy MAC interfejsu sieci kablowej i bezprzewodowej klienta różnią się o 1. My na przełącznikach sieciowych znaleźliśmy następujące adresy MAC: 00:21:91:D2:8E:26 oraz 00:24:B2:24:7E:BF, które są zbliżone do adresów MAC wykrytych wcześniej w ruchu sieciowym. 2. Pierwszy adres MAC jest zbliżony do adresu MAC autoryzowanego punktu dostępowego, co widać na rysunku poniżej:
180
Rozdział 9. • Metodologia testów penetracyjnych sieci bezprzewodowych
3. Skoro zidentyfikowałeś autoryzowany punkt dostępowy, możesz wyciągnąć wniosek, że drugi punkt dostępowy sieci o identyfikatorze ESSID New NETGEAR, adresie MAC bezprzewodowej karty sieciowej 00:24:B2:24:7E:BE oraz adresie MAC interfejsu kablowego 00:24:B2:24:7E:BF jest prawdopodobnie podejrzanym, fałszywym punktem dostępowym podłączonym do testowanej sieci:
4. Po zidentyfikowaniu podejrzanego punktu dostępowego możesz zalogować się do przełącznika sieciowego i przy użyciu odpowiednich poleceń zlokalizować port, do którego podłączony jest ten punkt dostępowy, a następnie fizycznie zlokalizować i usunąć samo urządzenie.
Co się stało? Przy użyciu prostej techniki polegającej na porównywaniu i dopasowywaniu adresów MAC udało Ci się wykryć i zlokalizować podstawiony, fałszywy punkt dostępowy. Warto jednak zauważyć, że taką metodę można łatwo „oszukać” i nie daje ona pewnych wyników. Aby mieć możliwość deterministycznego wykrywania fałszywych punktów dostępowych, powinieneś używać odpowiednich systemów zapobiegających włamaniom, które do wykrywania fałszywych punktów dostępowych wykorzystują cały arsenał odpowiednich technik, włącznie z wysyłaniem odpowiednio spreparowanych pakietów sieciowych.
Wykrywanie nieautoryzowanych klientów bezprzewodowych Jednym z kluczowych zagadnień związanych z bezpieczeństwem korporacyjnych sieci bezprzewodowych jest możliwość podłączania się do nich nieautoryzowanych klientów używanych przez niefrasobliwych pracowników lub co gorsza, kontrolowanych przez potencjalnego napastnika, który mógł włamać się do sieci. W kolejnym podrozdziale pokażemy metody wykrywania takich nieautoryzowanych klientów. 181
BackTrack 5. Testy penetracyjne sieci WiFi
Czas na działanie — wykrywanie nieautoryzowanych klientów bezprzewodowych Aby to zrobić, uważnie wykonaj polecenia opisane poniżej: 1. Przyjrzyj się wynikom działania polecenia airodump-ng, dotyczącym klientów:
2. Łatwo zauważyć, że na liście znalazł się klient o nieznanym adresie MAC, który jest skojarzony z autoryzowanym punktem dostępowym (klienta o takim adresie MAC nie ma na liście klientów dostarczonej przez administratora):
3. W taki sposób możesz szybko wykryć i zlokalizować nieautoryzowane klienty podłączone do testowanej sieci.
Co się stało? W tym doświadczeniu użyłeś polecenia airodump-ng do odszukania nieautoryzowanych klientów podłączonych do autoryzowanego punktu dostępowego. Odnalezienie takiego klienta prowadzi do wniosku, że albo autoryzowany użytkownik korzysta z nieautoryzowanego urządzenia sieciowego, albo nieautoryzowany użytkownik (lub potencjalny napastnik) przełamał zabezpieczenia sieci i uzyskał połączenie z autoryzowanym punktem dostępowym.
Atak i łamanie klucza szyfrowania sieci Przyjrzyj się teraz autoryzowanej sieci bezprzewodowej i przekonaj, czy uda Ci się złamać klucz szyfrowania WPA. Z danych dostarczonych przez administratora wiemy, że sieć jest szyfrowana za pomocą protokołu WPA PSK, co z punktu widzenia próby złamania klucza samo w sobie jest złym znakiem. Mimo to możesz się pokusić o przeprowadzenie prostego ataku słownikowego, co pozwoli Ci ocenić siłę zaimplementowanego klucza szyfrowania sieci. 182
Rozdział 9. • Metodologia testów penetracyjnych sieci bezprzewodowych
Czas na działanie — łamanie szyfrowania WPA Aby to zrobić, uważnie wykonaj polecenia opisane poniżej: 1. Uruchom polecenie airodump-ng, tak aby monitorowało punkt dostępowy sieci Wireless Lab. Możesz tego dokonać, ustawiając odpowiedni filtr:
2. Polecenie airodump-ng rozpoczyna gromadzenie pakietów i oczekuje na rozpoczęcie negocjacji uwierzytelniania WPA:
3. Na szczęście do sieci jest w tej chwili podłączony jakiś klient, dzięki czemu możesz nieco przyspieszyć sprawę, wykonując atak typu anulowanie uwierzytelnienia:
183
BackTrack 5. Testy penetracyjne sieci WiFi
4. Dzięki wymuszeniu rozłączenia i ponownego podłączenia autoryzowanego klienta do punktu dostępowego masz możliwość przechwycenia pakietów wysyłanych podczas negocjowania uwierzytelnienia WPA:
5. Teraz możemy uruchomić polecenie aircrack-ng i rozpocząć atak słownikowy na hasło WPA:
6. Ponieważ wybrane hasło było zbyt proste, można je było złamać, posługując się atakiem słownikowym, tak jak zostało to zilustrowane na kolejnym rysunku:
184
Rozdział 9. • Metodologia testów penetracyjnych sieci bezprzewodowych
Co się stało? Szyfrowanie WPA PSK z silnym hasłem jest nie do złamania, jednak w praktyce administratorzy sieci bardzo często popełniają kardynalny błąd, wybierając hasło proste i łatwe do zapamiętania. Niestety, taki błąd powoduje, że bezpieczeństwo sieci może być poważnie zagrożone, gdyż proste hasło można łatwo złamać przy użyciu ataku słownikowego.
Przełamywanie zabezpieczeń klientów W doświadczeniu przeprowadzonym w tym podrozdziale sprawdziłeś, czy można zmusić klienty bezprzewodowe do połączenia się z podstawionym punktem dostępowym, co otworzy drogę do wykorzystania innych słabych stron sieci i ostatecznie przełamania zabezpieczeń klienta.
Czas na działanie — przełamywanie zabezpieczeń klientów Aby to zrobić, uważnie wykonaj polecenia opisane poniżej: 1. Powróć na chwilę do wyników działania polecenia airodump-ng, opisujących klienty:
2. Łatwo zauważyć, że autoryzowany klient posiada dwie sieci na swojej liście sieci preferowanych — są to Wireless Lab oraz Vivek. Najpierw przy użyciu polecenia airbase-ng utwórz punkt dostępowy sieci Vivek:
185
BackTrack 5. Testy penetracyjne sieci WiFi
3. Teraz wymuś odłączenie klienta od sieci Wireless Lab. Aby to zrobić, rozpocznij ciągłe wysyłanie do klienta komunikatów o anulowaniu uwierzytelnienia:
4. Po rozłączeniu klient rozpoczyna poszukiwanie dostępnego punktu dostępowego i łączy się z podstawionym punktem dostępowym sieci Vivek:
Co się stało? W tym doświadczeniu wykorzystałeś listę preferowanych sieci klienta i utworzyłeś fałszywy, podstawiony punkt dostępowy (Honeypot) o takim samym identyfikatorze SSID sieci. Następnie wymusiłeś odłączenie klienta od autoryzowanego punktu dostępowego. Klient rozpoczął wyszukiwanie punktów dostępowych znajdujących się w okolicy i podłączył się do kontrolowanego przez Ciebie fałszywego punktu dostępowego sieci.
186
Rozdział 9. • Metodologia testów penetracyjnych sieci bezprzewodowych
Raportowanie Po zakończeniu fazy ataku wiesz już, jakie są słabe strony testowanej sieci, a zatem musisz przystąpić do utworzenia raportu, który przedstawisz zleceniodawcy. Każda firma zajmująca się przeprowadzaniem testów penetracyjnych zazwyczaj wykorzystuje swoją własną strukturę takich raportów. W każdym jednak przypadku raport końcowy musi zawierać następujące elementy: 1. Opis wykrytych słabości. 2. Kategorie zagrożenia. 3. Lista podatnych urządzeń. 4. Rodzaj słabości — programowa/sprzętowa/konfiguracyjna. 5. Sposób szybkiego naprawienia wykrytej słabości. 6. Sposób docelowego naprawienia wykrytej słabości. Przedstawiona struktura zawiera wystarczającą ilość informacji, aby administrator sieci był w stanie zlokalizować i usunąć wykryte zagrożenie. Na tym etapie rola specjalisty przeprowadzającego testy penetracyjne sprowadza się już tylko do upewnienia się, że administrator zrozumiał istotę wykrytego zagrożenia, i ewentualnie do zasugerowania mu najlepszych praktyk zabezpieczania sieci.
Szybki quiz — testy penetracyjne sieci bezprzewodowych 1. Do wykrywania fałszywych, podstawionych punktów dostępowych możemy użyć: a) Listy adresów IP. b) Listy adresów MAC. c) Odpowiedzi (a) i (b). d) Żadna z powyższych odpowiedzi nie jest poprawna. 2. Wymuszeniu niepoprawnego skojarzenia z fałszywym punktem dostępowym można zapobiegać poprzez: a) Wymuszenie interakcji użytkownika przed połączeniem z punktem dostępowym. b) Przechowywanie na liście preferowanych sieci wyłącznie autoryzowanych sieci bezprzewodowych. c) Zastosowanie protokołu WPA2. d) Unikanie stosowania protokołu WEP. 3. Co podczas tworzenia raportu przesądza o istotności poszczególnych słabości? a) Opis słabych stron sieci. b) Kategoria zagrożenia. c) Lista podatnych urządzeń. d) Odpowiedzi (b) oraz (c).
187
BackTrack 5. Testy penetracyjne sieci WiFi
4. Która opcja polecenia airbase-ng pozwala na przekazywanie (w czasie przeprowadzania ataków na klienty) odpowiedzi do wszystkich klientów wysyłających pakiety sondowania? a) -a. b) --essid. c) -P. d) -C.
Podsumowanie W tym rozdziale pokazaliśmy, w jaki sposób możesz przeprowadzać testy penetracyjne sieci bezprzewodowych przy użyciu narzędzi dostępnych w dystrybucji BackTrack. Stopień złożoności testów penetracyjnych i czas niezbędny do ich przeprowadzenia mogą się znacząco różnić i zależą głównie od rozmiarów testowanej sieci. My poszczególne fazy testowania i techniki używane podczas przeprowadzania testów penetracyjnych prezentowaliśmy na przykładzie małej sieci laboratoryjnej, przygotowanej na potrzeby tej książki.
188
A Wnioski i plany na przyszłość „Nie wiem, jak wyglądam w oczach świata, lecz dla siebie jestem tylko chłopcem bawiącym się na morskim brzegu, pochylającym się i znajdującym piękniejszą muszelkę lub kamień gładszy niż inne, podczas gdy wielki ocean prawdy jest ciągle zakryty przede mną”. sir Isaac Newton
Choć dotarliśmy już do końca tej książki, zawsze musimy być wiecznymi studentami, ciekawymi świata i pełnymi chęci do poznawania nowych rzeczy!
Pomału zbliżamy się do końca tej książki, ale mamy nadzieję, że dla Ciebie będzie to dopiero początek podróży w świat sieci bezprzewodowych i zagadnień związanych z ich bezpieczeństwem. W tym rozdziale omówimy kolejne zagadnienia, z którymi powinieneś się zapoznać, jeżeli chcesz na poważnie zajmować się testami penetracyjnymi sieci bezprzewodowych.
Kilka słów na zakończenie Mamy nadzieję, że podróż przez ostatnie dziewięć rozdziałów była dla Ciebie bardzo ekscytująca. Naszą przygodę z testami penetracyjnymi rozpoczęliśmy od utworzenia prostego laboratorium sieci bezprzewodowych, a zakończyliśmy na omawianiu złożonych ataków na protokoły PEAP i WPA-Enterprise. To była naprawdę długa droga. Warto jednak zauważyć, że podróż, którą z nami rozpocząłeś, jeszcze się nie zakończyła, a co więcej, właściwie może nie zakończy się nigdy. Zagadnienia związane z bezpieczeństwem bezprzewodowych sieci komputerowych zmieniają się bardzo dynamicznie i niemal każdego
BackTrack 5. Testy penetracyjne sieci WiFi
miesiąca odkrywane są nowe typy i metody ataków, tworzone są nowe narzędzia i odkrywane nowe słabe strony sieci. Chcąc zostać dobrym testerem penetracyjnym sieci bezprzewodowych, powinieneś na bieżąco śledzić wszystkie nowości i aktualizacje, które pojawiają się w branży. W tym rozdziale pokażemy, jak możesz zbudować bardziej zaawansowane laboratorium sieci bezprzewodowych, a także powiemy kilka słów na temat źródeł, z których możesz czerpać najnowsze informacje o technologii sieci bezprzewodowych i ich bezpieczeństwie.
Tworzenie zaawansowanego laboratorium sieci Wi-Fi Laboratorium, które zbudowałeś dzięki lekturze rozdziału 1. tej książki, jest dobrym punktem wyjścia do przygody ze światem bezpieczeństwa sieci bezprzewodowych. Jeżeli jednak planujesz na poważnie czy nawet zawodowo zajmować się zagadnieniami związanymi z bezpieczeństwem i testami penetracyjnymi sieci bezprzewodowych, z pewnością będziesz musiał rozbudować swoje laboratorium. Poniżej zamieszczamy krótkie zestawienie dodatkowego wyposażenia, którego zakup oraz instalację powinieneś rozważyć: Antena kierunkowa Anteny kierunkowe mogą być wykorzystywane do wzmocnienia siły sygnału i pozwalają na wykrywanie sieci bezprzewodowych z większej odległości. Taka pomoc może być nieoceniona zwłaszcza w sytuacji, kiedy przeprowadzasz testy penetracyjne na rozległym terenie, gdzie dotarcie „na piechotę” do wszystkich niezbędnych miejsc może być utrudnione. Istnieje wiele rodzajów anten kierunkowych, przeznaczonych do różnych zastosowań, dlatego przed dokonaniem zakupu warto poświęcić nieco czasu na dokładne przeanalizowanie swoich potrzeb i dobranie odpowiedniego typu i modelu anteny.
190
Dodatek A • Wnioski i plany na przyszłość
Punkty dostępowe sieci Wi-Fi Ponieważ podczas przeprowadzania testów penetracyjnych z reguły nie wiemy z góry, z jakimi urządzeniami przyjdzie nam się zetknąć, warto zawczasu poeksperymentować z różnymi punktami dostępowymi, pracującymi w standardach 802.11 a/b/g/n i innych. Choć z punktu widzenia metodologii fundamentalne zasady przeprowadzania testów penetracyjnych w każdym przypadku będą takie same, to jednak znajomość różnych urządzeń może być bardzo przydatna, ponieważ niektórzy producenci implementują czasami różne niestandardowe, dodatkowe mechanizmy zmniejszające podatność ich urządzenia na takie czy inne ataki. Z pewnością dogłębna znajomość różnego typu urządzeń będzie niewątpliwym atutem podczas przeprowadzania testów penetracyjnych.
Karty Wi-Fi We wszystkich doświadczeniach opisywanych w tej książce użyto karty Alfa. Oczywiście istnieje całe mnóstwo innych, zewnętrznych kart sieciowych, podłączanych przez port USB, kart sieciowych, które w połączeniu z odpowiednimi sterownikami mogą znakomicie sprawdzić się podczas testów penetracyjnych. Oprócz tego laptopy posiadają zazwyczaj wbudowane karty sieciowe, które również można wykorzystać do takich celów. Jak w przypadku punktów dostępowych znajomość wielu różnych kart sieciowych i ich sterowników może być bardzo przydatna podczas testów penetracyjnych — w końcu nie zawsze możesz mieć dostęp do karty Alfa i może zdarzyć się, że będziesz musiał skorzystać z karty wbudowanej w laptopa czy użyć innej, zewnętrznej karty sieciowej.
191
BackTrack 5. Testy penetracyjne sieci WiFi
Smartfony i inne urządzenia wyposażone w bezprzewodowe karty sieciowe W dzisiejszych czasach laptopy nie są jedynymi urządzeniami wyposażonymi w bezprzewodowe karty sieciowe. Obecnie niemal każde urządzenie przenośne posiada wbudowaną kartę Wi-Fi — smartfony, tablety i inne urządzenia są przecież już powszechnie spotykane. Planując rozbudowę laboratorium, warto również rozważyć zakup kilku takich urządzeń.
Jak trzymać rękę na pulsie Bezpieczeństwo systemów informatycznych to dziedzina, która rozwija się wyjątkowo dynamicznie. Skutkuje to niestety tym, że jeżeli nie śledzisz na bieżąco wszystkich nowinek, to już po upływie kilku miesięcy może się okazać, iż część Twojej wiedzy jest nieaktualna. Aby tego uniknąć, powinieneś regularnie zaglądać na strony internetowe poświęcone interesującym Cię zagadnieniom. Możemy polecić następujące źródła: Listy dyskusyjne Na portalu http://www.securityfocus.com/ znajdziesz cały szereg list dyskusyjnych, utworzonych na podstawie grup dyskusyjnych dedykowanych różnym zagadnieniom technicznym związanym z szeroko pojętym bezpieczeństwem systemów komputerowych. Aby na bieżąco otrzymywać aktualne informacje na temat bezpieczeństwa sieci bezprzewodowych, możesz zapisać się do listy [email protected]. Strony internetowe Najlepszym źródłem informacji i aktualności na temat narzędzi z pakietu Aircrack-NG jest jego strona internetowa. Pakiet Aircrack-NG, napisany przez Thomasa d’Otreppe’a, znanego również jako Mister_X, jest prawdopodobnie najlepszym narzędziem do przeprowadzania testów penetracyjnych sieci bezprzewodowych. Więcej szczegółowych informacji na temat tego pakietu znajdziesz na stronie http://www.aircrack-ng.org/.
192
Dodatek A • Wnioski i plany na przyszłość
Kolejnym bardzo ciekawym miejscem jest strona internetowa Raula Silesa, na której znajdziesz opisy dostępnych narzędzi i pakietów oprogramowania, artykuły, materiały z konferencji i wiele innych interesujących publikacji o bezpieczeństwie sieci bezprzewodowych. Aby dowiedzieć się więcej, zajrzyj na stronę http://www.raulsiles.com/resources/wifi.html. Inny specjalista z tej branży, Joshua Wright, jest autorem bloga, który co prawda nie jest zbyt często aktualizowany, ale mimo to jest zdecydowanie jednym z najlepszych źródeł informacji na temat ataków na sieci WPA-Enterprise i nie tylko: http://www.willhackforsushi.com/. Konferencje Co roku na świecie odbywa się wiele konferencji i seminariów, takich jak Defcon czy Blackhat, na których omawiane są różne zagadnienia związane z szeroko pojętym bezpieczeństwem systemów komputerowych, z bezpieczeństwem sieci bezprzewodowych. Oprócz uczestniczenia w prezentacjach i wykładach teoretycznych uczestnicy takich konferencji mają również możliwość brania udziału w warsztatach. Najczęściej po zakończeniu konferencji prezentowane tam materiały są bezpłatnie udostępniane wszystkim zainteresowanym w sieci Internet, dlatego od czasu do czasu warto odwiedzić strony internetowe takich konferencji: Q Defcon: http://www.defcon.org/, Q Blackhat: http://www.blackhat.com/.
Strony internetowe związane z dystrybucją BackTrack BackTrack to platforma, która przez cały czas bardzo dynamicznie się rozwija. Z tego powodu powinieneś regularnie sprawdzać, czy korzystasz z najnowszej i najlepszej wersji. Informacje na temat nowości, aktualizacji i zmian znajdziesz na następujących stronach: Q strona internetowa dystrybucji BackTrack: http://www.backtrack-linux.org/, Q strona internetowa Offensive security: http://www.offensive-security.com/.
Podsumowanie Mamy nadzieję, że podczas lektury tej książki i przeprowadzania opisywanych w niej doświadczeń nie tylko dobrze się bawiłeś, ale również mogłeś odkryć nowe, nieznane Ci do tej pory tajemnice sieci bezprzewodowych. Po przeczytaniu tej książki powinieneś już umieć samodzielnie przeprowadzać testy penetracyjne sieci bezprzewodowych przy użyciu narzędzi dostępnych na platformie BackTrack. Nasza ostatnia wskazówka jest bardzo prosta — zawsze powinieneś być w głębi duszy wiecznym studentem, otwartym na wiedzę i szybko przyswajającym nowe umiejętności. Życzymy Ci wszystkiego najlepszego i osiągnięcia wielkich sukcesów w dziedzinie testów penetracyjnych sieci bezprzewodowych i nie tylko!
193
BackTrack 5. Testy penetracyjne sieci WiFi
194
B Szybki quiz — odpowiedzi na pytania
Rozdział 1. Tworzymy laboratorium sieci bezprzewodowych Pytanie
Odpowiedź
1.
Wykonaj polecenie ifconfig wlan0. W wynikach działania powinieneś zobaczyć ustawioną flagę UP, co oznacza, że karta jest aktywna i działa poprawnie.
2.
Dysk twardy będzie Ci potrzebny jedynie w sytuacji, kiedy będziesz chciał zachować jakieś dane pomiędzy kolejnymi uruchomieniami komputera (na przykład pliki konfiguracyjne, skrypty czy inne pliki danych).
3.
Wykonanie tego polecenia wyświetla na ekranie tabelę ARP komputera lokalnego.
4.
Powinieneś użyć pakietu WPA_Supplicant.
BackTrack 5. Testy penetracyjne sieci WiFi
Rozdział 2. Sieci WLAN i związane z nimi zagrożenia Pytanie
Odpowiedź
1.
b) Za uwierzytelnianie w sieciach WLAN odpowiedzialne są ramki zarządzające.
2.
b) Nazwy interfejsów sieciowych pracujących w trybie monitora rozpoczynają się od mon0, a kończą na monX, zatem drugi interfejs sieciowy będzie nosił nazwę mon1.
3.
Aby to zrobić, musisz utworzyć filtr komplementarny do filtra wyświetlającego wszystkie ramki rozgłoszeniowe. Prawidłowa odpowiedź to a).
Rozdział 3. Omijanie uwierzytelniania sieci WLAN Pytanie
Odpowiedź
1.
d) Wykonanie dowolnej z powyższych operacji będzie miało taki sam efekt, ponieważ po jej wykonaniu klient ponownie podłączy się do punktu dostępowego.
2.
b) Uwierzytelnianie z otwartym dostępem nie zapewnia żadnego bezpieczeństwa sieci.
3.
a) Strumień klucza możemy pozyskać z pakietów przesyłanych między uprawnionym klientem a punktem dostępowym, a następnie wykorzystać go do odpowiedzi na kolejne wezwanie.
Rozdział 4. Słabe strony protokołów szyfrowania w sieciach WLAN Pytanie
Odpowiedź
1.
c) Do przeprowadzenia ataku metodą powtarzania pakietów wykorzystywane są szyfrowane pakiety ARP.
2.
a) Klucz WEP może być złamany zawsze, niezależnie od tego, jak jest złożony czy jakiego punktu dostępowego używamy.
3.
b) Klucz WPA PSK może być złamany tylko w sytuacji, kiedy wybrane zostało słabe hasło, podatne na atak słownikowy.
196
Dodatek B • Szybki quiz — odpowiedzi na pytania
Rozdział 5. Ataki na infrastrukturę sieci WLAN Pytanie
Odpowiedź
1.
a) Nieautoryzowane punkty dostępowe najczęściej nie używają żadnej metody szyfrowania.
2.
a) Jeżeli dwa punkty dostępowe mają identyczne adresy MAC oraz takie same identyfikatory SSID sieci, to z punktu widzenia klienta rozróżnienie ich jest bardzo trudnym zadaniem.
3.
a) Zazwyczaj atak typu odmowa usługi (DoS) utrudnia korzystanie z sieci lub powoduje jej całkowitą niedostępność.
4.
a) Nieautoryzowane punkty dostępowe pozwalają na utworzenie tylnego wejścia do autoryzowanej sieci komputerowej.
Rozdział 6. Ataki na klienta sieci WLAN Pytanie
Odpowiedź
1.
b) Atak typu Caffe Latte pozwala na pozyskanie i złamanie klucza WEP bezpośrednio od klienta.
2.
a) Podstawione punkty dostępowe (Honeypots) zazwyczaj pracują w trybie otwartego dostępu, bez żadnego szyfrowania, dzięki czemu klienty mogą się łatwo do nich podłączać.
3.
d) Zarówno atak typu anulowanie uwierzytelnienia, jak i atak typu anulowanie skojarzenia są atakami typu DoS.
4.
b) Za pomocą ataku typu Caffe Latte można pozyskać klucz WEP sieci tylko w przypadku, kiedy taki klucz jest buforowany i przechowywany na kliencie.
Rozdział 7. Zaawansowane ataki na sieci WLAN Pytanie
Odpowiedź
1.
b) We wszystkich atakach typu Man-in-the-Middle pośrodku zawsze znajduje się komputer napastnika.
2.
b) Pakiet Dnsspoof fałszuje odpowiedzi serwera DNS, co pozwala na przejęcie sesji klienta.
3.
c) Identyfikator SSID nie odgrywa żadnej roli podczas ataków typu Man-in-the-Middle.
4.
a) Interfejs at0 to kablowa strona programowego punktu dostępowego, utworzonego poleceniem airbase-ng.
197
BackTrack 5. Testy penetracyjne sieci WiFi
Rozdział 8. Ataki na sieci WLAN z szyfrowaniem WPA-Enterprise i serwerami RADIUS Pytanie
Odpowiedź
1.
b) FreeRadius WPE to aktualizacja oryginalnego serwera FreeRadius, której autorem jest Joshua Wright.
2.
b) Atak na protokół PEAP może zostać przeprowadzony z wykorzystaniem źle skonfigurowanego klienta, który zaakceptuje fałszywe certyfikaty serwera podstawione przez napastnika.
3.
d) Protokół EAP-TLS wykorzystuje certyfikaty zarówno po stronie klienta, jak i po stronie serwera.
4.
b) Protokół EAP-TTLS wykorzystuje certyfikaty wyłącznie po stronie serwera.
Rozdział 9. Metodologia testów penetracyjnych sieci bezprzewodowych Pytanie
Odpowiedź
1.
d) Wykrywanie fałszywych, podstawionych punktów dostępowych wbrew pozorom nie jest zadaniem trywialnym, dlatego użycie prostych metod opartych na porównywaniu adresów IP czy MAC najczęściej nie przyniesie pożądanych rezultatów.
2.
a) Większości ataków typu wymuszenie skojarzenia można uniknąć, jeżeli przed uzyskaniem połączenia klient musi zweryfikować i zatwierdzić punkt dostępowy, do którego się podłącza.
3.
d) Najpoważniejsze słabości sieci to takie, które powodują krytyczne zagrożenie kluczowych elementów jej infrastruktury. Takie słabe punkty powinny być usuwane w pierwszej kolejności.
4.
c) Użycie opcji -P powoduje, że polecenie airbase-ng będzie przekazywało odpowiedzi do wszystkich klientów wysyłających pakiety sondowania.
198
Skorowidz A adres interfejsu, 44 IP, 45, 114, 142 IP bramy sieciowej, 21 IP terminala konfiguracyjnego, 21 MAC, 25, 27, 43 MAC klienta, 85, 135 MAC punktu dostępowego, 85, 135 algorytm md5, 149 szyfrowania AES-CCMP, 84 szyfrowania TKIP, 84 analiza klienta, 123 analizowanie pakietów danych, 45 antena kierunkowa, 190 anulowanie skojarzenia, 107 uwierzytelnienia, 87, 104, 128 atak anulujący uwierzytelnienie, deauthentication attack, 58, 90 DoS, 73, 104 metodą powtarzania, reply attack, 42, 82, 84, 149 na infrastrukturę sieci, 101 na klienta, 134, 138 na klucz WEP, 82 na spójność, integrity attack, 42 słownikowy, 85, 90, 137, 184 typu brute-force, 103
typu Caffe Latte, 111, 123, 128 typu Deauthentication, 105, 128 typu Disassociation, 107, 128, 132 typu DoS, 116 typu evil twins, 116 typu Hirte, 132, 134 typu Honeypot, 118, 123 typu Man-in-the-Middle, 107, 139, 144, 149, 159 typu Misassociation, 118 typu złośliwy bliźniak, 107 audyt bezpieczeństwa, 89 automatyczne filtrowanie, 45 autoryzacja, 61 autoryzowany klient, 180 punkt dostępowy, 179
B BackTrack, 9 bezpieczeństwo punktu dostępowego, 28 systemów informatycznych, 192 bezprzewodowa karta sieciowa, 16, 24, 192 budowa ramek, 32
C czas przetwarzania, 91 częstotliwości, 47
Skorowidz
D deszyfrowanie pakietów, 95, 96 dokumentacja pakietu Wireshark, 42 domyślne ustawienia wymogów prawnych, 50 DoS, Denial of Service, 73, 104 dostęp do sieci bezprzewodowej, Authentication, 22 dystrybucja BackTrack 5, 9 dziennik połączeń sieci, 72
E EAP, Extensible Authentication Protocol, 84
F fabryczne hasła dostępu, 102 fałszowanie adresu MAC, 107, 116 pakietów, packet spoofing, 31, 60 fałszywe odpowiedzi DNS, 151 uwierzytelnianie, 84 fałszywy punkt dostępowy, 118, 120, 144, 186 faza ataku, 179 planowania, 176 raportowania, 187 rozpoznania, 177 filtr, 38, 44, 45, 59, 68, 120 filtrowanie adresów MAC, 61, 74 pakietów, 38, 42 funkcja PBKDF2, 85 skrótu, 149
H hasła domyślne, 102 hasło dostępu, 20 PSK, 85, 135 WPA, 137 Honeypot, 186
200
I identyfikacja urządzeń, 177 identyfikator BSSID, 43, 88, 108, 112 identyfikator SSID, 21, 56, 85 informacje o braku uwierzytelnienia, 62 o pakiecie, 38 o punkcie dostępowym, 43 infrastruktura sieci WLAN, 101 instalacja punktu dostępowego, 20 BackTrack, 17–20 interfejs bezprzewodowy at0, 141 kablowy eth0, 141 sieciowy mon0, 36 sieciowy wlan0, 25 TAP, 141 wirtualny at0, 112
K kanały, 47 karta Alfa AWUS036H, 16, 24 D-LinkDWA-125, 48 w trybie monitora, 33 Wi-Fi, 191, 192 katalog wordlists, 89 klient sieci bezprzewodowej, 118 klucz PMK, 91 PSK, 85 sesji PTK, 85 WEP, 65, 83, 99, 127 WPA, 100 współdzielony, 85 komenda airbase-ng, 108, 125 aircrack-ng, 81, 89 airdecap-ng, 95 aireplay-ng, 80, 81, 105 airmon-ng, 34, 36 airmon-ng start wlan0, 77, 155 airodump-ng, 64, 79, 88, 109, 111, 125 airodump-ng -help, 49 apache2ctl start, 153
Skorowidz
arp -a, 28 Capture / Interfaces, 36 dhcpclient3, 98 dnsspoof, 151 genpmk, 91 ifconfig, 35 ifconfig -a, 155 ifconfig wlan0, 25, 28 ifconfig wlan0 up, 25 iwconfig, 24, 97 iw reg set PL, 51 iwconfig mon0, 43 iwlist wlan0 scanning, 26 ls, 80 man iwconfig, 30 macchanger, 63 ping, 28, 114, 142 route -n, 21, 28 startx, 19 tail, 50 Wireshark&, 36 komunikat o błędzie, 51 WPA Handshake, 88 z odkrytym kluczem, 83 komunikaty jądra systemu, 50, 51 konfiguracja karty Alfa, 24–29 punktu dostępowego, 21–23 zabezpieczeń klienta, 154 konsola terminala, 24 konto domyślne, 116 konto domyślne administratora, 102
L liczba pakietów, 80, 82 lista adresów MAC, 61, 63 PNL, 118 logowanie do punktu dostępowego, 146 lokalizowanie portu, 181
Ł łamanie haseł punktów dostępowych, 103 klucza WEP, 76, 126 klucza WPA, 137, 183
klucza WPA PSK, 86, 134 kluczy WPA/WPA2 PSK, 91 słabych haseł, 86 zabezpieczeń klientów, 185
M maszyna wirtualna VirtualBox, 20 VMware, 17 metoda bit-flipping, 127 MIC, Message Integrity Check, 86 MITM, Man-in-the-Middle, 139 moc nadawania karty, 16, 52 modyfikowanie pakietów, 42 monitorowanie ruchu sieciowego, 133 most, 112, 141
N nagłówek ramki, 32, 42 narzędzie Aircrack-NG, 60, 192 Aireplay-NG, 45 Cowpatty, 90, 92 Dnsspoof, 151 macchanger, 63 Pyrit, 94 wpa_supplicant, 99 nasłuchiwanie pakietów, packet sniffing, 16, 24, 42, 146 nazwa użytkownika, 20 negocjacje uwierzytelniania, 85, 88, 135 nieautoryzowane punkty dostępowe, 111, 116 nieszyfrowane pakiety, 42, 54 numer kanału punktu dostępowego, 43
O obraz ISO systemu BackTrack, 17 obsługa szyfrowania, 16 wstrzykiwania pakietów, 16 odkrywanie profili zabezpieczeń klientów, 154 odłączanie wybranego klienta, 131 odpowiedź na sondowanie, 58 odrzucanie pakietów, 38
201
Skorowidz
omijanie filtrowania adresów MAC, 61 uwierzytelniania, 84 uwierzytelniania ze współdzielonym kluczem, 66 opcje aireplay-ng, 81 operator !, 59 &&, 59
P pakiet Aircrack-NG, 132, 192 Ettercap, 154 Hydra, 103 VirtualBox, 20 Wireshark, 31, 33 pakiety Association Request, 72 Beacon, 56 Deauthentication, 58, 87, 105 Probe Request, 58, 119, 154 Probe Response, 58 pakiety protokołu ARP, 45 HTTP, 148 ICMP, 143 ICMP Echo Request, 28 pasma, 48 pasywne wykrywanie hostów, 45 plik darc0de.lst, 89 Hirte-01.cap, 133 PMK-Wireless-Lab, 91 WEPCrackingDemo.cap, 95 WEPCrackingDemo-01.cap, 81 wpa-supp.conf, 98 pliki pcap, 79, 88 WEPCrackingDemo-*, 80, 81 PMK, Pairwise Master Key, 91 PNL, Preferred Network List, 118 podłączanie się do sieci, 97 podręcznik polecenia, 30 podsłuchiwanie ruchu sieciowego, 145 podtypy ramek, 32, 40 polecenie, Patrz komenda
202
połączenie z bramą, 142 z terminalem, 29 potwierdzenie uwierzytelniania, 69 programowy punkt dostępowy, 140 protokoły szyfrowania, 76, 99 protokół ARP, 81 PSK, 84 TKIP, 136 WEP, 76 WPA, 84 WPA2, 84 przechwytywanie pakietów, 36, 42, 45, 132 sesji, 150, 153 sesji aplikacji, 154 przeglądanie ramek, 38 ustawień regionu, 53 przekazywanie pakietów IP, 142 przełączanie karty, 47 PSK, Pre-Shared Key, 84 PTK, Pairwise Transient Key, 85 punkt dostępowy, 16, 20, 191 punkt dostępowy z otwartym dostępem, 64
R Ramachandran Vivek, 7 ramki danych, data frames, 33 rozgłoszeniowe, 56 sterujące, control frames, 33 zarządzające, management frames, 32 retransmitowanie pakietów, 42 router D-Link DIR-615 Wireless N, 16, 20 routowanie pakietów, 142 rozgłoszenie, 56 rozmiar pakietów ARP, 81
S selektywne anulowanie uwierzytelnienia, 60 serwer Apache, 153 Radius, 84 sesja DNS, 150
Skorowidz
sfałszowane pakiety Deauthentication, 60 sieć Wireless Lab, 22, 36 siła sygnału, 109, 111, 122 SKA, Shared Key Authentication, 68 skakanie po kanałach, 49 skanowanie sieci bezprzewodowych, 178 słownik haseł, 86, 89 sondowanie, 58, 119, 154 sól kryptograficzna, cryptographic salt, 149 spójność przesyłanych danych, 54 sprawdzanie kodu MIC, 86 poprawności konfiguracji, 22 połączenia, 114 standard IEEE 802.11 a/n, 47 802.11 b/g, 47 strumień klucza, keystream, 66, 68 symulacja odpowiedzi, 80 system operacyjny BackTrack, 9 systemy wykrywania włamań, 111 szyfrowanie, 76 WEP, 23, 76, 100 WPA, 23, 84, 100 WPA PSK, 86, 185 WPA2, 23, 84, 100 WPA2 PSK, 85
Ś środowisko graficzne systemu, 19
T tekst wezwania, 66 testy penetracyjne, 15, 157, 190 atak, 178 planowanie, 176 raportowanie, 187 rozpoznanie, 177 TKIP, Temporal Key Integrity Protocol, 84 tryb channel hopping, 49 monitora, 33 nasłuchiwania, promiscous mode, 33 otwartego dostępu, open mode, 23, 65 skakania po kanałach, 47, 178 uwierzytelniania ze współdzielonym kluczem, 66
tworzenie filtrów, 41 interfejsu mon0, 77 interfejsu sieciowego, 33 klucza PTK, 86 mostu sieciowego, 141 pliku konfiguracyjnego, 98 połączenia, 30 punktu dostępowego, 108, 111, 115, 156 punktu dostępowego WPA PSK, 136 złośliwego bliźniaka, 111 tylne wejście, backdoor entry, 111 typ punktu dostępowego, 102
U uaktywnienie mostu sieciowego, 113 przekazywania pakietów IP, 113 ujawnianie identyfikatora SSID, 58, 60 ukrywanie identyfikatora SSID, 56 Urząd Komunikacji Elektronicznej, 50 ustawianie regionu, 50, 52 uwierzytelnianie, 55, 61, 73 z otwartym dostępem, 64, 74 ze współdzielonym kluczem, 65, 74
W wartość losowa ANonce, 85, 135 SNonce, 85, 135 WEP, Wired Equivalent Privacy, 65, 76 WiFishing, 157 WLAN, Wireless Local Area Network, 30 WPA, WiFi Protected Access, 84 WPA2, WiFi Protected Access v2, 76 wstrzykiwanie pakietów, packet injection, 16, 24, 45 wybieranie metody szyfrowania, 76 wykrywanie fałszywych punktów dostępowych, 179, 180 klientów, 178 nieautoryzowanych klientów bezprzewodowych, 181 żądań HTPP, 148 wymagania programowe, 17 sprzętowe, 16
203
Skorowidz
wymuszenie rozłączenia klientów, 60 wyświetlanie adresów MAC, 63 pakietów, 37, 44, 79 protokołu DNS, 151 ramek danych, 40 ramek sterujących, 39 ramek zarządzających, 38 zapytań wyszukiwarki Google, 150
Z zabezpieczenie przez utajnienie, 74 zachowanie poufności, 176 zagrożenia sieci WLAN, 31 zapis pakietów, 67 zapory sieciowe, firewalls, 111 zestaw punktów dostępowych, 158 złośliwy bliźniak, 107 zmiana adresu MAC, 63 zmuszanie klienta do połączenia, 123
204
Ź źródła informacji, 192
Ż żądania ARP, 80 DHCP, 45 DNS, 151 HTTP, 153 żądanie skojarzenia, 72 uwierzytelnienia, 66
Notatki
205