Zrób to sam: testy penetracyjne krok po kroku
-
- Krzysztof Daszkiewicz,
- 10.05.2016, godz. 18:00
Zbadaj, czy w twoim komputerze są luki w zabezpieczeniach, korzystając z tych samych narzędzi, których używają profesjonaliści. Podpowiemy ci, jak to zrobić i jak lepiej zabezpieczyć swój sprzęt.
Zawodowi cyberprzestępcy włamują się do komputerów swoich ofiar, korzystając z wyrafinowanych narzędzi. W poniższym materiale objaśniamy, jak można je zastosować, aby upozorować atak na swój własny sprzęt, zbadać w ten sposób poziom jego zabezpieczeń i wykryć ewentualne luki. Usuwając je, zapewnisz swojemu komputerowi lepszą ochronę przed cyberprzestępcami.
Testy penetracyjne – zalecane oprogramowanie
Hakerzy trudniący się zawodowo przestępstwami internetowymi zazwyczaj przeprowadzają ataki na komputery i sieci za pomocą specjalnych platform programistycznych. Takie frameworki zawierają zestawy narzędzi umożliwiających przypuszczanie różnego rodzaju ataków. W ich skład wchodzą także tzw. exploity. Są to programy lub przynajmniej fragmenty ich kodu, które pozwalają wykorzystywać do niecnych celów luki w zabezpieczeniach oprogramowania.
Zobacz również:
- Najlepsze darmowe sieci VPN 2023. Czy naprawdę warto płacić za VPN?
- 9 sposobów na ochronę tożsamości online
- Kilkanaście złotych wystarczy, aby odblokować każdy telefon z Androidem. Tylko iPhone jest bezpieczny
Programiści zajmujący się cyfrowymi zabezpieczeniami stworzyli trzy wielkie frameworki. Dwa z nich to przedsięwzięcia komercyjne – Immunity i Core Security. Trzeci, Metasploit, powstał w 2003 r. jako projekt o otwartym kodzie źródłowym (open source). Pierwsza wersja liczyła zaledwie jedenaście złośliwych kodów typu exploit. Z biegiem czasu baza dostępnych exploitów rozrosła się do ponad trzech tysięcy – przede wszystkim dzięki dobrowolnej pomocy specjalistów od zabezpieczeń. Od kilku lat projekt Metasploit jest rozprowadzany przez firmę Rapid 7, która oprócz bezpłatnej oferuje dwie komercyjne odmiany – Metasploit Express i Pro. Wersja nieodpłatna, Metasploit Community, nie jest obarczona ograniczeniami czasowymi, lecz zapewnia mniejszy zakres funkcji.

