W tym artykule omówimy podstawy Metasploita oraz komendy Metasploita używane w interfejsie linii poleceń. Na początku linia poleceń konsoli MSF i ilość dostępnych komend może wydawać się duża i trudna do zrozumienia i użycia, ale nie daj się im zastraszyć. Kiedy już zrozumiesz koncepcję i przejrzystą strukturę, będzie to bardzo łatwe. Jeśli złożymy to wszystko razem, framework Metasploit składa się z rdzenia i bazy, wielu exploitów, payloadów, modułów (klas Ruby), pluginów, skryptów i wielu interfejsów użytkownika. Metasploit Framework zawiera również kilka wspaniałych narzędzi do zbierania informacji zwanych modułami pomocniczymi. Moduły pomocnicze mogą być używane do skanowania portów, identyfikacji usług, sniffowania haseł i wyliczania łat dla Windows. Metasploit jest wysoce konfigurowalny dla zaawansowanych użytkowników i można go dostosować do własnych potrzeb poprzez pisanie własnych exploitów, modułów, pluginów i skryptów. Jeśli Metasploit nie dostarcza domyślnie modułu zbierającego informacje, których potrzebujesz, możesz po prostu napisać go sam.

Msfconsole jest interfejsem użytkownika znanym jako najbardziej stabilny i ten, z którym będziemy pracować przez cały czas trwania tutoriali Metasploit na Hacking Tutorials. Oprócz stabilności, kolejną zaletą msfconsole jest możliwość wykonywania zewnętrznych komend, takich jak komenda ping i autouzupełnianie zakładek. Istnieje również graficzny interfejs użytkownika dostępny dla Metasploit o nazwie Armitage. Będziemy się przyglądać Armitage i jak używać go zamiast msfconsole w późniejszym tutorialu. Kontynuujmy ten tutorial poleceń Metasploit z aktualizacją Metasploit Framework, jeśli to konieczne, a następnie przejdźmy do msfconsole, aby zobaczyć, jakie polecenia są dla nas dostępne.

Podstawowe polecenia Msfconsole

Zakładając, że jesteś na Kali Linux 2016 rolling edition możemy uruchomić Metasploit framework i msfconsole klikając ikonę Metasploit w doku. Spowoduje to automatyczne uruchomienie usługi PostgreSQL i usługi Metasploit.

Update Metasploit with msfupdate

Zacznijmy od aktualizacji Metasploit poprzez użycie następującego polecenia w sesji terminala (nie w msfconsole):

msfupdate

To polecenie powinno zaktualizować framework Metasploit do najnowszej wersji. Aktualizacje mówią, że powinniśmy spodziewać się aktualizacji co tydzień(ish). Ostrożnie: Uruchomienie msfupdate może zepsuć twoją instalację Metasploita. Po uruchomieniu tej komendy napotkaliśmy błędy takie jak:

Ten błąd miał coś wspólnego z PostgreSQL i aby rozwiązać ten problem najpierw spróbuj wykonać następujące komendy:

apt-get update

apt-get upgrade

apt-get dist-upgrade

To rozwiązało problem po naszej stronie, prawdopodobnie miało to coś wspólnego z nieaktualną wersją pakietu. Czy Twoja instalacja Metasploita jest uszkodzona po uruchomieniu aktualizacji i potrzebujesz pomocy, aby to naprawić? Użyj funkcji komentarza poniżej, a my postaramy się pomóc Ci najlepiej jak potrafimy. Kontynuujmy z msfconsole.

Metasploit msfconsole

Gdy Metasploit się uruchomił i msfconsole jest dostępna, możemy wpisać 'help’ aby uzyskać przegląd poleceń rdzenia Metasploit i backendu wraz z opisem:

Komendy Metasploit

Wyjaśnienie każdej pojedynczej komendy Metasploit w tym poradniku byłoby stratą czasu i wykraczałoby poza zakres tego poradnika. Chcemy tylko, abyś mógł jak najszybciej rozpocząć pracę z Metasploitem i dlatego podstawowa znajomość podstawowych komend powinna na razie wystarczyć. Po drodze dowiesz się o wiele więcej na temat zaawansowanych opcji. Ponadto, większość opisów komend powinna być bardzo jasna, co dana komenda dokładnie robi i jak jej używać. Na razie przyjrzymy się najczęściej używanym podstawowym komendom Metasploita w tym poradniku, takim jak:

  • Podstawowe komendy: search, use, back, help, info i exit.
  • Komendy exploita: set do ustawiania zmiennych i show do pokazywania opcji exploita, celów, payloadów, koderów, nopsów oraz opcji zaawansowanych i unikania.
  • Komendy wykonawcze exploitów: run i exploit do uruchamiania exploitów przeciwko celowi.

Jest też obszerna dokumentacja dołączona do Metasploita, która może być użyta do wyjaśnienia wszystkiego. Przyjrzyjmy się komendom Metasploita.

Komendy Metasploita

Przejdziemy szybko przez podstawowe komendy Metasploita, abyśmy mogli zacząć zabawę i nauczyć się, jak używać exploitów na podatnej maszynie, takiej jak Metasploitable 2. Podstawowe polecenia składają się z komend help, back, exit i info.

Komendy use, back i exit

Komenda use w Metasploit jest używana do aktywacji konkretnego modułu i zmienia kontekst msfconsole na ten konkretny moduł. Nazwa exploita zostanie zaznaczona na czerwono w linii poleceń w następujący sposób:

W tym przykładzie zmieniliśmy kontekst linii poleceń na exploit o nazwie realvnc_client. Od tego momentu możemy pobierać informacje o tym exploicie, ustawiać wymagane parametry exploita i uruchamiać go przeciwko celowi.

Jeśli chcemy opuścić kontekst exploita i przełączyć się z powrotem do msfconsole, musimy użyć polecenia back. Polecenie back przeniesie nas z powrotem do konsoli msfconsole w kontekście ogólnym. Od tego momentu możemy wydać polecenie use ponownie, aby przełączyć się do innego modułu Metasploit.

Komenda exit zamknie msfconsole i zabierze nas z powrotem do terminala Kali Linux.

Komenda help

Jak widzieliśmy wcześniej w tym tutorialu, komenda help zwróci listę możliwych komend wraz z opisem, gdy zostanie wpisana w msfconsole. Kiedy wybrany jest aktywny exploit, możemy użyć polecenia help, aby uzyskać listę poleceń exploita:

Komenda info

Kiedy exploit jest wybrany za pomocą polecenia use, możemy pobrać informacje takie jak nazwa, platforma, autor, dostępne cele i wiele więcej za pomocą polecenia info. Na poniższym zrzucie ekranu użyliśmy polecenia info na exploicie o nazwie ie_execcommand_uaf:

Komenda search

Od tego czasu Metasploit zawiera ponad 1,500 różnych exploitów i regularnie dodawane są nowe. Przy takiej liczbie exploitów funkcja wyszukiwania i wiedza, jak jej używać, staje się bardzo ważna. Najprostszym sposobem użycia funkcji wyszukiwania jest wydanie polecenia search, po którym następuje szukana fraza, na przykład flash, aby wyszukać exploity związane z Flash Playerem. Używając polecenia search, Metasploit wyszuka podany termin w nazwach modułów i opisach w następujący sposób:

Jak można się spodziewać, na liście znajduje się wiele exploitów związanych z często podatnym na ataki oprogramowaniem Flash Player. Lista zawiera również CVE-2015-5122 Adobe Flash opaqueBackground Use After Free zero-day, który został odkryty podczas naruszenia danych Hacking Team w zeszłym roku.

Szukanie exploitów za pomocą słów kluczowych

Można również użyć polecenia search ze słowem kluczowym, aby wyszukać konkretnego autora, identyfikator OSVDB lub platformę. Polecenie 'help search’ wyświetla dostępne słowa kluczowe w msfconsole w następujący sposób:

Użycie polecenia search ze słowem kluczowym jest całkiem proste i wyświetlane na dole tekstu pomocy. Następujące polecenie jest używane do wyszukiwania modułów z CVE ID z 2016 roku:

msf > search cve:2016

To zwraca nam wszystkie exploity z CVE ID z 2016 roku, w tym skaner modułu pomocniczego dla najnowszego backdoora SSH w firewallu Fortinet:

Komendy Metasploit dla exploitów

W poprzednim rozdziale poznaliśmy komendy Metasploit do aktywacji exploita na msfconsole i zmiany kontekstu wiersza poleceń na exploit za pomocą komendy use. Teraz zajmiemy się tym, jak pokazać parametry exploita i jak je zmienić za pomocą polecenia set. Zobaczymy również, jak wyświetlić ładunki, cele, opcje zaawansowane i unikania. Polecenie help show wyświetli dostępne parametry dla polecenia show:

Pokaż opcje

Polecenie show options pokaże dostępne parametry exploita, jeśli zostanie użyte, gdy wiersz poleceń znajduje się w kontekście exploita. Użyjmy exploita adobe_flash_shader_drawing_fill i przyjrzyjmy się opcjom za pomocą następującego polecenia:

msf > Użyj exploit/multi/browser/ adobe_flash_shader_drawing_fill

Następnie wykonaj polecenie show options:

msf > show options

Eksploatator Flasha zawiera łącznie 6 opcji, z których tylko 2 są wymagane:

  • Retries
  • SRVHOST (Required)
  • SRVPORT (Required)
  • SSL
  • SSLCert
  • URLPath

Zauważ, że polecenie show options zwraca aktualnie wybrany cel poniżej opcji modułu. Domyślnym celem jest 0, który jest Windows dla wybranego exploita.

Użyj polecenia set, po którym następuje nazwa opcji i nowa wartość, aby zmienić wartości domyślne:

Set SRVHOST 192.168.0.100, aby zmienić wartość SRVHOST na 192.168.0.100

Set SRVPORT 80, aby zmienić port z 8080 na 80

Poprzez ponowne użycie polecenia show options można sprawdzić, czy wartości SRVHOST i SRVPORT zostały zmienione. Wartości logiczne można zmienić za pomocą polecenia set z nazwą opcji i wartością true lub false.

Show payloads

Kiedy użyjemy polecenia show payloads, msfconsole zwróci listę kompatybilnych payloadów dla tego exploita. W naszym przykładzie exploita dla Flash Playera zwróci ona całkiem sporo kompatybilnych payloadów:

Przegląd kompatybilnych exploitów

Aby użyć określonego payloadu, musisz użyć polecenia set, po którym podasz nazwę payloadu:

Set payload linux/x86/exec

Show targets

Komenda show targets zwróci listę systemów operacyjnych, które są podatne na wybrany exploit. Gdy uruchomimy to polecenie, otrzymamy następujące dane wyjściowe dla exploita adobe_flash_shader_drawing_fill:

Przegląd dostępnych celów dla wybranego exploita.

Ten exploit jest przeznaczony zarówno dla systemów operacyjnych Windows, jak i Linux. Zauważ, że możemy użyć polecenia info, aby uzyskać dodatkowe informacje na temat tego exploita i celów.

Aby ustawić cel, możemy użyć polecenia set, po którym podajemy identyfikator celu:

set target 1

Ustawiając cel, lista ładunków zostanie znacznie zredukowana, ponieważ wyświetlane będą tylko ładunki kompatybilne z celem:

Show advanced

Używając polecenia show advanced, możemy przyjrzeć się zaawansowanym opcjom exploita.

Użyj polecenia set, a następnie parametru advanced i nowej wartości, aby zmienić ustawienia zaawansowane:

Set displayablepayloadhandler true

Pokazuj kodery

Komenda show encoders zwróci nam kompatybilne kodery. Kodery są używane do unikania prostych sygnatur IDS/IPS, które szukają określonych bajtów w ładunku. Szczegółowo zajmiemy się koderami w późniejszym rozdziale samouczka Metasploit.

Aby użyć kodera, użyj polecenia set, po którym podasz nazwę kodera.

Show nops

Komenda show nops zwróci listę generatorów NOP. NOP to skrót od No Operation (brak operacji) i jest używany do zmiany wzorca sań NOP w celu ominięcia prostych sygnatur IDS/IPS typowych sań NOP. Generatory NOP zaczynają się od architektury procesora w nazwie. Zajmiemy się NOPS w dalszej części tego podręcznika.

Aby użyć generatora NOP, należy użyć polecenia set, a następnie nazwy generatora NOP. Gdy exploit zostanie uruchomiony, sanie NOP zostaną pobrane z generatora NOP.

Pokazuj uniki

Polecenie show evasion zwraca listę dostępnych technik uników.

Aby zmienić ustawienia uników, użyj polecenia set, a następnie parametru evasion i nowej wartości.

Komendy Metasploit do wykonania exploita

Po ustawieniu wszystkich wymaganych opcji dla exploita, w tym ładunku i ustawień zaawansowanych, takich jak generator NOP, opcje unikania i kodowanie, exploit jest gotowy do wykonania. Program exploit może zostać wykonany za pomocą dwóch poleceń: run oraz exploit. Wystarczy wpisać run lub exploit w konsoli msf, a exploit zostanie uruchomiony.

Na tym zakończymy na razie omawianie komend Metasploita. Jeśli masz pytania dotyczące którejś z wymienionych lub niewymienionych komend, proszę zadaj je używając funkcji komentarzy pod tym wpisem. W następnym tutorialu Metasploit’a zajmiemy się wyliczeniem maszyny Metasploitable 2. Następnie przeprowadzimy analizę podatności na podstawie zebranych informacji. Jeśli jeszcze nie zainstalowałeś Metasploitable 2, możesz najpierw przejść przez tutorial instalacji Metasploitable 2.

Share on: