W mojej książce Etyczny hacking i testy penetracyjne. Zadbaj o bezpieczeństwo sieci LAN i WLAN poznałeś sposoby łamania haseł w sieciach bezprzewodowych, dowiedziałeś się jak zdobyć dane, które użytkownik wprowadził do przeglądarki. Man in the Middle jest dość ciekawym sposobem uzyskania informacji, ale aby cokolwiek zrobić, musiałeś być w tej samej sieci. Nawet jak w niej byłeś, to jedyne co mogłeś przechwycić, to dane z przeglądarek. Oczywiście są to ważne informacje, ale czy nie da się więcej? Jeżeli interesuje/ zainteresował Cię ten temat, to nie masz już wyjścia, musisz czytać dalej. W tej serii artykułów pokażę program, dzięki możemy przetestować urządzenie, pod względem zainstalowanego na nim urządzenia.
 

W materiałach dotyczących narzędzia Metasploit będę wykorzystywał dwie maszyny wirtualne w VirtualBox. Pierwsza z nich to Kali Linux, natomiast druga Metasplitable2. Obie maszyny znajdują się w tej samej sieci nat. Jeśli chcesz wykonać wszystkie poniższe czynności skonfiguruj takie środowisko testowe. Ważne jest aby przed pierwszym uruchomieniem Metasplitable2 dodać ją do sieci NAT. Jest to obraz specjalnie przygotowany do ćwiczeń związanych z łamaniem zabezpieczeń. Nie może być uruchomiony w sieci, z której korzysta się na co dzień.

Czym jest oprogramowanie Metasploit?

Metasploit jest udostępniony całkowicie za darmo i posiada bardzo duży zakres możliwości. Sam w sobie zawiera ogromną bazę exploitów, które w łatwy sposób jesteśmy w stanie wykorzystać do testów. Jednak nie jesteś jedynie ograniczony do zaimplementowanych sposobów. Możesz sam tworzyć własne i dzięki temu narzędziu je wykorzystać.
 

Jego funkcjonalność nie zamyka się na samych exploitach. Dzięki niemu jesteś w stanie gromadzić dane, szukać luk w sieci. Wielu doświadczonych osób zajmujących się na co dzień bezpieczeństwem uważa ten program za najlepsze narzędzie do tego celu, szczególnie podczas nauki.
 

Dla mnie jest czymś, co bardzo dobrze wspominam z początku swojej nauki. Do dnia dzisiejszego pamiętam, jak pierwszy raz udało mi się zrobić to, co za chwilę Ci pokażę. Mile wspominam ten dreszczyk emocji, zadowolenia z tego, że się udało.
 

„KURDE! Ja mam pełny dostęp do tego systemu”, mniej więcej tak było. Natomiast dzisiaj, może już nie tak samo reaguję ponieważ trochę czasu używam Metasploita, ale nadal ta radość z powodzenia jest obecna. Mam nadzieję, że dalszy materiał napełni Cię taką samą pozytywną energią, jaką wywołał we mnie po raz pierwszy i nabierzesz jeszcze większych chęci do nauki.
 

Jednak jeżeli poczujesz jakiś niedosyt, bo dostępny materiał nie jest dla Ciebie wystarczający, to mogę Ci polecić kurs samych autorów znajdujący się pod adresem: https://www.offensive-security.com/metasploit-unleashed/ 
 

Pierwsze uruchomienie

Opisywane oprogramowanie pod względem uruchomienia niczym się nie różni od klasycznego oprogramowania uruchamianego w dystrybucjach Linux. Jak z każdym nowym programem w dystrybucji Linux powinniśmy na początku zapoznać się z jego dziennikiem pomocy, wpisując:
 

msfconsole --help

Usage: msfconsole [options]

 

Common options:

    -E, --environment ENVIRONMENT    Set Rails environment, defaults to RAIL_ENV environment variable or 'production'

 

Database options:

    -M, --migration-path DIRECTORY   Specify a directory containing additional DB migrations

    -n, --no-database                Disable database support

    -y, --yaml PATH                  Specify a YAML file containing database settings

 

Framework options:

    -c FILE                          Load the specified configuration file

    -v, -V, --version                Show version

 

Module options:

        --[no-]defer-module-loads    Defer module loading unless explicitly asked

    -m, --module-path DIRECTORY      Load an additional module path

 

Console options:

    -a, --ask                        Ask before exiting Metasploit or accept 'exit -y'

    -H, --history-file FILE          Save command history to the specified file

    -l, --logger STRING              Specify a logger to use (StdoutWithoutTimestamps, TimestampColorlessFlatfile, Flatfile, Stderr, Stdout)

        --[no-]readline

    -L, --real-readline              Use the system Readline library instead of RbReadline

    -o, --output FILE                Output to the specified file

    -p, --plugin PLUGIN              Load a plugin on startup

    -q, --quiet                      Do not print the banner on startup

    -r, --resource FILE              Execute the specified resource file (- for stdin)

    -x, --execute-command COMMAND    Execute the specified console commands (use ; for multiples)

    -h, --help                       Show this message
 

Poczytaj trochę na temat opcji, jakie możesz wykorzystać przy uruchomieniu programu. Niektórymi z nich zajmiemy się w kolejnych częściach. Dlaczego nie teraz? Ponieważ Metasploit na samym początku należy poznać od środka. Możliwe, że zastanawiasz się po co kazałem spojrzeć na opcje przy uruchomieniu tego programu? Odpowiedź na to pytanie jest dość prosta. Zawsze powinieneś tak robić korzystając z nowego programu! Dzięki temu bardzo często poznasz, w jaki sposób ułatwić sobie życie na samym początku.
 

Uruchommy teraz metasplit jako użytkownik konta root:

sudo su

msfconsole
 

Powinieneś otrzymać informacje tak jak poniżej:
 


 

Na samym wstępie jesteś w stanie wyczytać, ile program posiada wbudowanych exploitów oraz payloadów. Wiem… Możesz mieć pewien mętlik w głowie, bo nie wspomniałem jeszcze o tych dwóch pojęciach. Jednak nie martw się, różnice poznasz przy omawianiu poszczególnych luk w późniejszym czasie. Teraz widzisz, jak ogromne możliwości stwarza sam program. Szczególnie, że istnieje jeszcze możliwość tworzenia własnych exploitów i wykorzystania ich za pomocą tego narzędzia. Tworząc własne rozwiązania jesteś w stanie zająć się samą implementacją, a nie myśleć dodatkowo nad stworzeniem narzędzia, które to zautomatyzuje. Niestety w ramach tych kilku artykułów zajmiemy się tylko tymi wbudowanymi exploitami. Myślę, że na sam początek będzie to dla Ciebie również spora dawka wiedzy.
 

Wyświetlamy wszystkie możliwości konfiguracji programu

Metasploit posiada wbudowane polecenie help, za pomocą którego poznasz wszystkie dostępne w nim możliwości konfiguracji. Wystarczy, że w uruchomionym programie wpiszesz:

help
 

Pojawi się imponująca lista możliwości tego programu. Niektóre z wymienionych opcji posłużą ustawieniom, niektóre nadają dodatkowe możliwości, a na samym dolne znajdują się przykłady wykorzystania niektórych z poleceń. Szczególnie warto zapoznać się z przykładami. Pomogą lepiej zrozumieć normę korzystania z narzędzia jaką autorzy kierowali się podczas jego tworzenia.