>
Январь 2018
Пн Вт Ср Чт Пт Сб Вс
« Дек    
1234567
891011121314
15161718192021
22232425262728
293031  

Metasploit инструкция по применению.

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

ПРЕДЫСТОРИЯ

История Metasploit берет начало в 2003 году. HD Moore, работавший пентестером в небольшой консалтинговой компании, заметил, что хранение и использование средств анализа безопасности организованы неудобно. На тот момент это был просто набор разрозненных эксплойтов и скриптов, общие сведения о которых хранились в базе данных. Информация о необходимом окружении для запуска скриптов, как правило, отсутствовала. Также они несли в себе кучу устаревшего кода, требовали модификации жестко прописанных путей для каждого конкретного случая, что весьма затрудняло рабочий процесс и усложняло разработку новых инструментов.

В Metasploit автор, пытаясь решить эту проблему, создал консольную утилиту на Perl с  псевдографическим интерфейсом и включил в нее порядка одиннадцати эксплойтов. Сообщество встретило первую версию Metasploit весьма холодно, изрядно раскритиковав как архитектуру, так и саму идею. Тем не менее HD Moore не сдался и даже нашел сподвижника в лице spoonm, с которым они довели до ума модульную архитектуру фреймворка и выпустили вторую версию в 2004 году. Со временем фреймворк стал набирать популярность и обретать новых контрибьюторов.

Следующим значимым шагом был перевод Metasploit c Perl на Ruby, для того чтобы избежать ограничений Perl, обеспечить кросс-платформенность и добиться большей гибкости при разработке. В 2009 году фреймворк приобрела компания Rapid7, под эгидой которой продолжилось развитие open source версии, а также стали появляться коммерческие версии продукта. Сам фреймворк давно перерос статус простого набора для пентестера, и сегодня можно его можно встретить (хотя и нечасто) даже в арсенале «мирных» системных администраторов и программистов.

ВЕРСИИ

На момент написания статьи Metasploit распространяется в четырех версиях:
• Framework — базовая версия с консольным интерфейсом;
• Community — бесплатная версия, включающая дополнительно веб-интерфейс и часть функционала из коммерческих версий;
• Express — для коммерческих пользователей, включает функционал, позволяющий упростить проведение базовых аудитов и формирование отчетности по ним;
• Pro — самая продвинутая версия, предоставляет расширенные возможности для проведения атак, позволяет формировать цепочки задач для аудита, составлять подробную отчетность и многое другое.
Помимо веб-интерфейса, доступного в версиях Community, Express и Pro, существуют такие проекты, как Armitage и Cobalt strike, предоставляющие GUI-интерфейс для фреймворка.

База данных

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

Metasploit использует PostgreSQL, поэтому тебе понадобится установить ее на свою систему. Затем убедиться, что запущены нужные сервисы БД и фреймворка. Запустить их можно соответствующими командами (команды приводятся для Kali Linux, могут отличаться в твоем дистрибутиве):

 Далее проверим, что фреймворк успешно установил подключение. Откроем консоль Metasploit командой msfconsole, а затем выполним db_status, в ответ на которую система должна вернуть, что соединение с базой установлено.

СТРУКТУРА ФРЕЙМВОРКА

«Сердце» Metasploit — библиотека Rex. Она требуется для операций общего назначения: работы с сокетами, протоколами, форматирования текста, работы с кодировками и подобных. На ней базируется библиотека MSF Core, которая предоставляет базовый функционал и «низкоуровневый» API. Его использует библиотека MSF Base, которая, в свою очередь, предоставляет API для плагинов, интерфейса пользователя (как консольного, так и графического), а такжемодулей.
На модулях стоит остановиться подробнее. Они делятся на несколько типов, в зависимости от предоставляемой функциональности:
• Exploit — код, эксплуатирующий определенную уязвимость на целевой системе (например, переполнение буфера);
• Payload — код, который запускается на целевой системе после того, как отработал эксплойт (устанавливает соединение, выполняет шелл-скрипт и прочее);
• Post — код, который запускается на системе после успешного проникновения (например, собирает пароли, скачивает файлы);
• Encoder — инструменты для обфускации модулей с целью маскировки от антивирусов;
• NOP — генераторы NOP’ов. Это ассемблерная инструкция, которая не производит никаких действий. Используется, чтобы заполнять пустоту в исполняемых файлах, для подгонки под необходимый размер;
• Auxiliary — модули для сканирования сети, анализа трафика и так далее.

Структура Metasploit

Структура Metasploit

КОМАНДЫ MSFCONSOLE

Несмотря на наличие графических интерфейсов, самым распространенным способом работы с Metasploit по-прежнему остается консольный интерфейс msfconsole. Рассмотрим основные команды:
• use — выбрать определенный модуль для работы с ним;
• back — операция, обратная use: перестать работать с выбранным модулем и вернуться назад;
• show — вывести список модулей определенного типа;
• set— установить значение определенному объекту;
• run — запустить вспомогательный модуль после того, как были установлены необходимые опции;
• info — вывести информацию о модуле;
• search — найти определенный модуль;
• check — проверить, подвержена ли целевая система уязвимости;
• sessions — вывести список доступных сессий.

ПЕНТЕСТ WORDPRESS

Предлагаю, вооружившись полученными знаниями, в качестве «Hello world» провести простейший пентест сайта на WordPress.

Тестовое окружение

Для начала необходимо поднять тестовое окружение. Для этого я буду пользоваться связкой  VirtualBox + Vagrant и проектом VCCW, который позволит развернуть готовую виртуалку с  WordPress на борту буквально парой команд в консоли. Подробные инструкции ты сможешь найти на сайте проекта, здесь я покажу основные шаги.
Добавляем базовый образ:

 Затем скачиваем с сайта проекта архив с Vagrantfile, кукбуками Chef и прочим, распаковываем, переходим в папку, где лежит Vagrantfile, и выполняем команду

После этого у тебя должна подняться машина с развернутым WordPress, доступная по адресу 192.168.33.10. Стоит отметить, что это уже готовый сетап, где настроена база и заведена админская учетка. Логин и пароль от нее указаны на сайте, но мы их узнаем другим путем.
Пентест
Откроем консоль Metasploit:

 Запустим поиск по слову wordpress, чтобы найти необходимый модуль:

 Среди появившегося многообразия нас интересует модуль auxiliary/scanner/http/wordpress_login_enum, который отвечает за брутфорс аутентификации WordPress.

Результаты поиска модулей по запросу wordpress

Результаты поиска модулей по запросу wordpress

Выберем его для работы:

 Чтобы понять, как его использовать, можно ввести команду info, которая выведет краткое описание модуля и список используемых параметров. Прежде всего, укажем адрес хоста, на котором расположен сайт:

 Для брутфорса будет использоваться перебор по словарю. В данном случае известно, что пароль несложный, поэтому подойдет практически любой список ненадежных паролей, которых достаточно в сети. Укажем путь к нему:

Процесс перебора пароля по словарю в Metasploit

Процесс перебора пароля по словарю в Metasploit

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

 Также можно запретить вывод в консоль всех малозначимых сообщений, вроде неудачных попыток авторизации:

 Теперь, когда подготовительные действия совершены, осталось ввести последнюю короткую команду и ждать результата:

 После окончания процесса мы увидим в выводе командной строки, что на сайте был найден пользователь с именем admin и пароль, который к нему подошел, был тоже admin.

wordpress bruteforce

BruteForce атака завершилась успешно

ИТОГ

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

[Всего голосов: 9    Средний: 3.4/5]
Share Button

Вам может быть интересно также:

Last updated by at .

2 комментария Metasploit инструкция по применению.

Leave a Reply

You can use these HTML tags

<a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">