Za pomocą tego serwisu można utworzyć fikcyjny profil użytkownika ze Stanów Zjednoczonych (lub innego zakątka świata) zawierający nawet numer telefonu i jednorazowy adres e-mailowy.
Testy penetracyjne – zalecany sposób postępowania
Gdy mowa o przeprowadzaniu ataków za pomocą specjalnych narzędzi hakerskich, wielu użytkownikom przychodzą na myśl przestępcy, którzy w nielegalny sposób usiłują uzyskać dostęp do obcego komputera lub infrastruktury teleinformatycznej. Jednak w rzeczywistości platformy programistyczne takie jak Metasploit można stosować zgodnie z prawem. Administrator sieci nie narusza przepisów, gdy przypuszcza kontrolowany atak na swój system teleinformatyczny w celu zbadania jego odporności. Wykroczenia nie popełniają także specjaliści od zabezpieczeń, którzy na zlecenie danej firmy ustalają empirycznie podatność jej infrastruktury informatycznej na cyberataki.
Jeśli stworzyłeś w domu własną sieć lokalną składającą się np. z komputera stacjonarnego, serwera NAS i urządzeń przenośnych, jesteś administratorem tejże sieci. Dlatego możesz do woli atakować Metasploitem i innymi narzędziami swoją infrastrukturę, aby sprawdzać, czy jest wystarczająco zabezpieczona przed cyberprzestępcami, i wykrywać ewentualne niedociągnięcia.
U naszych zachodnich sąsiadów nawet organy państwowe zalecają przeprowadzanie takich testów penetracyjnych. Federalny Urząd Bezpieczeństwa Teleinformatycznego (BSI) opublikował instrukcję, w której doradza pięcioetapową procedurę wykonywania testów.
Etap 1. Zdobycie podstawowych informacji. Najpierw trzeba ustalić, poprzez które adresy IP można nawiązać kontakt z infrastrukturą docelową.
Etap 2. Skanowanie systemu docelowego. Następnie należy przeskanować porty w sprzęcie docelowym. W ten sposób dowiesz się, jakie usługi bądź programy są dostępne z punktu widzenia agresora.
Etap 3. Wykrycie systemu i oprogramowania. W dalszej kolejności dokonaj analizy usług oferowanych przez infrastrukturę docelową (np. usługa serwera FTP), aby ustalić lub odgadnąć wersje oprogramowania.
Etap 4. Poszukiwanie luk. Gdy wiadomo, jakie systemy i aplikacje są dostępne w sieci docelowej, można rozpocząć poszukiwanie luk w zabezpieczeniach.
Etap 5. Próba wykorzystania znalezionych luk. Do właściwego ataku dochodzi dopiero w ostatnim etapie. W najgorszym wypadku, a więc w razie skutecznego ataku, pozornemu agresorowi uda się uzyskać pełny dostęp do atakowanej infrastruktury.
Niektóre instytucje wydały instrukcje, w których przewidują jeszcze więcej etapów. Ponadto określają, kiedy badający mają konsultować się z przedsiębiorstwem docelowym, a więc ze swoim zleceniodawcą. Tylko w nielicznych wypadkach przeprowadza się testy bez wiedzy administratorów docelowego systemu. Znacznie częściej powiadamia się ich przynajmniej o planowanym terminie testu. Przed jego przeprowadzeniem dochodzi przynajmniej do wymiany danych kontaktowych (numery telefonów, adresy e-mailowe itd.) po obu stronach. Jest to konieczne, aby zachować możliwość komunikowania się w sytuacjach kryzysowych – np. aby podać przypuszczalną przyczynę awarii systemu.
Do przetestowania odporności własnej infrastruktury wystarczy jednak powyższa instrukcja składająca się z pięciu etapów. Będąc administratorem systemu, powinieneś wiedzieć, poprzez które adresy IP można nawiązywać kontakt z twoim sprzętem. Zapewne nie pamiętasz tak szczegółowych informacji, jaką usługę FTP zapewnia twój serwer NAS.

Ten serwis pozwala ustalić adres IP na podstawie zwykłego adresu URL.
Testy penetracyjne – czynności przygotowawcze
Do przeprowadzenia testów penetracyjnych metodą opisaną poniżej potrzebna jest platforma programistyczna Metasploit. Najlepiej pobrać ją z oficjalnej witryny komercyjnego operatora Rapid 7. Przywołaj stronę pobierania i wskaż bezpłatną wersję Metasploit Community. Operator chciałby zebrać dane osobowe od jak największej liczby użytkowników. Oprócz tego woli rozprowadzać komercyjną wersję Metasploita. Przed rozpoczęciem pobierania trzeba więc wypełnić formularz rejestracyjny. Firmie wolno dystrybuować oprogramowanie tylko w obrębie Stanów Zjednoczonych. Dlatego dopuszcza pobieranie tylko przez użytkowników, którzy mają stosowny adres i numer telefonu. Jeśli skrupuły natury moralnej nie powstrzymują cię przed wpisaniem tu fałszywych danych, możesz przywołać witrynę Fake Name Generator i wygenerować nieautentyczną tożsamość zawierającą losowe dane. Pamiętaj, że w polu listy Name set powinna być wskazana opcja American, zaś w polu listy Country opcja United States. Jeśli zechcesz skorzystać z jednorazowego adresu e-mail podanego w rubryce Online, kliknij odnośnik Click here to activate it! prawym przyciskiem myszy, a następnie wskaż polecenie Otwórz w nowej karcie. Wówczas możesz wygodnie kopiować dane osobowe ze strony profilu, mając jednocześnie dostęp do tymczasowej skrzynki pocztowej na drugiej karcie. Gdy potwierdzisz dane wprowadzone w formularzu, Rapid 7 wyśle klucz licencyjny na podany adres e-mail. Wprawdzie nie jest wymagany do uruchamiania bezpłatnej wersji platformy (Metasploit Community), lecz udostępnia właściwości komercyjnej edycji Pro – chociażby webowy interfejs.
Jeśli nie chcesz podawać nieprawidłowych danych osobowych ani używać tymczasowego adresu e-mail, możesz pobrać open-source'ową odmianę platformy Metasploit. Jest dostępna w serwisie GitHub. Wystarczy kliknąć przycisk Download ZIP, który znajduje się w prawej części strony. Zauważ jednak, że powyższą wersję platformy można obsługiwać tylko z poziomu konsoli wiersza poleceń.

Poleceniem banner przywołasz stronę informacyjną, na której widnieje liczba modułów exploit, auxiliary i payload dostępnych w bieżącej wersji pakietu Metasploit.
Testy penetracyjne – sposób instalowania platformy Metasploit
Komputer na potrzeby testu. Aby przeprowadzić symulowany atak na swoją infrastrukturę IT, należy mieć do dyspozycji oddzielny komputer. Najlepiej użyć do tego celu egzemplarz wyposażony w niezależne łącze internetowe. Przecież test ma na celu ustalić, czy twój sprzęt jest podatny na ataki z internetu. Jeżeli komputer testowy dysponuje kartą WLAN, można utworzyć odrębne łącze za pomocą smartfona. Warunkiem jest udostępnianie tzw. tetheringu przez operatora sieci komórkowej.
Środowisko Linux. W witrynie Metasploit jest dostępna zarówno 32-bitowa, jak i 64-bitowa odmiana platformy. Użytkownicy, którzy dobrze radzą sobie w systemie Linux, mogą skorzystać z dystrybucji Kali Linux. Jest to specjalna wersja Linuksa stworzona z myślą o przeprowadzaniu testów penetracyjnych. Zawiera platformę programistyczną Metasploit. Zaletą tego rozwiązania jest fakt, iż w systemie są zainstalowane wszystkie zależne pakiety. Warto docenić tę właściwość. Aby skorzystać z Metasploita w środowisku Kali Linux, przywołaj najpierw skrypty startowe Init, wpisując oba poniższe polecenia:
sudo /etc/init.d/postgresql start
sudo /etc/init.d/metasploit start
Po wykonaniu tej czynności możesz uruchomić konsolę Metasploit poleceniem
msfconsole
Alternatywa. Metasploit jest dostępny także w postaci maszyny wirtualnej, którą uruchamia się z poziomu oprogramowania wirtualizacyjnego VirtualBox. Metasploitable, bo taką nosi nazwę, pozwala szybko zapoznać się z możliwościami platformy programistycznej. Taką maszynę wirtualną można uruchomić w VirtualBoksie zarówno z poziomu Windows, jak i systemu Linux. Użytkownicy mający większą wprawę w używaniu Windows mogą skorzystać z Metasploita w wersji przeznaczonej do tego systemu operacyjnego. Poniżej opisujemy, jak to zrobić.
Środowisko Windows. Podczas instalowania platformy Metasploit w Windows pomaga kreator – jak w wielu innych aplikacjach. Możesz przejąć wszystkie ustawienia proponowane przez instalatora. Domyślny folder instalacyjny to C:\metasploit. Kreator wyświetli wskazówkę, iż należy wyłączyć program antywirusowy i zaporę sieciową, aby umożliwić poprawne działanie Metasploita. Platforma dysponuje wieloma elementami złośliwego kodu, które są stosowane przez niektóre wirusy grasujące w internecie. Strażnik antywirusowy wykryłby zapewne szkodliwy kod i usunął go z systemu, co poważnie zakłóciłoby działanie platformy Metasploit. Dlatego zaleca się zainstalować tę platformę w przeznaczonym tylko do tego celu systemie testowym, w którym nie ma programu antywirusowego. Jeśli atak penetracyjny powiedzie się lub w międzyczasie komputer padnie ofiarą przypadkowego agresora, użytkownik nie odniesie żadnych szkód. W systemie testowym nie powinny znajdować się żadne poufne dane użytkownika, które mógłby przechwycić wirus. Jeżeli jednak nie masz do dyspozycji oddzielnego komputera, który mógłby posłużyć ci do przeprowadzenia takiego testu, zmień konfigurację programu antywirusowego tak, aby nie skanował folderu C:\metasploit.
Kreator instalacji poprosi o podanie portu, poprzez który będziesz kontaktował się z platformą Metasploit. Możesz przejąć sugestię kreatora (port 3790), jednak koniecznie zapamiętaj dokonany wybór. Przejmij pozostałe ustawienia, które zaproponuje kreator, i dokończ instalowanie. Plik instalacyjny, którego rozmiar sięga ok. 185 MB, jest zaszyfrowany i mocno skompresowany. W niezbyt wydajnym komputerze proces dekompresowania i instalowania może więc zająć kilka minut. Zakończ instalowanie, klikając przycisk Finish. Wówczas ujrzysz na ekranie okno domyślnej przeglądarki internetowej, a w nim zapisaną lokalnie stronę informacyjną. Dowiesz się z niej, że właściwy interfejs webowy platformy Metasploit Pro chroni certyfikat SSL. Twoja przeglądarka zakwestionuje jego wiarygodność. Musisz zignorować ostrzeżenie przeglądarki, aby uzyskać dostęp do lokalnego serwera Metasploit. Dostaniesz się do niego, klikając wyświetlony odnośnik (np. https://localhost:790). Jeśli wybrałeś inny numer portu, na stronie pojawi się inna liczba.
W dalszej kolejności musisz utworzyć konto w serwisie Metasploit. Wpisz w tym celu dowolną nazwę użytkownika i hasło. Następnie ujrzysz prośbę o klucz licencyjny. Otrzymałeś go w wiadomości e-mail po pobraniu pliku instalacyjnego. Klucz ten jest wymagany do korzystania z webowego interfejsu Metasploit, który wchodzi w skład komercyjnej edycji platformy i zapewnia kilka przydatnych narzędzi. Niemniej jednak można z powodzeniem wykonywać testy penetracyjne bez klucza licencyjnego i wspomnianego interfejsu. W tym poradniku objaśniamy sposób wykonywania poszczególnych czynności wyłącznie w konsoli tekstowej, a więc w oknie wiersza poleceń.

Polecenie search służy do wyszukiwania modułów w pakiecie Metasploit. Zapewnia parametry do filtrowania wyników, np. name, type i path.
Testy penetracyjne – konsola tekstowa Metasploit
Po zainstalowaniu platformy Metasploit w Windows uruchamia się automatycznie przeglądarka internetowa i otwiera interfejs komercyjnej wersji. Warto jednak zapoznać się z konsolą tekstową, aby móc korzystać z każdej wersji opisywanej platformy. Przywołaj ją, klikając Logo Windows | Wszystkie programy/aplikacje | Metasploit | Metasploit Console. Na ekranie pojawi się okno wiersza poleceń. Przy pierwszym rozruchu platformy trzeba poczekać chwilę, aż uruchomią się wszystkie usługi. Konsola zasygnalizuje gotowość przyjmowania poleceń od użytkownika, wyświetlając sekwencję znaków msf > (akronim od Metasploit Framework). W konsoli tej wprowadza się polecenia niczym w oknie wiersza poleceń Windows (CMD) bądź w linuksowej powłoce bash. Każde polecenie trzeba, rzecz jasna, potwierdzić klawiszem [Enter]. Poniżej przedstawiamy najważniejsze polecenia Metasploita.
Banner – Tuż po uruchomieniu konsola podaje liczbę dostępnych modułów exploit (ok. 1500), auxiliary (ok. 950) i payload (ponad 400). Aby ponownie przywołać tę informację, wystarczy wpisać banner. Moduły exploit służą do wykorzystywania luk w zabezpieczeniach oprogramowania. Moduły auxiliary pomagają zdobywać informacje o atakowanym systemie. Najprostsze narzędzia dokonują zapytań DNS, bardziej złożone przeprowadzają proste skanowanie portów, zaś najbardziej zaawansowane to specjalne skanery (np. serwerów FTP). Pod pojęciem modułu payload kryje się właściwy kod szkodnika. Zazwyczaj jest przemycany do atakowanego systemu poprzez kod exploita, gdzie wykonuje szkodliwe operacje – np. otwiera agresorowi furtkę, która pozwala mu przejąć pełną kontrolę nad systemem, lub zbiera poufne dane i wysyła je do zleceniodawcy.
Show i Search – Poleceniem show przywołasz listę wszystkich modułów lub exploitów, które są dostępne w zainstalowanym egzemplarzu Metasploita. Aby uzyskać np. zestawienie exploitów, należy wpisać show exploits. Wprowadź polecenie show -h w celu uzyskania dodatkowych wskazówek. Lista wynikowa jest jednak tak obszerna, że wielokrotnie przekracza możliwości wyświetlania w konsoli. Jeśli więc szukasz konkretnego exploita do zaatakowania określonego systemu, lepiej poradzisz sobie poleceniem search. Obsługuje m.in. parametry type i name. Jeżeli przypuszczasz, że w systemie docelowym jest luka w udostępnianiu plików poprzez SMB (Server Message Block), znajdziesz stosowne exploity, wpisując następujące polecenie:
search type:exploit name:smb
Listę wszystkich parametrów uzyskasz poleceniem search -h.
Moduły use, set i back – Działaniem poszczególnych modułów Metasploita steruje się za pomocą różnych parametrów. Korzystając z exploitów, trzeba zazwyczaj podawać adres systemu docelowego i nazwę szkodliwego kodu. W wypadku modułów auxiliary wpisuje się przeważnie adres docelowy lub zakres adresów. Jeśli chcesz np. wskazać do skonfigurowania moduł, który znalazłeś uprzednio poleceniem search, zastosuj polecenie use ścieżka_modułu/nazwa_modułu. Moduły figurujące na liście wynikowej polecenia search można zaznaczać za pomocą myszy, a następnie wklejać je za znakiem zachęty msf> poprzez menu Edit | Paste.
Nasze przykładowe poszukiwanie (patrz wyżej) wyłoniło m.in. exploit quick_tftp_pro_mode. Wprawdzie pochodzi z 2008 r., lecz jest zaklasyfikowany jako good. Jeśli więc w systemie docelowym tkwi stara wersja Quick TFT, jest duża szansa, że exploitowi uda się przemycić złośliwy kod do atakowanego sprzętu. Aby uaktywnić exploit, o którym mowa, wpisz następujące polecenie:
use exploit/windows/tftp/quick_tftp_pro_mode
Domyślny znak zachęty msf > zastąpi wówczas sekwencja znaków msf exploit (quick_tftp_pro_mode) >.
Aby ustalić, jakie parametry oferuje dany moduł, trzeba użyć polecenia show options:
msf exploit (quick_tftp_pro_mode) > show options
Typowe argumenty stosowane w exploitach to RHOST i RPORT. Pierwszy z nich oznacza adres IP atakowanego systemu, drugi zaś numer portu. Aby zmienić wartości parametrów, użyj polecenia set parametr wartość. W powyższym przykładzie kolejne polecenie może mieć następującą postać:
msf exploit (quick_tftp_pro_mode) > set RHOST 178.254.10.72
Wpisz back, aby zakończyć konfigurowanie modułu. Ujrzysz domyślny znak zachęty msf >.

W wyniku poszukiwań exploitów do serwerów FTP udało nam się znaleźć np. kod do programu Quick FTP. Choć ta luka jest już bardzo stara, jest wiele komputerów bez stosownej łaty.
Testy penetracyjne – pozyskiwanie informacji
Zawodowy badacz zabezpieczeń przeprowadzający ataki penetracyjne korzysta z wszelkich możliwych źródeł, aby zdobyć podstawowe informacje o infrastrukturze docelowej. Na przykład stosuje zapytania DNS, aby ustalić, jakie adresy IP należą do danego adresu URL i jakie usługi udostępnia atakowana firma. Witryny internetowe wielu przedsiębiorstw zapewniają np. oddzielny adres IP, pod którym są dostępne specjalne usługi udostępniania danych dla pracowników pełniących służbę poza siedzibą firmy. Sama witryna może znajdować się u dostawcy usług internetowych, zaś usługa udostępniania danych może być realizowana bezpośrednio z własnych serwerów firmy.
Badając odporność własnej infrastruktury IT, nie musisz jednak zajmować się takimi zagadnieniami. Wystarczy sprawdzić adres IP swojego routera. Adres ten jest podany w interfejsie konfiguracyjnym routera. Alternatywnie ustalisz go za pomocą portalu SpeedTest (w lewym dolnym narożniku) lub portalu Free BrowserCheck (pole External IP-Address).
Testy penetracyjne – skanowanie systemu docelowego
Analizowanie systemu docelowego skanerem portów. Po ustaleniu adresu IP możesz zbadać go pod kątem otwartych portów. W ten sposób dowiesz się, czy twój system udostępnia na zewnątrz (a więc w internecie) jakieś usługi. Do skanowania adresów IP można użyć np. bardzo funkcjonalnego narzędzia Nmap, które wchodzi w skład pakietu Metasploit. Wystarczy wpisać nmap adres_IP, aby otrzymać listę otwartych portów. W wypadku portów standardowych nietrudno domyślić się, jaka usługa kryje się za otwartym portem. Oto przykład:
msf > nmap 178.254.10.72
Badanie tego prywatnego adresu wykazało, że jest otwarty port 21. Można więc domniemać, że za podanym adresem kryje się serwer FTP. Każdy port, który jest otwarty, stanowi potencjalny cel ataków cyberprzestępczych i wymaga dogłębnego skontrolowania.

Po wczytaniu modułu skanującego lub atakującego możesz przywołać listę dostępnych parametrów poleceniem show options.
Testy penetracyjne – poszukiwanie luk
Po rozpoznaniu adresów i usług dostępnych w infrastrukturze docelowej trzeba uzyskać bardziej szczegółowe informacje na jej temat. Pomogą ci w tym skanery podatności na działanie złośliwego kodu (tzw. vulnerability scanner). Są to narzędzia poszukujące luk w zabezpieczeniach oprogramowania. Celem takiego skanowania jest wyznaczenie exploita, który odniesie skutek w atakowanym systemie. Pakiet Metasploit zapewnia wiele skanerów podatności na ataki. Pełny spis uzyskasz poleceniem
msf > search type:auxiliary
Lista jest bardzo obszerna, lecz można ograniczyć ją za pomocą parametrów filtrujących. Poniżej demonstrujemy proces skanowania na przykładzie narzędzia TCP Syn. Najpierw trzeba je uaktywnić poleceniem use:
msf > use scanner/portscan/syn
Konsola potwierdzi przywołanie modułu:
msf auxiliary(syn) >
Następnie przywołaj listę dostępnych parametrów:
msf auxiliary(syn) > show options
Poleceniem set w połączeniu z parametrami RHOSTS i RPORT ustawisz cel ataku, np.:
msf auxiliary(syn) > set RHOSTS 178.254.10.72
msf auxiliary(syn) > set RPORTS 20, 21
Proces skanowania zainicjujesz poleceniem run:
msf auxiliary(syn) > run
Pozyskiwanie informacji o atakowanym systemie i jego skanowanie to najważniejsze etapy testu penetracyjnego. Od rezultatów tych czynności i wyciągniętych wniosków zależy powodzenie ataku z zastosowaniem exploita lub innej metody.

Poleceniem set skonfigurujesz wczytany moduł. Przykładowa ilustracja przedstawia moduł quick_tftp_pro_mode.
Testy penetracyjne – atak systemu docelowego
Gdy uda ci się znaleźć w systemie docelowym usługę, która jest dostępna z zewnątrz i obarczona luką w zabezpieczeniach, możesz ją zaatakować exploitem z pakietu Metasploit Framework. Zakładając, że w naszym przykładowym systemie docelowym (178.254.10.72) działa stara wersja Quick FTP for Windows XP na porcie 21, dokonasz ataku następującymi poleceniami:
msf > use exploit/windows/tftp/quick_tftp_pro_mode
msf exploit (quick_tftp_pro_mode) > set RHOST 178.254.10.72
msf exploit (quick_tftp_pro_mode) > set RPORT 21
msf exploit (quick_tftp_pro_mode) > run

W tym przykładzie przeanalizowaliśmy podany adres IP za pomocą skanera portów nmap. Na liście otwartych portów znalazł się port serwera FTP. Może stać się celem ataku cyberprzestępczego.
Testy penetracyjne – skaner haseł
Zaatakowanie kodem exploita może okazać się bardzo skuteczne, bo znaleziona luka pozwala nie tylko przełamać bariery ochronne systemu docelowego, lecz ponadto przemycić do niego i uaktywnić złośliwy kod (payload). Jednak ataki z użyciem exploita niejednokrotnie kończą się niepowodzeniem. Zdarza się tak np. w sytuacji, gdy wbrew przypuszczeniom w systemie docelowym jest zainstalowana nowsza, poprawiona wersja oprogramowania. Takie przypadki mają miejsce bardzo często, bo skanowanie podatności na atak nie zawsze daje wiarygodne rezultaty. A nawet wtedy, gdy uda się znaleźć właściwy exploit na lukę w systemie docelowym, może go powstrzymać narzędzie zabezpieczające takie jak strażnik antywirusowy.
Tym chętniej badacze i cyberprzestępcy atakują systemy hasłowe. W dużych infrastrukturach IT hasła chronią więcej niż jeden system. Poza tym udaje się zazwyczaj znaleźć konta użytkowników, które nie są zabezpieczone długimi i złożonymi hasłami.
Skanowanie haseł. W zestawie narzędzi Metasploita znajduje się wiele skanerów haseł obsługujących różne usługi. Dane logowania są wymagane nie tylko do rozpoczynania sesji w środowisku Windows, lecz do wielu innych usług. Na przykład serwery FTP udostępniają nie tylko pliki do publicznego pobierania. Zezwalają ponadto na wgrywanie plików przez zarejestrowanych i zalogowanych użytkowników. Ich konta są wprawdzie zabezpieczone hasłami, jednak nie wszyscy przykładają dużą wagę do kwestii bezpieczeństwa. Ustawiając takie hasło jak haslo, password, asdf lub test123, w znacznym stopniu ułatwisz skanerowi ich złamanie.
Stosowne skanery pakietu Metasploit znajdziesz w katalogu scanner_login. Możesz ich szukać poleceniem
msf > search type:auxiliary path:scanner_login
Sposób skanowania haseł ilustrujemy na przykładzie narzędzia ftp_login. Poniższymi poleceniami wczytujemy moduł ftp_login, ustawiamy docelowy adres IP, definiujemy admin jako atakowane konto, po czym wgrywamy plik pass.txt. Pliki tekstowe zawierające bazy haseł są dostępne w internecie.
msf > use auxiliary/scanner/ftp/ftp_login
msf auxiliary (ftp_login) > set RHOSTS 178.254.10.72
msf auxiliary (ftp_login) > set USERNAME admin
msf auxiliary (ftp_login) > set PASS_File pass.txt
msf auxiliary (ftp_login) > run
Skaner wypróbowuje kolejno wszystkie hasła zawarte w podanym pliku. Należy go zapisać w obrębie ścieżki pakietu Metasploit (domyślnie jest to katalog C:\metasploit).

Ten skaner haseł usiłuje włamać się na konto użytkownika w serwerze FTP. Na potrzeby testu stworzyliśmy specjalny plik słownikowy gromadzący zaledwie dwa hasła.
Testy penetracyjne – ochrona przed atakami
Platforma Metasploit oferuje jeszcze więcej modułów do skanowania zdalnych systemów i atakowania ich poprzez luki w usługach oprogramowania. Wiele z tych luk wcale nie musi być dostępnych z internetu. Jeśli agresor lub badacz przypuszcza, że w jednym z komputerów sieci docelowej jest zainstalowana przestarzała wersja edytora Word lub przeglądarki Adobe Reader, może przesłać użytkownikowi zarażony dokument DOC lub PDF w załączniku wiadomości e-mailowej. Metasploit zapewnia nawet narzędzia do tworzenia takich dokumentów.
Zasadniczo można bardzo łatwo chronić się przed atakami tego rodzaju. Instaluj wszystkie poprawki zabezpieczeń dostępne do twojego oprogramowania. Dotyczy to nie tylko systemu Windows, lecz również wszystkich aplikacji. Udostępniaj w internecie tylko te usługi, bez których nie możesz się obejść. Jeśli korzystasz z serwera NAS, lecz nie potrzebujesz serwera FTP udostępniającego pliki na zewnątrz sieci, zablokuj dostęp z internetu. Oprócz tego warto używać oprogramowania antywirusowego i regularnie zaopatrywać je w sygnatury wirusów. Choć są exploity, które zapisują swój kod tylko w pamięci operacyjnej komputera, ukrywając się w ten sposób przed prostym skanerem plików, dobra aplikacja antywirusowa jest w stanie wykryć zdecydowaną większość szkodników.