Metasploit

Metasploit

BlueQuality

Происхождение и установка

Metasploit — проект с открытым исходным кодом, посвящённый информационной безопасности. Создан для предоставления информации об уязвимостях, помощи в создании сигнатур для IDS, создания и тестирования эксплойтов. Был разработанный хакером HD Moore в 2003 году. Первоначально он был написан на Perl, но в 2007 году полностью переписан на Ruby. В 2009 году был выкуплен Rapid7, компанией специализирующейся на предоставлении услуг по информационной безопасности, которая также выпустила сканер уязвимостей Nexpose.


Наверняка найдутся люди, которые пытались установить Metasploit в Termux просто прописав команду по типу "apt install metasploit" или же "pkg install metasploit", но Termux говорил, мол, такого пакета нет.

Всё дело в том, что сам пакет является очень нестабильным для работы с ним в termux.

Однако, это не значит что такого пакета не существует, и, командой приведённой ниже мы инсталлируем пакет "unstable-repo" с помощью которого позже установим Metasploit.


apt install unstable-repo


После успешного выполнения команды, мы сможем ставить любые нестабильные пакеты.

С полным списком пакетов вы можете ознакомиться перейдя по ссылке: тык

На момент написания статьи, в лист репозитории Metasploit имеет версию 4.17.37


Далее остаётся загрузить метасплойт прописав простую команду


apt install metasploit


Обратите внимание, что установка может занять много времени. Не закрывайте сеансы Termux до завершения установки, чтобы избежать возможных несоответствий, которые могут быть внесены в $ PREFIX, что может привести к дальнейшим ошибкам.


После установки запускаем командой


msfconsole

Модули

У Metasploit есть шесть разных модулей:

1. payloads

 2. exploits

 3.  post

 4.  nops

 5.  auxiliary

6.   encoders


Payloads — это код, который мы оставляем на взломанной системе. Некоторые называют их слушателями (listener), руткитами (rootkit) и т.д. В Metasploit они называются payload (полезными нагрузками). Payloads включают утилиты командной строки, Meterpreter и т.д. Payload‘ы бывают разных типов, например, staged, inline, NoNX (обходит функцию «No Execute» (без выполнения) в некоторых современных процессорах), PassiveX (обходит правила брандмауэра об исходящем трафике), IPv6 и другие.


Exploits — это шелл-код, который использует уязвимость или недостатки в системе. Это очень специфичный код. Например, есть эксплоиты для операционной системы, пакетов обновлений (SP), для конкретных служб, портов и даже для приложений. Их также можно классифицировать по типам операционных систем, поэтому эксплойт Windows не работает в Linux и наоборот.


Post — это модули, которые мы можем использовать для пост эксплуатационных атак системы (т.е. после получения доступа к системе).


Nops — сокращение от No OPerationS. В процессорах семейства x86 обычно указывается как шестнадцатеричный 0x90. Это просто означает «ничего не делать». Это может иметь решающее значение для атак переполнения буфера (buffer overflow).


Auxiliary — включает в себя множество модулей, которые не вписываются ни в одну из других категорий. К ним относятся такие вещи, как фьюзеры (fuzzer), сканеры (scanner), модули для DoS-атак (на отказ в обслуживании) и многое другое.


Encoders — это модули, которые позволяют по-разному кодировать нашу полезную нагрузку (payloads), чтобы обойти антивирусное ПО и другие системы безопасности.


Поиск

В Metasploit 4 появилась возможность поиска.

Поиск по ключевым словам позволяет выполнять как простой поиск, так и делать более детализированные поисковые запросы. Например, мы можем определить тип модуля, который нужно найти, используя ключевое слово type:


search type:exploit


Если мы выполним эту команду, то Metasploit выведет все эксплойты находящиеся в нём. Этот громадный вывод в 1850 эксплойтов нам явно ни к чему.

Но если мы знаем, что хотим атаковать машину Sun Microsystems под управлением Solaris (Sun UNIX), то мы можем уточнить наш поиск и искать только эксплоиты для Solaris. В этом случае нам нужно использовать ключевое слово platform.


search type:exploit platform:solaris

Теперь мы сузили наш поиск до тех немногих эксплойтов, которые будут работать против Solaris.

Для дальнейшего уточнения поиска предположим, что мы хотим атаковать Solaris RPC (sunrpc) и, соответственно, нам нужно видеть только те эксплоиты, которые атакуют эту конкретную службу. Мы добавляем ключевое слово «sunrpc» в наш поисковый запрос, как показано ниже:


search type:exploit platform:solaris sunrpc

Как видим, это сузило результаты поисковой выдачи до трёх модулей эксплойтов.


Ключевые слова Metasploit

Понимание и использование всего нескольких ключевых слов поможет вам ориентироваться и управлять этим мощным инструментом. Давайте рассмотрим несколько наиболее простых и необходимых команд. Это далеко не исчерпывающий список, однако, он охватывает основные команды.


1. Show

«Show» — одна из основных команд в Metasploit. Она может быть использована для отображения модулей, например, payload’ов, эксплоитов и т.д. Но она также может использоваться для отображения параметров после того как мы выберем эксплоит. Команда «show» начинает определять свой контекст, когда мы выбираем эксплоит. Поэтому, если мы введем в консоли «show payloads» перед тем, как выберем эксплоит, она покажет нам ВСЕ payload’ы. Если мы выберем «show payloads» уже после выбора конкретного эксплоита, то она покажет нам только те payload’ы, которые будут работать с данным конкретным эксплоитом.


2. Help

Команда «help» даст нам ограниченный список команд, которые мы можем использовать в msfconsole. Если вы забудете какие либо команды, то просто введите в консоли «help» и получите основные команды.


3. Info

«Info» — это еще одна базовая команда в Metasploit, которая позволяет нам видеть всю основную информацию об эксплоите. После того, как мы выбрали эксплоит, мы можем ввести в консоль команду «info» и она покажет нам все параметры, цели и описание эксплоита. Мы предпочитаем использовать «info» для любого эксплоита, который используем, чтобы лишний раз вспомнить его функции и требования.


4. Set

«Set» — это основная и критически важная команда (ключевое слово) в Metasploit. Мы можем использовать ее для установки параметров и переменных, необходимых для запуска эксплоита. Эти переменные могут включать payload’ы, RHOST, LHOST, цель, URIPATH и т.д.


5. Back

Когда мы закончили работу с определенным модулем или если мы выбрали неправильный модуль, то мы можем использовать команду «back», чтобы вернуться в строку приглашения msfconsole. Например, если мы выбрали какой-то эксплоит, а потом вдруг поняли, что выбрали неправильный, то мы можем просто ввести «back».


6. Use

Когда мы определили, какой эксплоит хотим использовать против «вражеской» системы, мы должны воспользоваться командой «use» для загрузки этого эксплоита в память и чтобы отправить его в интересующую нас систему.


7. Exploit

После того как мы выбрали нужный эксплоит, установили все необходимые переменные, выбрали какой payload будем использовать, последнее, что мы должны сделать — ввести в консоль команду «exploit». Она запустит эксплоит против целевой машины с тем payload’ом и теми переменными, которые мы для него установили.


8. Sessions

Команда «sessions» применяется для отображения или установки сессии. При использовании с параметром -l (list) она отображает все открытые сессии. Когда она используется с числом («sessions -1»), то она дает Metasploit указание активировать первую сессию. Metasploit позволяет нам запускать несколько сессий как в одной системе, так и в нескольких. Используя команду «sessions», мы можем найти все открытые сессии, переключаться между ними или активировать их.


9. Exit

Когда мы хотим выйти из консоли msfconsole, то можем просто ввести «exit».


И так. В этой статье мы узнали что такое Metasploit, как инсталлировать его в Termux, модули - и зачем они нужны, разобрали использование поиска, а также рассмотрели основные команды для пользования метасплойтом. В последующих статьях - разберём углублённое практическое применение.


Report Page