Использование базы данных в Metasploit

Настройка базы данных нашего Metasploit

 

В Kali, вам необходимо будет запустить сервер postgresql, перед тем как использовать базу данных.

Старт сервера postgresql
Dante

 

После запуска сервиса Metasploit, это создаст пользователя базы данных msf3 и базу данных с именем msf3.

Старт Metasplit Framework
Dante

 

Использование Workspaces в Metasploit

 

Когда мы загрузили msfconsole, и запустили ‘db_status‘, мы можем подтвердить что Metasploit успешно подключен к базе данных.

Metasploit соединен с базой данных
Dante

 

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

 

Выдача команды ‘workspace‘ из msfconsole покажет текущие выбранные workspaces. По умолчанию workspace выбирается при подключении базы данных, которая представлена в * рядом её имя.

Вывод команды workspace
Dante

 

Как мы можем видеть, это очень удобно, когда речь идет об аккуратном хранении Давайте изменим текущий workspace на ‘msfu‘.

Изменяем текущий workspace
Dante

 

Для создания или удаления workspace, необходимо просто использовать ‘-a‘ или ‘-b‘ перед необходимым именем в строке msfconsole.

создаем либо удаляем workspace
Dante

 

Как мы видим это достаточно просто, используя туже команду и добавив ‘-h‘ переключатель, мы увидим иные доступные команды.

Подсказка workspace
Dante

 

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

 

Теперь когда мы подключились к нашей базе данных и выбрали workspace мы можем просмотреть на заполненные данные. Во первых мы будем смотреть различные базы данных ‘db_‘ командами доступными для использования из msfconsole, список доступных команд вы можете посмотреть задав команду ‘help‘.

Подсказка по базам данных
Dante

 

Импорт и сканирование

 

Существует несколько способов которыми мы можем это сделать, это сканирование хоста или сети непосредственно из консоли, или импорт файла из более раннего сканирования. Давайте начнем с импорта сканирования хоста nmap в ‘metasploitable 2‘. Это делается при помощи ‘db_import‘ с последующим путем к нашему файлу.

Импортируем базу данных
Dante

 

После завершения мы можем подтвердить импорт используя команду ‘hosts‘. Это покажет все хосты, хранящиеся в нашем текущем workspace. Также мы можем сканировать хосты прямо из консоли используя команду ‘db_nmap‘. Результат сканирования будет сохранен и нашей текущей базе данных. Эта команда работает так же как версия ‘nmap‘ из командной строки.

Сканируем хосты прямо из консоли
Dante

 

Резервное копирование базы данных

 

Экспортировать нашу базу данных из Metasploit очень просто. Используя команду ‘db_export‘ мы можем сохранить всю нашу собранную информацию в XML файл. Этот формат легко можно использовать для последующего управления отчетами. Команда имеет два вывода, ‘xml‘ формат экспортирует всю текущую информацию хранящуюся в активном workspace и ‘pwdump‘ формат, который экспортирует все что связано с используемыми/собранными учетными данными.

Экспортируем базу данных из Metasploit
Dante

 

Использование команды hosts

 

Теперь мы можем импортировать и экспортировать информацию из нашей базы данных, давайте посмотрим как мы можем использовать эту информацию с msfconsole. Для поиска конкретной информации, хранящейся в нашей базе данных, доступны множество команд. Хосты, имена, адреса, обнаруженные сервисы и тд. Мы даже можем использовать полученные данные настроек модуля, такие как RHOSTS. Как это делается мы рассмотрим несколько позже.

 

Команда ‘hosts‘ была использована ранее для того чтобы подтвердить наличие данных в нашей базе данных. Давайте рассмотрим различные доступные опции и посмотрим как мы используем их для быстрого получения полезной информации. Использование команды ‘-h‘ выведет на дисплей меню справки.

Подсказка команды hosts
Dante

 

Начнем и команды вопроса для ‘hosts‘, для отображения только IP-адреса и типа операционной системы, используем переключатель ‘-c‘.

Команды для просмотра IP-адреса и ОС
Dante

 

Настройка модулей

 

Еще одна интересная особенность, доступная для нас, это возможность поиска во всех наших записях какой-либо конкретной информации. Представим себе, если мы захотим найти только машины основанные на Linux из нашего сканирования. Для этого мы используем опцию ‘-S‘. Эта опция может быть скомбинирована с нашим предыдущим примером, для помощи вывода тонкой настройки наших результатов.

Обнаружить только Linux машины
Dante

 

Использование вывода нашего предыдущего примера, мы скормим все что в ‘tcp‘ сканировании вспомогательным модулям.

Отправим tcp сканирование дополнительным модулям
Dante

 

Мы видим, по умолчанию, хостинг установлен в ‘RHOSTS‘ мы добавим переключатель ‘-R‘ команды hosts и загрузки модуля. Надеюсь он будет работать и сканировать нашу цель без каких-либо проблем.

Добавим опцию -R команды hosts
Dante

 

Конечно, это также работает, если наши результаты, содержат более одного адреса.

Команда hosts -R если результатов несколько
Dante

 

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

 

Сервисы

 

Еще один способ поиска в базе данных, является использование команды ‘services‘. Как и в предыдущих примерах, мы можем извлечь конкретную информацию с малыми усилиями.

Подсказка команды services -h
Dante

 

Так же как в hosts командах, мы можем указать, какие поля будут отображаться. При помощи переключателя ‘-S‘ мы можем также искать службы, содержащие определенную строку.

Производим поиск службы
Dante

 

Здесь мы ищем все хосты содержащиеся в нашей базе данных с сервисным именем содержащим строку ‘http‘.

Ищем хосты в базе данных по имени
Dante

 

Поисковых комбинаций огромное количество. Мы можем использовать определенные порты или диапазоны портов. Полное или частичное имя сервиса, когда используются переключатели ‘-s‘ или ‘-S‘. Для всех хостов или выбрать несколько… Список можно продолжать и продолжать. Вот несколько примеров, но возможно вам потребуется поэкспериментировать, для того чтобы получить то что вы желаете и что вам необходимо найти.

Использование поисковых комбинаций
Dante

 

Экспорт CSV

 

Обе команды services и hosts дают нам возможность сохранения наших результатов запроса в файл. Значения формата файла разделяется запятыми или CSV. Вслед за ‘-o‘ с путем и именем файла, информация которая отображалась на экране в этот момент теперь будет сохранятся на диске.

Сохраняем информацию на диск
Dante

 

Команда creds

 

Команда ‘creds‘ используется для управления и используемых учетных данных для целей в базе данных. Запуск этой команды без каких-либо опций отображает сохраненные учетные данные.

Используем команду creds
Dante

 

Как с командой ‘db_nmap‘ успешные результаты, относящиеся к учетным данным, будут автоматически сохранены в нашем активном workspace. Давайте запустим вспомогательный модуль ‘mysql_login‘ и посмотрим что происходит, когда Metasploit сканирует наш сервер.

Старт вспомогательного модуля mysql_login
Dante

 

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

 

Во время дальнейшей эксплуатации хоста, собираются учетные данные являющиеся важными для дальнейшего проникновения в целевую сеть. Когда мы собираем набор учетных данных, мы можем добавить из в нашу базу данных при помощи команды ‘creds -a‘.

Используем команду creds -a
Dante

 

Команда loot

 

После того как вы взломаете систему (или три), одной из целей может быть получение хеша дампа. Из операционной системы Windows или *nix. В случае успешного хеша дампа, эта информация будет сохраняться в базе данных. Мы можем просмотреть дампы используя команду ‘loot‘. Как и почти с каждой командой, добавление переключателя ‘-h‘ будет отображать немного больше информации.

Подсказка к команде loot
Dante

 

Вот пример того как можно заполнить какую-либо базу данных с ‘loot‘.

Заполняем базу данных командой loot
Dante

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *