Основы Metasploit для хакеров, часть 1: Начало работы с Metasploit

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
153
Депозит
-8.95$
Добро пожаловать обратно, мои начинающие кибервоины!

В этой серии я познакомлю вас с самой популярной в мире платформой для взлома и пентестинга — Metasploit!

6a4a49_f8e83cbbe7864f9a9a85492f8feb2e43~mv2.jpg


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

Что такое Metasploit?

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

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

Оригинальный Metasploit был написан на Python, а затем портирован на Ruby. Это означало, что все модули должны были быть написаны или портированы на Ruby (Python — наиболее распространённый язык сценариев для эксплойтов). Теперь, с разработкой и выпуском Metasploit 5, Metasploit теперь поддерживает модули, написанные на Python и GO.

С выпуском пятой версии Metasploit разработчики Rapid7 добавили ряд новых функций, в том числе:

1. Хранение данных в локальной базе данных или службе данных на основе HTTP

2. Модули уклонения

3. API

4. Простота масштабирования. RHOST и RHOSTS являются псевдонимами.

5. Возможность фоновых сеансов оболочки

6. Как уже упоминалось выше, поддержка модулей Python и GO.



Интерфейсы Metasploit

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

(1) msfconsole — интерактивный интерфейс, подобный командной строке (2) msfcli — полноценный интерфейс командной строки Linux (3) Armitage — стороннее приложение с графическим интерфейсом (4) msfweb — интерфейс на основе браузера

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

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

Начиная

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

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

kali > sudo systemctl start postgresql

6a4a49_c647fd62a4eb4762924d64643a5747e1~mv2.png


Примечание: в последних версиях Kali Linux, начиная с 2020, вы не сможете запускать команды, требующие прав root, без предварительного указания sudo .

Далее, если Metasploit запускается впервые, необходимо инициализировать базу данных.

kali >sudo msfdb init

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

кали >msfconsole

6a4a49_0eda7250b15d46aa95d43b5321304da6~mv2.png


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

6a4a49_9b6b612556d24450832bf28cd5240452~mv2.png


Не волнуйтесь, если результат не совсем такой, как на моём скриншоте выше, так как Metasploit вращает начальные заставки. Если у вас есть приглашение msf5 > , вы попали по адресу.

Это запустит консоль Metasploit, своего рода интерактивную консоль.

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


6a4a49_fcf375512c0c4b3f95473299fa0a5b49~mv2.png


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

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

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

(1) подвиги

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

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

(4) нет

(5) пост

(6) кодеров

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

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

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

MSF > помощь


6a4a49_033b60eb8da64e15a9d583062dc74a44~mv2.png
6a4a49_326644c9dc6b4edd88cb055067a5058e~mv2.png
6a4a49_718fc25a9a3b4690bde4a562531d0656~mv2.png


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

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

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

msf > используйте exploit/windows/browser/adobe_flash_avm2


6a4a49_555ac8c7dcc041c6933ab7fe28f8b233~mv2.png


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

msf> показать

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

msf > показать полезные данные


6a4a49_1fc7cb61cfe2445e8a74472d4e1964ab~mv2.png


При использовании этой команды после выбора эксплойта будут показаны все полезные нагрузки, совместимые с этим эксплойтом (обратите внимание на заголовок столбца «Совместимые полезные нагрузки»). Если выполнить эту команду до выбора эксплойта, будут показаны ВСЕ полезные нагрузки — ОЧЕНЬ длинный список. Как видно на снимке экрана выше, команда show payloads вывела список всех полезных нагрузок, совместимых с этим эксплойтом.

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

6a4a49_7e405f06245d4343b0253a43c042f21a~mv2.png


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

6a4a49_ffce0d149c6840a7bf6ee887acd6314d~mv2.png


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

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

6a4a49_785af51c030d49c7a26caaa260af7dcd~mv2.png
6a4a49_b963fd28780f4d048a9b4e481b269366~mv2.png


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

msf > поиск

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

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

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

Платформа – это операционная система, для которой создан модуль . Тип – это тип модуля. К ним относятся эксплойты, nop-функции, полезные нагрузки, пост-функции, кодировщики, обходные пути и вспомогательные функции. Имя – если вы знаете имя модуля, вы можете найти его по имени.

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

msf > тип поиска:эксплойт Например, если вы ищете эксплойт (тип) для Windows (платформа) для Adobe Flash, мы можем ввести;

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


6a4a49_04aaf23e42e44ef3b007a41fb05556fb~mv2.png


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

msf > набор

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

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

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

msf > снято с охраны

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

msf > сбросить SRVPORT

6a4a49_b86d551d1b354c238fb035d33880a0a1~mv2.png


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

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

6a4a49_db58f63554744881af5536bb158af7d0~mv2.png


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

MSF > назад

6a4a49_873068653adc4aa59acf691f702767ac~mv2.png


Мы можем использовать команду back, чтобы вернуться на один шаг назад в нашем процессе. Например, если мы решили не использовать эксплойт Adobe/Flash/AVM2, мы можем ввести команду back, и загруженный эксплойт будет удалён.

msf > выход

6a4a49_b57a0ae8b3964d5fafaf5a40b9345246~mv2.png


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

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

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

RHOSTS — это удаленный(е) хост(ы) или целевой(е) IP(ы) LHOST — это локальный хост или IP-адрес атакующего RPORT — это удаленный порт или целевой порт LPORT — это локальный порт или порт атакующего.

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




msf > SET RHOST 75.75.75.75

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