Основы Metasploit: Часть 1. Начало работы с Metasploit

Published April 4, 2020 • 1 min read

Введение

Metasploit является ведущим в мире фреймворком для эксплуатации и хакеров. В какой-то степени он используется почти каждым хакером / пентестером. Таким образом, вам действительно нужно ознакомиться с ним, если вы хотите войти и процветать в этой растущей области.

Что такое Metasploit?

Metasploit - это стандартизированный фреймворк для использования в тестах на безопасность или проникновение (легальный взлом, чтобы найти уязвимости раньше, чем это сделают злоумышленники). До появления Metasploit эксплойты и шелл-код разрабатывались различными разработчиками на разных языках для различных систем. Пентестеру пришлось полагаться на надежность разработчика в том, что он был загружен вредоносным кодом, и узнать, как разработчик намеревался использовать эксплойт / шеллкод / ​​инструмент. С Metasploit у пентестера есть стандартизированная структура для работы, из которой инструменты работают одинаково, и все они написаны на одном языке, что делает вещи намного легче и проще.

Первоначально разработанный HD Moore как проект с открытым исходным кодом, теперь он принадлежит компании по обеспечению безопасности Rapid7 (Rapid7 также владеет сканером уязвимостей Nexpose). Хотя изначально Rapid7 разрабатывался как проект с открытым исходным кодом, в настоящее время он разработал Pro-версию Metasploit с несколькими дополнительными «прибамбасами». К счастью, общедоступная версия с открытым исходным кодом все еще доступна для всех нас, и при этом вы не должны тратить десятки тысяч долларов на версию Pro (если вы профессиональный пентестер, эффективность и экономия времени увеличивается при использовании версии Pro). это будет хорошим вложением).

Metasploit Интерфейсы

Metasploit имеет несколько интерфейсов, включая;

(1) msfconsole - интерактивный интерфейс, подобный интерфейсу командной строки

(2) msfcli - буквальный интерфейс командной строки Linux

(3) Armitage - стороннее приложение на основе графического интерфейса пользователя

(4) msfweb - интерфейс на основе браузера

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

В последние годы Metasploit интегрировал дополнительные инструменты, чтобы сделать его не просто средой разработки. Такие инструменты, как nmap , Nessus и Nexpose, теперь интегрированы в Metasploit, так что весь процесс от сканирования портов, сканирования уязвимостей, эксплуатации и пост-эксплуатации может быть выполнен из одного инструмента. Кроме того, Metasploit теперь интегрировал базу данных postgresql для хранения данных, собранных в результате ваших сканирований и эксплойтов.

II. Начиная

Прежде чем мы запустим Metasploit, мы должны запустить базу данных postgresql. Metasploit будет работать без postgresql, но эта база данных позволяет Metasploit быстрее выполнять поиск и сохранять информацию, которую вы собираете во время сканирования и использования.

Запустите базу данных postgresql перед запуском Metasploit, набрав;

kali> служба postgresql начало

После запуска базы данных вы можете запустить консоль Metasploit Framework, набрав;

kali> msfconsole

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

Не беспокойтесь, если он не будет выглядеть так же, как мой экран выше, так как Metasploit вращает начальные заставки. Пока у вас есть приглашение msf> , вы находитесь в правильном месте.

Это запускает консоль Metasploit. Если вы более ориентированы на графический интерфейс, вы можете перейти Приложения -> Инструменты эксплуатации -> Metasploit Framework.

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

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

Metasploit имеет шесть (7) типов модулей;

(1) подвиги

(2) полезные нагрузки

(3) вспомогательные

(4) NOPS

(5) сообщение

(6) кодеры

(7) уклонение (новое в Metasploit 5)

Несколько слов о терминологии, прежде чем мы начнем. В терминологии Metasploit эксплойт - это модуль, который использует уязвимость системы или приложения. Обычно он пытается разместить полезную нагрузку в системе. Эта полезная нагрузка может быть простой командной оболочкой или всесильным Meterpreter . В других средах эти полезные нагрузки могут быть названы слушателями или руткитами . Вы можете прочитать больше о различных типах полезных нагрузок в Основах Metasploit, часть 3: Полезные нагрузки

Давайте посмотрим на некоторые из этих ключевых команд. Мы можем получить список команд, введя help в приглашении metasploit (msf5).

msf> помощь

Обратите внимание, что мы можем получить доступ к этому меню помощи с "?" а также "помощь".

msf> использовать

Команда «use» загружает модуль. Так, например, если бы я хотел загрузить модуль эксплойта / windows / browser / adobe_flash_avm2 (это эксплойт, использующий одну из многих уязвимостей в плагине Adobe Flash), я бы добавил;

msf> использовать эксплойт / windows / browser / adobe_flash_avm2

Как вы можете видеть выше, когда Metasploit успешно загружает модуль, он отвечает типом модуля (эксплойтом) и сокращенным именем модуля красным .

msf> показать

После загрузки модуля команда show может быть очень полезна для сбора дополнительной информации о модуле. Чаще всего я использую три команды «show»: « show options », « show payload s» и « show target ». Давайте сначала посмотрим на «show payloads».

msf> показать полезные нагрузки

Эта команда, когда она используется после выбора вашего эксплойта, покажет вам все полезные нагрузки, которые совместимы с этим эксплойтом. Если вы запустите эту команду перед выбором эксплойта, она покажет вам ВСЕ полезные нагрузки, ОЧЕНЬ длинный список.

Как вы видите на скриншоте выше, команда show payloads перечислила все полезные нагрузки, которые будут работать с этим эксплойтом.

msf> показать параметры

Эта команда также очень полезна для запуска эксплойта. Он отобразит все параметры, которые необходимо установить перед запуском модуля. Эти параметры включают в себя такие вещи, как IP-адреса, путь URI, порт и т. Д. Msf> show target

Менее часто используемая команда - " показать цели ". У каждого эксплойта есть список целей, с которыми он будет работать. Используя команду «show target», мы можем получить их список. В этом случае нацеливание происходит автоматически, но некоторые эксплойты имеют до 100 различных целей, и успех часто будет зависеть от выбора правильной. Эти цели могут быть определены операционной системой, пакетом обновления и языком, среди прочего.

msf> информация

Команда info проста. Когда вы набираете его после выбора модуля, он показывает вам ключевую информацию о модуле, включая параметры, которые необходимо установить, объем пространства полезной нагрузки (подробнее об этом в разделе полезных нагрузок) и описание модуля , Я обычно всегда запускаю его после выбора эксплойта.

msf> поиск

Как новичок в Metasploit, команда «поиск» может быть наиболее полезной. Когда Metasploit был маленьким и новым, было довольно легко найти нужный вам модуль. Теперь, имея более 3000 модулей, поиск нужного модуля может быть трудоемким и проблематичным. Rapid7 добавил функцию поиска, начиная с версии 4, и это спасло время и жизнь.

Хотя вы можете использовать функцию поиска для поиска по ключевым словам, этот подход не всегда эффективен, поскольку он часто возвращает ОЧЕНЬ большой набор результатов.

Чтобы быть более точным в своем поиске, вы можете использовать следующие ключевые слова.

платформа - это операционная система, для которой модуль построен по типу - это тип модуля. К ним относятся эксплойты, nops, полезные нагрузки, почта, кодировщики, уклонения и вспомогательное имя - если вы знаете имя модуля, вы можете искать по его имени

Синтаксис для использования поиска - это ключевое слово, за которым следует двоеточие, а затем значение, например;

msf> тип поиска: эксплойт

Например, если вы искали эксплойт (тип) для Windows (платформа) для Abobe Flash, мы могли бы напечатать;

msf> тип поиска: эксплойт платформа: windows flash

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

msf> set

Эта команда используется для установки параметров в выбранном вами модуле. Например, если мы посмотрим выше на команду show options , мы увидим множество параметров, которые должны быть установлены, такие как URIPATH , SVRHOST и SVRPORT . Мы можем установить любой из них с помощью команды set, такой как;

msf> установить SRVPORT 80

Это меняет SVRPORT (порт сервера) по умолчанию с 8080 на 80.

msf> unset

Эта команда, как и следовало ожидать, отменяет ранее установленный параметр. Такие как;

msf> сбросить SRVPORT

Как видите, мы сначала устанавливаем переменную SRVPORT равной 80, а затем сбрасываем ее. Затем оно вернулось к значению по умолчанию 8080, которое мы можем увидеть, когда снова введем show options.

msf> эксплуатировать

После того, как мы загрузили наш эксплойт и установили все необходимые опции, последнее действие - « эксплойт ». Это отправляет эксплойт в целевую систему и, в случае успеха, устанавливает полезную нагрузку.

Как видно на этом снимке экрана, эксплойт запускается и выполняется как фоновое задание с обратным обработчиком на порту 4444. Затем он запустил веб-сервер на хосте 0.0.0.0 на порту 80 со случайным URL-адресом (F5pmyl9gCHVGw90). Мы могли бы выбрать конкретный URL и установить его, изменив переменную URIPATH с помощью команды set.

msf> назад

Мы можем использовать команду «назад», чтобы сделать «шаг назад» в нашем процессе. Так что, если вы, например, решили, что мы не хотим использовать эксплойт adobe / flash / avm2, мы можем напечатать «назад», и он удалит загруженный эксплойт.

msf> выход

Команда exit, как и следовало ожидать, завершает нас из msfconsole и возвращается в командную оболочку BASH.

Обратите внимание, что в этом случае он останавливает веб-сервер, который мы создали в этом эксплойте, и возвращает нас в командную строку Kali в оболочке BASH.

Во многих эксплойтах вы увидите следующие параметры (переменные).

RHOST - это удаленный хост или целевой IP LHOST - это локальный хост или IP-адрес атакующего - это удаленный порт или целевой порт LPORT - это локальный порт или порт атакующего

Все они могут быть установлены с помощью команды SET, за которой следует имя переменной (например, RHOST) и затем значение.

msf> SET RHOST 75.75.75.75

Хотя это далеко не полный список команд Metasploit, только с помощью этих команд вы сможете выполнять большинство функций в Metasploit. Когда вам понадобится другая команда в этом курсе, мне понадобится несколько минут, чтобы представить ее, но это все, что вам, вероятно, понадобится на данный момент.

Вы можете продолжить эту серию, перейдя к разделу Основы Metasploit, часть 2, так как мы исследуем самую мощную среду разработки с открытым исходным кодом, пока вы не станете экспертом Metasploit!

Original

Подпишись на рассылку