В этом руководстве мы покажем, как злоумышленник может выполнить атаку методом брутфорса на целевую систему Postgres, чтобы получить доступ к базе данных.
Postgres – это продвинутая реляционная система баз данных коммерческого класса, которая является бесплатной и с открытым исходным кодом.
PostgreSQL поддерживает как SQL (реляционные), так и JSON (нереляционные) запросы.
Postgres – это высоконадежная база данных, PostgreSQL разрабатывается сообществом с открытым исходным кодом уже более 20 лет.
Многочисленные веб-приложения, мобильные и аналитические приложения используют PostgreSQL в качестве базы данных по умолчанию.
Использование Nmap для сканирования целевой системы
Первым шагом к выполнению атаки на Postgres является сканирование целевой системы, чтобы определить, запущена ли служба Postgres.
Используя Nmap, мы можем проверить наличие определенного открытого порта или проверить наличие открытых портов в определенном диапазоне.
Для проверки открытых портов мы используем следующую команду.
После завершения сканирования мы можем просмотреть открытые порты целевой системы, как показано на изображении выше.
Служба Postgres работает на открытом порту 5432, на котором мы хотим выполнить атаку.
Следующая команда может быть использована для дополнительной разведки, чтобы узнать, какая версия Postgres запущена на целевой системе.
Как показано на изображении выше, мы можем увидеть версию Postgres, запущенную на целевой системе, которая равна 9.6.
Такая информация важна для тестировщика на проникновение, поскольку можна использовать ее для определения уже известных уязвимостей этой конкретной версии с помощью онлайновой базы данных уязвимостей.
Собрав всю информацию, мы можем начать атаку методом перебора на Postgres, используя различные инструменты.
1) Patator
Patator – это многопоточный инструмент, написанный на языке Python, который стремится быть более надежным и гибким, чем другие инструменты перебора.
Он полезен для проведения атак брута на нескольких портах, таких как FTP, HTTP, POSTGRES, SMB и т.д.
Ранее уже упоминали его:
🔫 Обзор инструментов брутфорса для тестирования на проникновение
Для проведения атаки перебором на Postgres требуется два поля: имя пользователя и файл паролей.
Для запуска атаки на сервис Postgres с помощью patator мы используем следующую команду.
- pgsql_login – указывает скрипт, который будет использоваться при этой атаке
- host – указывает IP-адрес целевой системы.
- user (File0) – указывает файл, содержащий имена пользователей.
- password (File1) – указывает файл, содержащий пароли.
После предоставления необходимой информации мы можем запустить команду, сесть поудобнее и ждать завершения атаки.
Когда атака завершится, мы увидим действительные данные для входа, найденные в списках, которые мы использовали.
2) Ncrack
Ncrack – это утилита для быстрого перебора сетевой аутентификации.
Она была разработана для помощи организациям в обеспечении сетевой безопасности путем проактивного анализа всех хостов и сетевой инфраструктуры на предмет слабой защиты.
Контрольный список (чек-лист) наиболее важных тестов на проникновение
Чтобы выполнить перебор Postgres с помощью Ncrack, нам потребуется всего одна команда.
- -v – используется для повышения уровня многословности.
- -U – указывает расположение списка имен пользователей.
- -P – указывает расположение списка паролей.
После того как мы указали расположение списков, которые мы будем использовать для атаки, мы можем начать атаку и ждать, пока Ncrack найдет действительные учетные данные для входа.
3) xHydra
Это графическая версия Hydra.
Одним из преимуществ использования графической версии Hydra при выполнении атаки методом брута на Postgres является то, что она очень проста в использовании даже для новичков.
Укажите цель
Первым шагом для перебора пароля Postgres является предоставление информации о целевой системе.
Для этого мы укажем IP-адрес узла, порт для запуска атаки и целевой сервис в системе, как показано на рисунке ниже.
Предоставьте список паролей
После указания данных о цели, следующим шагом будет указание пути к списку имен пользователей и списку паролей, которые будут использоваться при выполнении атаки перебором на Postgres, как показано на рисунке ниже.
Теперь мы можем запустить атаку после предоставления всех необходимых данных и подождать, пока xHydra найдет учетные данные для входа в систему!
4) Metasploit
Для запуска атаки методом перебора на целевую систему Postgres с помощью Metasploit нам необходимо иметь два файла: список имен пользователей и список паролей.
Как было показано в одном из предыдущих руководств, мы можем сгенерировать наши списки с помощью утилиты Crunch, которая предустановлена в Kali Linux.
Как сделать свой словарь паролей через Crunch на Kali Linux
Всегда рекомендуется использовать фильтрованные списки слов, чтобы сократить время, необходимое для завершения атаки методом перебора.
После получения необходимых файлов мы можем запустить Metasploit с помощью следующей команды.
В Metasploit мы должны предоставить информацию, необходимую перед запуском атаки перебором на Postgres, т.е. хост, порт, эксплойт, который будет использоваться, и список паролей, который будет использоваться для атаки перебором, после чего мы запускаем атаку.
🐉 Как запустить Metasploit Framework в Kali Linux 2020.x
После нескольких попыток мы получим уведомление о правильном пароле, который был найден в списке слов,
Используя сгенерированные списки, мы можем получить действительные учетные данные для входа в Postgres для целевой системы.
Заключение
В приведенном выше руководстве мы выполнили атаку методом перебора на уязвимую целевую систему Postgres.
Postgres, будучи одной из наиболее часто используемых реляционных систем баз данных, является мишенью для злоумышленников.
Как тестировщику на проникновения, знание того, как выполнить атаку методом будет на систему Postgres, будет полезно при проведении тестов на проникновение в различные системы.
см. также:
- 🔨 Thefatrat массивный инструмент эксплойтинга
- 🐲 Интеграция OpenVAS и Metasploit – Как использовать OpenVAS в Metasploit
- 👨⚕️️ Тестирование на проникновение Windows с использованием Microsoft Office DDE Exploit (MACROLESS)
- 21 лучший инструмент Kali Linux для взлома и тестирования на проникновение
- ✈ Mad-Metasploit – пользовательские модули, плагины и скрипты Metasploit
- Как установить свой баннер в Metasploit
- Kaboom – скрипт, который автоматизирует тест на проникновение
- Автоматическое тестирование на проникновение с помощью набора APT2 Toolkit
- Trojanizer – троянируйте свои пейлоады
- Как проверить пароли учетных записей пользователей
¯\_(ツ)_/¯
Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.