Установка и использование Metasploit в Ubuntu Linux
Важно: Metasploit — инструмент для тестирования безопасности. Используйте его только в рамках правового поля и с явного разрешения владельца исследуемых систем.

Содержание
- Что такое Metasploit
- Почему использовать Metasploit Framework
- Требования
- Установка Metasploit в Linux (Ubuntu)
- Установка виртуальной машины Metasploitable
- Работа с Metasploit и Metasploitable
- Основы: сканирование портов и поиск эксплойтов
- Руководство (SOP) для короткого теста проникновения
- Роли и чеклисты (пентестер, администратор, разработчик)
- Когда Metasploit не подходит — альтернативы и ограничения
- Укрепление безопасности и практики хостинга
- Часто задаваемые вопросы
- Краткое резюме
Что такое Metasploit
Metasploit — это открытый фреймворк для разработки и запуска кода эксплойтов. Он содержит большую базу эксплойтов, полезных модулей и утилит для проведения тестов на проникновение и поиска уязвимостей. Это не одиночный инструмент, а набор взаимосвязанных компонентов: консоль, вспомогательные (auxiliary) модули, модули эксплойтов и полезных нагрузок (payloads).
Ключевые возможности Metasploit:
- разработка и исполнение эксплойтов;
- автоматизированное тестирование безопасности;
- поддержка обратных оболочек и payload’ов;
- интеграция с инструментами сбора информации (сканеры, nmap);
- расширяемость через собственные модули и плагины.
Определение: эксплойт — программа или код, использующий уязвимость для достижения неавторизованных действий на целевой системе.
Почему использовать Metasploit Framework
Metasploit удобен тем, что соединяет множество инструментов в единый интерфейс. Его модульная архитектура позволяет гибко комбинировать эксплойты, сканеры и payload’ы. Новичку он даёт доступ к готовой библиотеке знаний, а опытному специалисту — платформу для разработки кастомных модулей.

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

Требования
Перед установкой убедитесь, что у вас есть:
- Достаточно места на диске: 10–20 ГБ на случай загрузки зависимостей и образов виртуальных машин.
- Оперативная память: 4–8 ГБ для комфортной работы; для виртуальных машин достаточно 512–1024 МБ для Metasploitable.
- Поддержка виртуализации в BIOS/UEFI (VT-x/AMD-V) для запуска VirtualBox и виртуальных машин.
- Учетная запись с правами sudo.
Установка Metasploit Framework в Linux (Ubuntu)
Ниже — проверенный рабочий набор команд и шагов. Выполняйте их в терминале под пользователем с правами sudo.
- Установите необходимые зависимости (curl, unzip, nmap):
sudo apt update && sudo apt install -y curl unzip nmap
- Создайте временную рабочую директорию и перейдите в неё:
mkdir msf-temp && cd msf-temp- Скачайте инсталлятор Metasploit от Rapid7:
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
- Установите разрешения на исполнение у скрипта:
sudo chmod 755 ./msfinstall- Запустите скрипт установки:
./msfinstall
Что делает скрипт: импортирует подпись разработчиков, добавляет репозиторий в систему apt, загружает пакет Metasploit и корректирует PATH, чтобы исполняемые файлы были доступны.

- После завершения установки запустите Metasploit консоль:
msfconsoleПервый запуск предложит настроить базу данных. Нажмите Y, чтобы автоматически создать и настроить PostgreSQL, и затем Enter, если не нуждаетесь в удалённом веб-интерфейсе.

Обычно конфигурация занимает 1–2 минуты. После этого вы увидите подсказку Metasploit.

Установка Metasploitable (виртуальная тестовая машина)
Metasploitable — преднамеренно уязвимая виртуальная машина для обучения и тестирования. Запустите её в изолированной сети.
- Установите VirtualBox:
sudo apt install -y virtualbox
- Скачайте Metasploitable 2 с официальной страницы разработчика (обычно SourceForge). Файл будет в ZIP-архиве.

- Распакуйте архив и конвертируйте VMDK в VDI для совместимости с VirtualBox:
unzip ~/Downloads/metasploitable-linux-2.0.0.zip && cd ./Metasploitable2-Linux
vboxmanage clonehd Metasploitable.vmdk ms2-linux.vdi -format VDI
- Откройте VirtualBox (через меню или командой
virtualbox) и создайте новую виртуальную машину. При настройке выберите «Use an existing virtual hard disk file» и укажите сконвертированный ms2-linux.vdi.

- В диалоге создания машины укажите имя, Type «Linux», Version «Other Linux (64-bit)», установите оперативную память 512–1024 МБ.


- На вкладке «Storage» выберите опцию использования существующего виртуального диска и укажите ms2-linux.vdi.

Запуск и подключение Metasploitable
Запустите виртуальную машину двойным кликом в списке VirtualBox. Машина загрузится и окажется в изолированной внутренней сети.

Чтобы определить IP гостевой системы, используйте команду ip addr в консоли или на виртуальной машине (если у неё есть терминал). Для входа по умолчанию используйте логин/пароль msfadmin / msfadmin.

Практическое использование Metasploit и Metasploitable
Теперь, когда и Metasploit, и Metasploitable готовы, можно практиковаться в безопасной среде. Всегда держите тестовую сеть изолированной от продакшна.
Базовые команды Metasploit
- msfconsole — запуск консоли Metasploit;
- help — краткая справка по командам;
- search <текст> — поиск модулей по ключевым словам;
- use <модуль> — загрузить модуль в рабочую сессию;
- show exploits | payloads | auxiliary — показать список доступных модулей;
- info <модуль> — подробная информация о модуле;
- set <опция> <значение> — установить значение опции модуля;
- run / exploit — запустить модуль.


Поиск и информация про эксплойты
Чтобы найти эксплойты для конкретной платформы, используйте search:
search androidА затем info для получения полного описания выбранного модуля:
info exploit/android/adb/adb_server_exec
Сканирование открытых портов
Один из самых простых сценариев — получить список открытых портов на целевой машине и затем подобрать подходящий модуль.
- Определите IP целевой машины (на гостевой системе или с хоста):
ip addr
- Выполните сетевое сканирование хостов с помощью nmap:
nmap -sn 192.168.68.0/24Примечание: опция -sn выполняет поиск живых хостов (ping scan).

- В Metasploit загрузите модуль tcp-портсканера:
use auxiliary/scanner/portscan/tcpУстановите целевой хост:
set RHOSTS 192.168.68.105Запустите модуль:
run

Руководство (SOP) — быстрый тест проникновения в изолированной среде
Цель: выполнить безопасный тест на проникновение в машине Metasploitable и документировать шаги.
Шаги:
Подготовка окружения
- Убедитесь, что VirtualBox и Metasploit установлены на машине тестировщика.
- Настройте виртуальную сеть в режиме «Internal Network» или «Host-only» для изоляции.
- Создайте снимок (snapshot) гостевой системы перед началом теста.
Сбор информации
- Выполните nmap-сканирование сети:
nmap -sC -sV -p-. - Задокументируйте обнаруженные сервисы и версии.
- Выполните nmap-сканирование сети:
Анализ и подбор эксплойтов
- В Metasploit выполните
search. - Запишите потенциальные модули с пометкой приоритетности (High/Medium/Low).
- В Metasploit выполните
Тестирование эксплойтов в безопасном режиме
- Для каждого модуля: выполнить
info, настроить опции (RHOSTS,RPORT,PAYLOAD). - Использовать
check(если поддерживается), чтобы узнать уязвим ли хост. - Выполнять эксплуатацию по очереди, документируя вывод.
- Для каждого модуля: выполнить
Пост-эксплуатация и отчётность
- Собрать артефакты (логи, скрины) и составить отчёт с рисками и рекомендациями.
- При необходимости откатить снимок виртуальной машины.
Критерии приёмки
- Получен список открытых портов и сервисов;
- Выполнена попытка эксплуатации с документированными результатами;
- Описаны шаги для устранения обнаруженных уязвимостей;
- Снимок машины возвращён к исходному состоянию после теста.
Роли и чеклисты
Чеклист для пентестера:
- Правовая проверка: есть письменное разрешение владельца;
- Подготовка окружения: изоляция сети и снимок VM;
- Сбор информации: nmap, banner grabbing, версии сервисов;
- Поиск модулей:
search,info,check; - Эксплуатация: логирование, минимизация воздействия;
- Отчёт: уязвимости, PoC, рекомендации по исправлению.
Чеклист для администратора (sysadmin):
- Проверить настройки сети VirtualBox (NAT vs Bridged);
- Включить аппаратную виртуализацию в BIOS;
- Закрыть неиспользуемые порты и обновить сервисы;
- Настроить резервное копирование и снимки VM;
- Ограничить доступ к инструментам тестирования.
Чеклист для разработчика (Dev):
- Реализовать обновления конфигураций и зависимостей;
- Применять безопасные библиотеки и практики обработки входных данных;
- Проводить статический и динамический анализ кода;
- Внедрять CI-проверки безопасности.
Когда Metasploit не подходит — ограничения и альтернативы
Контрпримеры/когда он не сработает:
- В средах без привилегий или где запрещено выполнение внешнего кода; Metasploit требует возможности отправлять полезную нагрузку.
- При атаке на сильно защищённые, правильно настроенные системы с актуальными патчами.
- Для поиска уязвимостей «нулевого дня» — коммерческие и кастомные решения могут быть эффективнее.
Альтернативные инструменты:
- Burp Suite — для тестирования веб-приложений;
- Nessus/OpenVAS — для сканирования уязвимостей;
- Nmap + NSE — для гибкого сканирования и скриптинга;
- Custom exploit development на Python/Ruby для специфичных целей.
Укрепление безопасности (рекомендации)
- Обновляйте сервисы и операционные системы регулярно.
- Минимизируйте число открытых портов и сервисов.
- Ограничивайте сетевой доступ через firewall и VLAN.
- Включайте SELinux/AppArmor и другие средства контроля доступа.
- Внедряйте мониторинг и логирование, чтобы быстро обнаруживать инциденты.
Тесты и критерии приёмки для учебной проверки
Приёмочный тест (минимум):
- Выполнить nmap и обнаружить минимум 3 открытых сервиса на Metasploitable;
- Найти хотя бы один эксплойт в Metasploit, который целевой сервис считает уязвимым (check/positive result);
- Зарегистрировать успешную попытку подключения обратной оболочки (если тестовая политика разрешает);
- Вернуть систему к исходному снимку.
Отладка проблем: часто встречающиеся ошибки и их решения
Проблема: Metasploitable не запускается
- Причина: отключён PAE/NX или несоответствие настроек процессора.
- Решение: VirtualBox -> Settings -> System -> Processor -> включите «Enable PAE/NX».
Проблема: Хост не видит виртуальную машину
- Причина: сетевой адаптер настроен в NAT и не позволяет связать внутреннюю сеть.
- Решение: VirtualBox -> Settings -> Network -> переключите на Bridged Adapter или Host‑only, в зависимости от цели.
Проблема: Инсталляция msfinstall завершилась с ошибкой
- Проверьте доступ в интернет, права выполнения скрипта и наличие зависимостей (curl, unzip, nmap).
- Посмотрите логи apt и вывод скрипта для диагностирования конкретной ошибки.
Безопасность и приватность при тестировании
- Не тестируйте чужие сети без разрешения.
- Если обрабатываете персональные данные в ходе теста, соблюдайте местные законы о защите данных.
- Для публичных отчётов удаляйте конфиденциальные данные и IP, не относящиеся к исследованию.
Короткая методика обучения (мини-методология)
- Установите Metasploit и Metasploitable в изолированной сети.
- Начните с nmap-сканирования и изучения сервисов.
- В Metasploit выполните поиск (
search) и изучитеinfoдля релевантных модулей. - Попробуйте безопасно запустить модуль с опцией
checkи только затемrunилиexploit. - Документируйте шаги и откатывайте систему в исходное состояние.
Глоссарий — 1 строка для ключевых терминов
- Эксплойт: код, использующий уязвимость; Payload: полезная нагрузка, выполняемая после эксплуатации; RHOSTS: удалённые хосты; RPORT: удалённый порт.
Часто задаваемые вопросы
Можно ли проверить, есть ли эксплойт в Metasploit?
Да. В консоли Metasploit используйте команду search <ключевое слово>, например search android, чтобы найти эксплойты по платформе или сервису.
Metasploitable не загружается. Сломана ли моя установка?
Чаще всего причина — настройки VirtualBox. Проверьте System -> Processor и включите «Enable PAE/NX», а также активируйте аппаратную виртуализацию в BIOS/UEFI.
Хост не видит Metasploitable. Что делать?
Поменяйте сетевой адаптер гостевой машины в VirtualBox на Bridged Adapter или Host-only, в зависимости от требований тестирования.
Нужно ли использовать Metasploit в продакшн-средах?
Нет. Metasploit предназначен для тестирования и обучения. Применение в продакшн-среде без предварительной подготовки и согласования опасно.
Краткое резюме
- Metasploit — мощный фреймворк для тестирования уязвимостей и обучения.
- Установка в Ubuntu занимает несколько шагов: зависимости, скачивание инсталлятора, запуск msfconsole.
- Для безопасного обучения используйте изолированную виртуальную сеть и Metasploitable.
- Всегда соблюдайте правовые требования и минимизируйте воздействие на тестируемые системы.
Image credit: Unsplash. Все скриншоты и правки сделаны Ramces Red.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента