Czym jest Metasploit? The Beginner’s Guide
Testy penetracyjne pozwalają odpowiedzieć na pytanie: „Jak ktoś o złych zamiarach może namieszać w mojej sieci?”. Używając narzędzi pen-testingowych, białe kapelusze i specjaliści DevSec są w stanie sondować sieci i aplikacje w poszukiwaniu wad i podatności w dowolnym punkcie procesu produkcji i wdrażania poprzez włamanie się do systemu.
Jedną z takich pomocy w testach penetracyjnych jest projekt Metasploit. Ten oparty na Ruby framework open-source pozwala na testowanie poprzez zmiany w linii poleceń lub GUI. Może być również rozszerzony poprzez kodowanie, aby działać jako dodatek, który obsługuje wiele języków.
Zdobądź darmową książkę Pen Testing Active Directory Environments EBook
Co to jest Metasploit Framework i jak jest używany?
Metasploit Framework jest bardzo potężnym narzędziem, które może być używane zarówno przez cyberprzestępców, jak i etycznych hakerów do sondowania systematycznych luk w sieciach i serwerach. Ponieważ jest to framework typu open-source, może być łatwo dostosowany i używany z większością systemów operacyjnych.
Dzięki Metasploitowi, zespół przeprowadzający testy penetracyjne może użyć gotowego lub niestandardowego kodu i wprowadzić go do sieci w celu znalezienia słabych punktów. Jako kolejny rodzaj polowania na zagrożenia, po zidentyfikowaniu i udokumentowaniu błędów, informacje te mogą zostać wykorzystane do zajęcia się słabymi punktami systemu i ustalenia priorytetów rozwiązań.
Krótka historia Metasploita
Projekt Metasploit został podjęty w 2003 roku przez H.D. Moore’a, z pomocą głównego dewelopera Matta Millera, w celu wykorzystania go jako przenośnego narzędzia sieciowego opartego na Perlu. W 2007 r. został w pełni przekonwertowany na język Ruby, a licencja została przejęta przez Rapid7 w 2009 r., gdzie pozostaje częścią repertuaru firmy z Bostonu, zajmującej się tworzeniem sygnatur IDS oraz ukierunkowanych narzędzi do zdalnego exploitowania, fuzzingu, anty-fornsingu i uników.
Część tych innych narzędzi znajduje się w ramach Metasploit, który jest wbudowany w system operacyjny Kali Linux. Firma Rapid7 opracowała również dwa własne narzędzia OpenCore, Metasploit Pro i Metasploit Express.
Szkielet ten stał się ulubionym narzędziem do tworzenia exploitów i łagodzenia ich skutków. Przed wprowadzeniem Metasploita, pen testerzy musieli wykonywać wszystkie testy ręcznie, używając różnych narzędzi, które mogły, ale nie musiały wspierać testowanej platformy, pisząc ręcznie swój własny kod i wprowadzając go do sieci ręcznie. Zdalne testowanie było praktycznie niespotykane, a to ograniczało zasięg specjalisty od bezpieczeństwa do lokalnego obszaru i firm wydających fortunę na wewnętrznych konsultantów IT lub konsultantów bezpieczeństwa.
Kto używa Metasploita?
Dzięki szerokiemu zakresowi zastosowań i dostępności open-source, Metasploit jest używany przez każdego, od rozwijającej się dziedziny DevSecOps po hakerów. Jest pomocny dla każdego, kto potrzebuje łatwego w instalacji, niezawodnego narzędzia, które wykonuje swoją pracę niezależnie od platformy czy języka, w którym jest używane. Oprogramowanie jest popularne wśród hakerów i szeroko dostępne, co wzmacnia potrzebę zapoznania się z nim przez specjalistów ds. bezpieczeństwa, nawet jeśli go nie używają.
Metasploit zawiera obecnie ponad 1677 exploitów zorganizowanych na 25 platformach, w tym Android, PHP, Python, Java, Cisco i innych. Framework posiada również prawie 500 ładunków, z których niektóre obejmują:
- Ładunki powłoki poleceń, które umożliwiają użytkownikom uruchamianie skryptów lub losowych poleceń przeciwko hostowi
- Dynamiczne ładunki, które pozwalają testerom na generowanie unikalnych ładunków w celu uniknięcia oprogramowania antywirusowego
- Ładunki meta-tłumacza, które pozwalają użytkownikom na przejęcie kontroli nad monitorami urządzeń za pomocą VMC i przejmowanie sesji lub wysyłanie i pobieranie plików
- Static payloads that enable port forwarding and communications between networks
.
Metasploit Uses and Benefits
Wszystko, czego potrzebujesz, aby użyć Metasploit po jego zainstalowaniu, to uzyskanie informacji o celu albo poprzez skanowanie portów, OS fingerprinting lub użycie skanera podatności, aby znaleźć drogę do sieci. Potem wystarczy już tylko wybrać exploit i ładunek. W tym kontekście, exploit to sposób na zidentyfikowanie słabości w wybranej, coraz trudniejszej do obrony sieci lub systemie i wykorzystanie jej do wejścia do sieci.
Szkielet jest zbudowany z różnych modeli i interfejsów, które obejmują msfconsole interaktywne curses, msfcli do wszystkich funkcji msf z terminala/cmd, graficzne narzędzie Java Armitag, które jest używane do integracji z MSF, oraz Metasploit Community Web Interface, który wspiera zdalne testy penetracyjne.
Testerzy białego kapelusza próbujący zlokalizować lub uczyć się od czarnych kapeluszy i hakerów powinni być świadomi, że zazwyczaj nie ogłaszają oni, że są Metasploitingiem. Ta skryta grupa lubi działać poprzez tunele wirtualnej sieci prywatnej, aby zamaskować swój adres IP, a wielu z nich używa dedykowanych VPS-ów, aby uniknąć zakłóceń, które powszechnie nękają wielu dostawców hostingu współdzielonego. Te dwa narzędzia prywatności są również dobrym pomysłem dla białych kapeluszy, które zamierzają wkroczyć w świat exploitów i testów penetracyjnych z Metasploitem.
Jak wspomniano powyżej, Metasploit dostarcza exploity, payloads, funkcje pomocnicze, encodery, listenery, shellcode, kod post-exploitacji i nops.
Możesz uzyskać certyfikat Metasploit Pro Specialist online, aby stać się uprawnionym pen-testerem. Wymagany wynik do uzyskania certyfikatu to 80 procent, a egzamin w formie otwartej książki trwa około dwóch godzin. Kosztuje 195 dolarów, a certyfikat można wydrukować po zatwierdzeniu.
Przed przystąpieniem do egzaminu zalecane jest odbycie szkolenia Metasploit i posiadanie biegłej lub praktycznej wiedzy na temat:
- Windows i Linux OS
- Protokoły sieciowe
- Systemy zarządzania podatnościami
- Podstawowe koncepcje testów pen
Uzyskanie tego certyfikatu jest pożądanym osiągnięciem dla każdego, kto chce zostać cenionym na rynku pen-testerem lub analitykiem bezpieczeństwa.
Jak zdobyć Metasploit
Metasploit jest dostępny poprzez instalatory open-source bezpośrednio ze strony Rapid7. Oprócz najnowszej wersji przeglądarek Chrome, Firefox lub Explorer, minimalne wymagania systemowe to:
Systemy operacyjne:
- Ubuntu Linux 14.04 lub 16.04 LTS (zalecane)
- Windows Server 2008 lub 2012 R2
- Windows 7 SP1+, 8.1, lub 10
- Red Hat Enterprise Linux Server 5.10, 6.5, 7.1, lub nowsze
Hardware:
- Procesor 2 GHz+
- Minimum 4 GB RAM, ale zalecane jest 8 GB
- Minimum 1 GB miejsca na dysku, ale zalecane jest 50 GB
Będziesz musiał wyłączyć wszelkie oprogramowanie antywirusowe i zapory zainstalowane na urządzeniu przed rozpoczęciem i uzyskać uprawnienia administracyjne. Instalator jest niezależną jednostką, która jest skonfigurowana dla ciebie podczas instalacji frameworka. Masz również możliwość ręcznej instalacji, jeśli chcesz skonfigurować niestandardowe zależności. Użytkownicy z wersją Kali Linux mają już Metasploit Pro w wersji pre-bundled z ich OS. Użytkownicy Windows będą musieli przejść przez kreator osłony instalacyjnej.
Po instalacji, po uruchomieniu, będziesz miał do wyboru następujące opcje:
- Tworzenie bazy danych w /Users/joesmith/.msf4/db
- Uruchomienie Postgresql
- Tworzenie użytkowników bazy danych
- Tworzenie początkowego schematu bazy danych
Nauka korzystania z Metasploita: Tutorial + Tips
Łatwość nauki używania Metasploita zależy od twojej znajomości Rubiego. Jednakże, jeśli znasz inne języki skryptowe i programowania, takie jak Python, przejście do pracy z Metasploitem nie powinno być zbyt trudne. Poza tym, jest to intuicyjny język, który łatwo opanować w praktyce.
Ponieważ narzędzie to wymaga wyłączenia własnych systematycznych zabezpieczeń i umożliwia generowanie złośliwego kodu, powinieneś być świadomy potencjalnego ryzyka z tym związanego. Jeśli to możliwe, należy zainstalować to narzędzie na oddzielnym systemie niż urządzenie osobiste lub jakikolwiek komputer, który zawiera potencjalnie poufne informacje lub dostęp do takich informacji. Powinieneś używać dedykowanego urządzenia do pracy, gdy przeprowadzasz testy penetracyjne z Metasploitem.
Powody, dla których warto poznać Metasploit
Ten framework jest niezbędny dla każdego, kto jest analitykiem bezpieczeństwa lub pen-testerem. Jest to niezbędne narzędzie do odkrywania ukrytych luk przy użyciu różnych narzędzi i programów. Metasploit pozwala wejść w umysł hakera i wykorzystać te same metody do sondowania i infiltrowania sieci i serwerów.
Tutaj znajduje się diagram typowej architektury Metasploita:
Metasploit krok po kroku
Zaczniemy krótki tutorial łatwego exploita zakładając, że posiadasz podstawowe wymagania systemowe i operacyjne. Aby stworzyć środowisko testowe, będziesz musiał pobrać i zainstalować Virtualbox, Kali i Metasploit, aby stworzyć zwirtualizowaną maszynę hakerską. Możesz pobrać i zainstalować Windows XP lub nowszy, aby stworzyć trzecią maszynę wirtualną dla tego exploita.
Gdy masz już zainstalowane narzędzia testowe, otwórz konsolę Metasploita. Będzie ona wyglądać następująco:
Jednym ze skrótów jest wpisanie w konsoli polecenia „help”, co spowoduje wyświetlenie listy poleceń Metasploita i ich opisów. Powinno to wyglądać tak:
Potężnym i użytecznym narzędziem, na początek, jest Armitage GUI, który pozwala na wizualizację celów i rekomendowanie najlepszych exploitów, aby uzyskać do nich dostęp. Narzędzie to pokazuje również zaawansowane funkcje post-exploit dla głębszej penetracji i dalszych testów. Aby go wybrać z konsoli, przejdź do Applications – Exploit Tools – Armitage.
Jak już będziesz miał pole formularza na ekranie, wprowadź host, numer portu, ID użytkownika i hasło. Wpisz 'enter’ po wypełnieniu wszystkich pól i będziesz gotowy do zainicjowania swojego exploita.
Źródła do nauki Metasploit
Jedną z wielkich rzeczy w społeczności open-source jest zaangażowanie w łączenie zasobów i dzielenie się informacjami. Jest to nowoczesne ucieleśnienie tego, dlaczego Internet został stworzony w pierwszej kolejności. Umożliwia współpracę bez granic i promuje elastyczność.
W tym celu oferujemy listę zasobów, które pozwolą Ci w pełni wykorzystać obietnicę Matspoita.
Jednym z najlepszych zasobów i pierwszym miejscem, które powinieneś odwiedzić, jest obszerna baza wiedzy Metasploita. Znajdziesz tam przewodniki szybkiego startu, metamoduły, exploity, identyfikację i usuwanie luk. Możesz również dowiedzieć się o różnych typach poświadczeń i sposobach ich uzyskania.
Innym pomocnym źródłem jest Varonis Cyber Workshop. Oferuje on szereg samouczków i sesji z ekspertami z branży bezpieczeństwa.
Testy penetracyjne są niezbędne do wykorzeniania luk w zabezpieczeniach i zapobiegania wykorzystywaniu sieci przez exploity i hakerów. Dzięki współpracy z firmą cyberbezpieczeństwa, jak Varonis, opartej na danych i zorientowanej na wyniki, oraz wykorzystaniu narzędzi takich jak Metasploit, będziesz miał przewagę, jeśli chodzi o ochronę Twoich sieci.