Добро пожаловать обратно, мои начинающие кибервоины Metasploit!
В этой серии мы рассмотрим возможности и возможности самой популярной и мощной в мире платформы для эксплуатации уязвимостей — Metasploit.
В этом руководстве мы рассмотрим, как подключить базу данных PostgreSQL к Metasploit. Это позволит ускорить поиск модулей Metasploit, сохранить результаты сканирования портов и уязвимостей, что позволит эффективнее продвигаться на этапе эксплуатации уязвимостей. Такая организация и эффективность критически важны при масштабном тестировании на проникновение, включающем сотни или даже тысячи систем.
Шаг №1: Запуск базы данных postgresql
Первый шаг — запуск базы данных postgresql. Для этого нужно ввести service , имя службы ( postgresql ) и действие (start ).
kali > service postgresql start
Затем мы можем проверить состояние нашей базы данных.
Кали > статус службы postgesql
Metasploit имеет встроенную команду для проверки состояния базы данных, которая предоставляет еще более подробную информацию.
kali > статус msfdb
До Metasploit5 нам приходилось инициализировать базу данных перед её использованием. В последних версиях Metasploit база данных инициализируется автоматически.
kali > msfdb init
Шаг №2 : Запустите Metasploit
Я буду использовать Kali Linux со встроенным Metasploit, но вы можете использовать Metasploit практически в любой операционной системе.
Первый шаг — запустить Kali и запустить Metasploit, введя:
kali > msfconsole
Обратите внимание, что последняя версия Metasploit — 5.0.5, и теперь в ней более 1800 эксплойтов и два модуля уклонения!
Шаг №3: Работа с рабочими пространствами
В терминологии баз данных рабочее пространство — это просто область, где вы храните данные внутри базы данных. Это своего рода виртуальная база данных внутри базы данных, где вы храните свои данные и объекты.
При проведении пентеста рекомендуется организовать отдельное рабочее пространство для каждой компании, с которой вы работаете, чтобы хранить их данные отдельно от других проектов.
Чтобы просмотреть рабочее пространство в Metasploit, мы можем просто ввести команду workspace .
msf > рабочее пространство
Metasploit ответит списком рабочих пространств со звездочкой (*) после рабочего пространства по умолчанию.
Мы можем добавить новое рабочее пространство, используя команду workspace, затем опцию -a и имя нового рабочего пространства. Обычно я создаю новое рабочее пространство для каждого проекта по тестированию на проникновение, чтобы хранить данные отдельно и организованно.
msf > workspace -a hackersarise
Также обратите внимание, что мы можем переключать рабочие пространства, просто используя команду workspace, за которой следует имя рабочего пространства.
Шаг №6. Команды базы данных
Чтобы увидеть все команды, которые мы можем использовать в подключенной базе данных Metasploit, мы можем просто обратиться за помощью к Metasploit и прокрутить
страницу вниз, пока не найдем команды базы данных, как показано ниже.
msf> помощь
Одно из преимуществ подключения к базе данных Metasploit — возможность сохранять результаты в ней для дальнейшего использования. Например, воспользуемся командой db_nmap для сканирования всех машин в нашей локальной сети (обратите внимание, мы используем ключ -A с nap для получения данных о службах и операционной системе).
msf5> db_nmap -A 192.168.0.157
После завершения работы db_nmap сохраняет IP-адреса и информацию в подключенной базе данных. Эту информацию можно просмотреть с помощью команды hosts.
Давайте начнем с просмотра экрана справки для команды hosts .
msf5 > хосты -h
Как видите выше, команда hosts принимает несколько опций. Для наших целей наиболее важна опция -c для столбцов. Эта опция позволяет выбрать столбцы или поля данных, которые нужно отобразить с помощью команды hosts (аналогично команде SELECT в SQL). В нижней части скриншота выше показаны доступные столбцы.
Допустим, мы хотим узнать IP-адрес, MAC-адрес, операционную систему и назначение систем, хранящихся в нашей базе данных. Мы можем извлечь и отобразить эту информацию, введя:
msf > hosts -c адрес,mac,имя_ОС,назначение
Как вы можете видеть, команда хоста аккуратно отображает на экране ключевую информацию, которую мы искали, и ничего более.
Если мы хотим увидеть службы, работающие на нашей целевой системе(ах), мы просто вводим:
msf5 > услуги
Вы также можете выбрать отображаемые столбцы с помощью команды services, аналогичной команде hosts, описанной выше. Например, если вы хотите отобразить только столбцы «Состояние» и «Информация» , введите:
msf5 > services -c state,info
Шаг №7: Экспорт базы данных
Далее мы можем экспортировать данные из нашей базы данных в файл. Для этого нужно просто использовать команду db_export , опцию -f (формат), указать тип файла (xml) и расположение файла.
msf > db_export -f xml /root/hackersarise.xml
Теперь, когда мы экспортировали результаты из базы данных в формат XML, мы можем просмотреть результаты в любом веб-браузере.
Подключив базу данных postgesql к Metasploit, мы сэкономим минуты и часы, поскольку сможем сохранять результаты для последующего использования и ускорять поиск в Metasploit.
Шаг №6 Добавление новых пользователей и баз данных в базу данных postgresql
Иногда нам может потребоваться добавить пользователя в postgesql или даже базу данных. Например, если мы работаем над проектом в команде, каждому пользователю, вероятно, потребуется отдельный пользователь и база данных.
Для этого нам нужно войти в базу данных postgresql и выполнить некоторые действия. Подключиться к базе данных postgresql можно, просто введя su , а затем postgres .
msf5 > su postgres
После входа в базу данных PostgreSQL нам необходимо создать пользователя и базу данных. В данном случае мы создадим нового пользователя с именем OTW и паролем hackersarise .
postgres@kali > создать пользователя OTW -P
postgresql дважды запросит ваш пароль.
Далее мы создаем базу данных с именем hackersariseDB и назначаем OTW владельцем базы данных.
postgres@kali > createdb hackersariseDB owner=OTW
А затем вернитесь в консоль Metasploit, введя «exit».
postgres @kali > выход
Теперь нам нужно подключить новую базу данных к Metasploit, но прежде чем мы сможем это сделать, мы должны отключить существующую базу данных.
msf5 > db_disconnect
Теперь в командной строке msf5> нам нужно подключиться к базе данных с помощью команды db_connect, указав имя пользователя, пароль, IP-адрес базы данных и имя базы данных.
msf5> db_connect OTW:hackersarise@127.0.0.1/hackersariseDB
Теперь, когда мы набираем db_status , мы видим, что мы подключены к базе данных hackersariseDB.
В этой серии мы рассмотрим возможности и возможности самой популярной и мощной в мире платформы для эксплуатации уязвимостей — Metasploit.
В этом руководстве мы рассмотрим, как подключить базу данных PostgreSQL к Metasploit. Это позволит ускорить поиск модулей Metasploit, сохранить результаты сканирования портов и уязвимостей, что позволит эффективнее продвигаться на этапе эксплуатации уязвимостей. Такая организация и эффективность критически важны при масштабном тестировании на проникновение, включающем сотни или даже тысячи систем.
Шаг №1: Запуск базы данных postgresql
Первый шаг — запуск базы данных postgresql. Для этого нужно ввести service , имя службы ( postgresql ) и действие (start ).
kali > service postgresql start
Затем мы можем проверить состояние нашей базы данных.
Кали > статус службы postgesql
Metasploit имеет встроенную команду для проверки состояния базы данных, которая предоставляет еще более подробную информацию.
kali > статус msfdb
До Metasploit5 нам приходилось инициализировать базу данных перед её использованием. В последних версиях Metasploit база данных инициализируется автоматически.
kali > msfdb init
Шаг №2 : Запустите Metasploit
Я буду использовать Kali Linux со встроенным Metasploit, но вы можете использовать Metasploit практически в любой операционной системе.
Первый шаг — запустить Kali и запустить Metasploit, введя:
kali > msfconsole
Обратите внимание, что последняя версия Metasploit — 5.0.5, и теперь в ней более 1800 эксплойтов и два модуля уклонения!
Шаг №3: Работа с рабочими пространствами
В терминологии баз данных рабочее пространство — это просто область, где вы храните данные внутри базы данных. Это своего рода виртуальная база данных внутри базы данных, где вы храните свои данные и объекты.
При проведении пентеста рекомендуется организовать отдельное рабочее пространство для каждой компании, с которой вы работаете, чтобы хранить их данные отдельно от других проектов.
Чтобы просмотреть рабочее пространство в Metasploit, мы можем просто ввести команду workspace .
msf > рабочее пространство
Metasploit ответит списком рабочих пространств со звездочкой (*) после рабочего пространства по умолчанию.
Мы можем добавить новое рабочее пространство, используя команду workspace, затем опцию -a и имя нового рабочего пространства. Обычно я создаю новое рабочее пространство для каждого проекта по тестированию на проникновение, чтобы хранить данные отдельно и организованно.
msf > workspace -a hackersarise
Также обратите внимание, что мы можем переключать рабочие пространства, просто используя команду workspace, за которой следует имя рабочего пространства.
Шаг №6. Команды базы данных
Чтобы увидеть все команды, которые мы можем использовать в подключенной базе данных Metasploit, мы можем просто обратиться за помощью к Metasploit и прокрутить
страницу вниз, пока не найдем команды базы данных, как показано ниже.
msf> помощь
Одно из преимуществ подключения к базе данных Metasploit — возможность сохранять результаты в ней для дальнейшего использования. Например, воспользуемся командой db_nmap для сканирования всех машин в нашей локальной сети (обратите внимание, мы используем ключ -A с nap для получения данных о службах и операционной системе).
msf5> db_nmap -A 192.168.0.157
После завершения работы db_nmap сохраняет IP-адреса и информацию в подключенной базе данных. Эту информацию можно просмотреть с помощью команды hosts.
Давайте начнем с просмотра экрана справки для команды hosts .
msf5 > хосты -h
Как видите выше, команда hosts принимает несколько опций. Для наших целей наиболее важна опция -c для столбцов. Эта опция позволяет выбрать столбцы или поля данных, которые нужно отобразить с помощью команды hosts (аналогично команде SELECT в SQL). В нижней части скриншота выше показаны доступные столбцы.
Допустим, мы хотим узнать IP-адрес, MAC-адрес, операционную систему и назначение систем, хранящихся в нашей базе данных. Мы можем извлечь и отобразить эту информацию, введя:
msf > hosts -c адрес,mac,имя_ОС,назначение
Как вы можете видеть, команда хоста аккуратно отображает на экране ключевую информацию, которую мы искали, и ничего более.
Если мы хотим увидеть службы, работающие на нашей целевой системе(ах), мы просто вводим:
msf5 > услуги
Вы также можете выбрать отображаемые столбцы с помощью команды services, аналогичной команде hosts, описанной выше. Например, если вы хотите отобразить только столбцы «Состояние» и «Информация» , введите:
msf5 > services -c state,info
Шаг №7: Экспорт базы данных
Далее мы можем экспортировать данные из нашей базы данных в файл. Для этого нужно просто использовать команду db_export , опцию -f (формат), указать тип файла (xml) и расположение файла.
msf > db_export -f xml /root/hackersarise.xml
Теперь, когда мы экспортировали результаты из базы данных в формат XML, мы можем просмотреть результаты в любом веб-браузере.
Подключив базу данных postgesql к Metasploit, мы сэкономим минуты и часы, поскольку сможем сохранять результаты для последующего использования и ускорять поиск в Metasploit.
Шаг №6 Добавление новых пользователей и баз данных в базу данных postgresql
Иногда нам может потребоваться добавить пользователя в postgesql или даже базу данных. Например, если мы работаем над проектом в команде, каждому пользователю, вероятно, потребуется отдельный пользователь и база данных.
Для этого нам нужно войти в базу данных postgresql и выполнить некоторые действия. Подключиться к базе данных postgresql можно, просто введя su , а затем postgres .
msf5 > su postgres
После входа в базу данных PostgreSQL нам необходимо создать пользователя и базу данных. В данном случае мы создадим нового пользователя с именем OTW и паролем hackersarise .
postgres@kali > создать пользователя OTW -P
postgresql дважды запросит ваш пароль.
Далее мы создаем базу данных с именем hackersariseDB и назначаем OTW владельцем базы данных.
postgres@kali > createdb hackersariseDB owner=OTW
А затем вернитесь в консоль Metasploit, введя «exit».
postgres @kali > выход
Теперь нам нужно подключить новую базу данных к Metasploit, но прежде чем мы сможем это сделать, мы должны отключить существующую базу данных.
msf5 > db_disconnect
Теперь в командной строке msf5> нам нужно подключиться к базе данных с помощью команды db_connect, указав имя пользователя, пароль, IP-адрес базы данных и имя базы данных.
msf5> db_connect OTW:hackersarise@127.0.0.1/hackersariseDB
Теперь, когда мы набираем db_status , мы видим, что мы подключены к базе данных hackersariseDB.