Сохранение данных
База данных
В Kali запускаем postgresql и инициализируем базу данных. Создадутся базы msf и msf_test.
root@kali:~# systemctl start postgresql
root@kali:~# msfdb init
Управление данными
| db_status | Статус соединения с базой |
| db_connect | Подключиться к бд. Без параметров - к локальной. Может быть удаленная
|
| db_disconnect | Отключение |
| db_export -f <format> [filename] | Сохранение данных в файл. Формат xml или pwdump |
| db_import file1 [file2...] | Импорт данных из файла. Может быть импорт в виде *.xml, или **/*.xml |
| db_rebuild_cache | Пересчет кэша |
Рабочее пространство. Способ организации хранения связанных данных.
| workspace | Список пространств. * текущее. |
| workspace -a | Создать новое |
| workspace <name> | Переключиться на рабочее пространство name |
| workspace -d | Удалить |
Таблицы
| hosts |
Обнаруженные хосты. IP-адрес, MAC-адрес, имя хоста, ОС, состояние, комментарии |
| services | Сетевые сервисы. Порт, протокол (TCP/UDP), состояние (open/closed), имя сервиса, версия |
| vulns | Уязвимости. Название, описание, ссылки, критичность, доказательства |
| notes | Дополнительная информация о хостах и сервисах. Содержит Различные данные (учетные записи, собранная информация) |
| loots | Извлеченные данные. Содержит: Хеши паролей, конфигурационные файлы, личные данные |
| creds | Учетные данные для аутентификации. Содержит: Логины, пароли, хеши, тип аутентификации |
| workspaces | Разделение проектов/задач |
| clients | Клиентские системы. Содержит: Данные о браузерах, пользовательских агентах |
| events | События. Содержит: Действия, выполняемые в рамках тестирования |
| exploited_hosts | Успешные эксплуатации. Содержит: Данные о взломанных системах |
| sessions | Открытые сессии. Содержит: Активные соединения с скомпрометированными системами |
| web_sites | Веб-сайты. Содержит: URL, виртуальные хосты, SSL-информация |
| web_pages | Веб-страницы. Содержимое страниц, формы, ссылки |
| web_forms | HTML-формы. Поля форм, методы отправки |
| web_vulns | XSS, SQLi, и другие веб-уязвимости |
Ручное добавление данных: сначала создать объект, затем модифицировать его.
msf > hosts -a 192.168.0.1
msf > hosts 192.168.0.1 -m "first node"
msf > hosts
Hosts
=====
address mac name os_name os_flavor os_sp purpose info comments
------- --- ---- ------- --------- ----- ------- ---- --------
192.168.0.1 first node
Как я понял, ручное добавление нечасто используется.
Фильтрация
Ключ -S <term> Например
msf > hosts -S 0.1
Hosts
=====
address mac name os_name os_flavor os_sp purpose info comments
------- --- ---- ------- --------- ----- ------- ---- --------
192.168.0.1 first node
При фильтрации важно указывать колонки -c поскольку поиск полнотекстовый.
Использование данных
В свойствах таблицы есть параметр, который можно использовать в инструментах/... Например, в таблице hosts есть параметр RHOSTS.
msf > hosts -h
...
OPTIONS:
...
-R, --rhosts Set RHOSTS from the results of the search
...
Это означает, что в случае использования в инструментах параметра RHOSTS его можно заполнить данными из БД. Пример запуска инструмента для хостов, отфильтрованных по имени "Linux". Параметр -R также запускает модуль на исполнение.