Форум Pentestnoob.ru

Обучение тестированию на проникновение
Текущее время: 19 май 2019, 13:21

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: 06 ноя 2014, 23:23 
Не в сети
Site Admin

Зарегистрирован: 14 сен 2012, 09:50
Сообщения: 47
В этой заметке речь пойдет об ошибке в работе msfconsole, связанной с подключением к базе данных PostgreSQL (Database not connected or cache not built, using slow search).

Давайте рассмотрим, как проявляет себя данная ошибка, и какие действия нужно предпринять, чтобы исправить положение.
После запуска служб PostgreSQL и Metasploit, которые запускаются либо через соответствующий скрипт в меню Kali Linux, либо через консоль.
Код:
root@kali:~# service postgresql start
root@kali:~# service metasploit start

«Стартуем» msfconsole.
Код:
root@kali:~# msfconsole

После приглашения msfconsole к вводу команд, пробуем найти информацию о фтп-сервере proftp (как пример) и получаем ошибку о не возможной работе с базой данных, связанной либо с отсутствием подключения к базе данных либо отсутствием кэша данных в базе.
Код:
msf # search proftp
[!] Database not connected or cache not built, using slow search

Проверяем статус подключения, чтобы определиться с причиной (отсутствие подключения или отсутствие кэша).
Код:
msf # db_status
[*] postgresql selected, no connection

В этом случае отсутствует подключение к базе. Займемся созданием базы данных и восстановлением подключения.
Сперва переключимся на учетную запись postgres.
Код:
root@kali:~# su postgres

Создадим пользователя для работы с базой данных.
Код:
postgres@kali:/root$ createuser msfuser -P
Введите пароль для новой роли:
Повторите его:
Должна ли новая роль иметь полномочия суперпользователя? (y - да/n - нет) n
Новая роль должна иметь право создавать базы данных? (y - да/n - нет) n
Новая роль должна иметь право создавать другие роли? (y - да/n - нет) n

И создадим базу данных, наделив только что созданного пользователя правом управления данной базой.
Код:
postgres@kali:/root$ createdb --owner=msfuser msfdatabase

Все подготовительные действия завершены, можно подключаться к базе.
Код:
msf # db_connect msf_user:samsung@127.0.0.1:5432/msfdatabase

После подключения к базе, msfconsole создаст все необходимые для работы таблицы.
Пробуем опять найти все доступные модули для работы с proftp. И получаем это же предупреждение.
Код:
msf # search proftp
[!] Database not connected or cache not built, using slow search

Проверяем статус подключения к базе.
Код:
msf # db_status
[*] postgresql connected to msf_database

Все хорошо, мы подключены, значит проблема с кэшем. Командуем построить кэш.
Код:
msf # db_rebuild_cache
[*] Purging and rebuilding the module cache in the background...

Msfconsole нам сообщает, что построение кэша уже запущенно в виде фоновой операции. Значит ждем.
Через некоторое время пробуем снова получить информацию о модулях для работы с proftp.
Код:
msf # search proftp
 
Matching Modules
================
 
Name Disclosure Date Rank Description
---- --------------- ---- -----------
exploit/freebsd/ftp/proftp_telnet_iac 2010-11-01 great ProFTPD 1.3.2rc3 - 1.3.3b Telnet IAC Buffer Overflow (FreeBSD)
........

Как видно никаких проблем с подключением к базе данных и построением кэша нет, msfconsole отработала без предупреждений.
Давайте посмотрим какие еще есть способы подключения к базе данных.
Код:
msf # db_connect
[*] Usage: db_connect <user:pass>@<host:port>/<database>
[*] OR: db_connect -y [path/to/database.yml]
[*] Examples:
[*] db_connect user@metasploit3
[*] db_connect user:pass@192.168.0.2/metasploit3
[*] db_connect user:pass@192.168.0.2:1500/metasploit3

Как видим существует возможность подключения с помощью конфигурационного файла database.yml
Пример файла в Kali Linux можно найти по следующему пути /opt/metasploit/apps/pro/ui/config/database.yml.example
Копируем файл и редактируем, указав актуальные данные для подключения к базе данных.
Код:
root@kali:~# cp /opt/metasploit/apps/pro/ui/config/database.yml.example /opt/metasploit/apps/pro/ui/config/database.yml
root@kali:~# nano /opt/metasploit/apps/pro/ui/config/database.yml
 
# Please only use postgresql bound to a TCP port.
development: &amp;defaults
adapter: postgresql
database: msfdatabase
username: msfuser
password: samsung
host: localhost
port: 5432
pool: 50 # production is 255
timeout: 5

Подключаемся к базе используя только-что созданный конфигурационный файл.
Код:
msf # db_connect -y /opt/metasploit/apps/pro/ui/config/database.yml
msf # db_status
[*] postgresql connected to msf_database


Источник: http://bruteforcer.ru/problemy-s-podkly ... sfconsole/


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB