Kali Linux поставляется со всеми инструментами, необходимыми для тестирования на проникновение. Одним из таких инструментов является инфраструктура Metasploit, которая позволяет специалистам Red Team выполнять разведку, сканирование, перечисление, и использовать уязвимости для всех типов приложений, сетей, серверов, операционных систем и платформы.

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

В этой статье представлены основные компоненты платформы Metasploit. Он демонстрирует, как использовать модули Metasploit для сканирования, перечисления и эксплуатации уязвимой базы данных MySQL, размещенной на машине, известной как Metasploitable 2.

Metasploit — это наиболее часто используемый инструмент для пентестинга, который предустановлен в Kali Linux. Основными компонентами Metasploit являются msfconsole и модули, которые он предлагает.

Что такое msfconsole?

msfconsole — это наиболее часто используемый интерфейс «все-в-одном», похожий на оболочку, который позволяет вам получить доступ ко всем функциям Metasploit. Он имеет поддержку командной строки, аналогичную Linux, поскольку предлагает автозаполнение команд, вкладки и другие сочетания клавиш bash.

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

Metasploit имеет небольшие фрагменты кода, которые обеспечивают его основные функции. Однако, прежде чем объяснять модули, вы должны четко понимать следующие повторяющиеся концепции:

  • Уязвимость: это недостаток в дизайне или коде цели, который делает ее уязвимой для эксплуатации, ведущей к раскрытию конфиденциальной информации.
  • Эксплойт: Код, эксплуатирующий найденную уязвимость.
  • Полезная нагрузка: это код, который помогает вам достичь цели использования уязвимости. Он запускается внутри целевой системы для доступа к целевым данным, например, для поддержки доступа через Meterpreter или обратную оболочку.

Теперь перейдем к пяти основным модулям Metasploit:

  • Вспомогательный: вспомогательный модуль содержит набор программ, таких как фаззеры, сканеры и инструменты SQL-инъекций, для сбора информации и более глубокого понимания целевой системы.
  • Кодировщики: кодировщики шифруют полезные нагрузки/эксплойты, чтобы защитить их от антивирусных решений на основе сигнатур. Поскольку полезные нагрузки или эксплойты содержат нулевые или неверные символы, высока вероятность того, что они будут обнаружены антивирусным решением.
  • Эксплойт: Как обсуждалось ранее, эксплойт — это код, который использует целевые уязвимости для обеспечения доступа к системе через полезные нагрузки.
  • Полезная нагрузка: как упоминалось ранее, полезные нагрузки помогают вам достичь желаемой цели атаки на целевую систему. Это означает, что они либо помогут вам получить интерактивную оболочку, либо помогут поддерживать бэкдор, выполнить команду или загрузить вредоносное ПО и т. д. Metasploit предлагает два типа полезной нагрузки: бесступенчатую полезную нагрузку и поэтапную полезную нагрузку.
  • Почта: модуль постэксплуатации поможет вам собрать дополнительную информацию о системе. Например, это может помочь вам сбросить хэши паролей и найти учетные данные пользователя для бокового перемещения или повышения привилегий.

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

cd /usr/share/metasploit-framework/modules
лс
дерево -L 1 имя-модуля/

Чтобы начать использовать интерфейс Metasploit, откройте терминал Kali Linux и введите msfconsole.

По умолчанию msfconsole открывается с баннером; чтобы удалить это и запустить интерфейс в тихом режиме, используйте msfconsole команда с -q флаг.

Интерфейс выглядит как оболочка командной строки Linux. Он поддерживает некоторые команды Linux Bash: ls, clear, grep, history, jobs, kill, cd, exit и т. д.

Тип помощь или знак вопроса"?", чтобы увидеть список всех доступных команд, которые вы можете использовать внутри msfconsole. Некоторые из наиболее важных из них, которые мы будем использовать в этой статье:

Команда Описание
поиск Позволяет выполнять поиск в базе данных Metasploit по заданному протоколу/приложению/параметру.
использовать Позволяет выбрать конкретный модуль и изменяет контекст на команды, специфичные для модуля.
Информация Предоставляет информацию о выбранном модуле
показывать Отображает информацию о заданном имени модуля и параметрах текущего модуля.
чек Проверяет, есть ли уязвимость в целевой системе
набор Это зависящая от контекста переменная, которая настраивает параметры текущего модуля.
снят с охраны Удаляет ранее установленные параметры
бегать Выполняет текущий модуль

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

systemctl запустить postgresql
инициализация msfdb

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

В демонстрационных целях настройте уязвимую машину Linux с открытым исходным кодом Metasploitable2.

Разведка MySQL с помощью msfconsole

Найди IP-адрес Metasploitable машины первый. Затем используйте db_nmap команда в msfconsole с флагами Nmap для сканирования базы данных MySQL на 3306 порт.

db_nmap -sV -sC -p 3306 

Вы можете запустить обычный nmap -p- Команда для подтверждения номера порта базы данных MySQL.

Связанный: Nmap для начинающих: получите практический опыт сканирования портов

Использовать поиск возможность поиска вспомогательного модуля для сканирования и перечисления базы данных MySQL.

тип поиска: вспомогательный mysql

Из приведенного выше списка вы можете использовать вспомогательный/сканер/mysql/mysql_version модуль, введя имя модуля или связанный с ним номер, чтобы просмотреть сведения о версии MySQL.

использовать 11

Или:

использовать вспомогательный/сканер/mysql/mysql_version

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

Вывод показывает, что единственным обязательным и неустановленным параметром является RHOSTS, который является IP-адресом целевой машины. Использовать установить рост команда для установки параметра и запуска модуля следующим образом:

Вывод отображает те же сведения о версии MySQL, что и db_nmap функция.

Брутфорс корневой учетной записи MySQL с помощью msfconsole

После сканирования вы также можете взломать корневую учетную запись MySQL с помощью Metasploit. вспомогательный (сканер/mysql/mysql_login) модуль.

Вам нужно будет установить PASS_FILE параметр к пути к списку слов, доступному внутри /usr/share/wordlists:

установить PASS_FILE /usr/share/wordlistss/rockyou.txt

Затем укажите IP-адрес целевой машины с помощью команды RHOSTS.

установить RHOSTS 

Набор BLANK_PASSWORDS значение true, если для учетной записи root не установлен пароль.

установить BLANK_PASSWORDS true

Наконец, запустите модуль, набрав бегать в терминале.

Перечисление MySQL с помощью msfconsole

msfconsole также позволяет перечислять базу данных с помощью команды вспомогательный (admin/mysql/mysql_enum) модуль. Он возвращает все учетные записи с такими подробностями, как связанные привилегии и хэши паролей.

Для этого вам нужно указать пароль, имя пользователя и переменную rhosts.

Установка пароля ""
установить имя пользователя root
установить рост

Наконец, запустите модуль, набрав:

бегать

Эксплуатация MySQL с помощью msfconsole

На этапе перечисления становится ясно, что учетная запись root имеет файловые привилегии, которые позволяют злоумышленнику выполнить load_file() функция. Функция позволяет использовать базу данных MySQL, загружая все данные из файл /etc/пароль через вспомогательный(/admin/mysql/mysql_sql) модуль:

Снова установите имя пользователя, пароль и переменную rhosts. Затем выполните запрос, который вызывает функцию load_file() и загружает /etc/passwd файл.

установить sql select load_file(\"/etc/password\")

Модули Metasploit помогают на всех этапах тестирования на проникновение. Metasploit также позволяет пользователям создавать свои собственные модули.

В этой статье кратко описаны некоторые основные модули платформы Metasploit и показано, как сканировать, перечислять и использовать базу данных MySQL на компьютере с Metasploitable 2.

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

10 лучших инструментов тестирования на проникновение для специалистов по безопасности

Если вам интересно, как профессионалы проверяют проникновение, это руководство протянет вам руку помощи.

Читать дальше

доляТвитнутьЭлектронное письмо
Похожие темы
  • линукс
  • Этический взлом
  • Взлом
  • Linux-приложения
Об авторе
Румайса Ниази (опубликовано 11 статей)

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

Другие работы Румайсы Ниази

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!

Нажмите здесь, чтобы подписаться