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

WARNING

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

 

Установка Metasploit Framework

В дистрибутивах, предназначенных для тестирования на проникновение (к примеру, Kali или Parrot OS), этот продукт либо предустановлен, либо легко устанавливается следующей командой:

apt install metasploit-framework

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

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

База данных Metasploit

Довольно часто пользователям Metasploit приходится ломать сети, содержащие очень много хостов. И наступает момент, когда аккумулирование всей полученной информации занимает непозволительно долгое время. Именно тогда начинаешь ценить возможность работы Metasploit Framework с СУБД PostgreSQL. Metasploit может сам сохранять и удобно формализовать полученную информацию благодаря модулю msfdb. Для работы с базами необходимо запустить службу postgresql и создать базу для Metasploit.

service postgresql start
msfdb init
Сообщение msfdb об успешном создании базы данных
Сообщение msfdb об успешном создании базы данных

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

Успешное подключение к базе данных Metasploit
Успешное подключение к базе данных Metasploit

Чтобы было удобней работать с различными областями (хостами, сетями или доменами) и разделять данные для структуризации, msfdb имеет поддержку так называемого рабочего пространства. Давай добавим новое пространство в наш проект.

> workspace -a xakep
Создание нового рабочего пространства
Создание нового рабочего пространства

Теперь мы действуем в созданном рабочем пространстве. Представим, что мы находимся в сети 192.168.6.0.24. Давай поищем в ней доступные хосты. Для этого будем использовать Nmap, но из Metasploit и с привязкой к текущей базе данных — db_nmap.

> db_nmap -O 192.168.6.0/24

Сам вывод Nmap нам неинтересен: все, что нужно, будет сохранено в базе данных. К примеру, у нас есть уже все просканированные хосты и мы можем их просмотреть одним списком с помощью команды hosts.

Список просканированных хостов, сохраненный в базе данных
Список просканированных хостов, сохраненный в базе данных

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

Список всех найденных служб
Список всех найденных служб
Список найденных на определенном хосте служб
Список найденных на определенном хосте служб

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

> search type auxiliary/scanner -S "_login"
Модули для брутфорса учетных данных некоторых служб
Модули для брутфорса учетных данных некоторых служб

Обрати внимание на SMB. Чтобы узнать, для чего именно предназначен определенный модуль и его описание (со ссылкой на cvedetails), а также посмотреть данные, которые нужно передать в качестве параметров, следует воспользоваться командой info.

info auxiliary/scanner/smb/smb_login
Описание модуля smb_login
Описание модуля smb_login

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

msf5 > use auxiliary/scanner/smb/smb_login
msf5 auxiliary(scanner/smb/smb_login) > set RHOSTS 192.168.6.129
msf5 auxiliary(scanner/smb/smb_login) > set SMBUser root
msf5 auxiliary(scanner/smb/smb_login) > set PASS_FILE /home/ralf/tmp/pass.txt
msf5 auxiliary(scanner/smb/smb_login) > set SMBDomain DOMAIN
msf5 auxiliary(scanner/smb/smb_login) > run
Настройка модуля smb_login
Настройка модуля smb_login
Обнаруженный smb_login пароль для целевого пользователя
Обнаруженный smb_login пароль для целевого пользователя

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

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    4 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии