[Информационная безопасность, Open source, Администрирование баз данных] Сканер для выявления слабых паролей в СУБД
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Сканеры уязвимостей есть в каждой компании, которая уделяет внимание информационной безопасности. Но далеко не каждый сканер умеет проверять пароли от локальных учетных записей в базе на стойкость.
Проблема в том, что локальные учетные записи чаще всего не имеют срока действия, не проверяются на сложность, и при этом имеют привилегированный доступ. Плюс ко всему парольные политики не всегда позволяют гибко настроить требования, к примеру, не запрещают использовать словарные пароли (вспомните всеми любимый P@ssw0rd).
У нас в QIWI были похожие проблемы, и в попытках их решить мы перепробовали разные решения для полноценного сканирования баз данных. Увы, они нацелены в основном только на проверку конфигурации СУБД и ничего более. При этом цена такого сканера довольно внушительна.
И если говорить в целом о сканере безопасности, который сможет проверить вашу инфраструктуру на уязвимости, то нужно иметь комплекс таких сканеров, что очень дорого.
В этом посте я расскажу о том, что мы использовали для своих задач и как в процессе пришли к выводу, что лучше и проще сделать своё. И поделюсь решением со всеми желающими.
Мы используем достаточно хороший популярный сканер. Но реализовать на нем необходимую нам функциональность было сложно — на каждую базу данных надо было создавать аудит файлы (так как конфигурации у нас в СУБД разные), плюс создавать множество учеток для сканирования, а затем добавлять новые учетки, снова меняя аудитники руками.
К тому же этот сканер не умеет брутить пароли в офлайн режиме, а это проблема. И вот почему.
Брутфорс можно проводить в двух режимах — онлайн и офлайн. Если мы говорим об онлайн брутфорсе, то это эмулирование пользовательского входа и активный перебор паролей. Одной из таких программ является Hydra, и она поддерживает большинство СУБД. Подход применим в большинстве случаев для проведения пентестов и обнаружения дефолтных учеток и паролей. Но не подходит для регулярных проверок и недефолтных учетных записей (пользовательские и сервисные). Потому что учетные записи в таком случае будут блокироваться при наличии соответствующей политики безопасности.
В отличие от онлайн брутфорса его офлайн версия заключается в том, что логины и хеши паролей выгружаются, а затем уже осуществляется брутфорс утилитами вида hashcat или John the Ripper. Тут и никакой нагрузки на БД, и без риска залочить учетку при брутфорсе. А еще вы можете использовать словари на несколько миллионов записей: что при онлайн брутфорсе практически невозможно.
Делаем своё
Так как текущим сканером реализовать описанный функционал сложно, а дополнительный покупать дорого, то пришла идея сделать свой сканер.
В итоге у нас появился собственный сканер для офлайн брутфорса локальных учетных записей.
Сканер поддерживает MS SQL, Oracle и PostgreSQL. Конечно, были свои технические сложности, например, вытащить хеши в формате, который поддерживает hashcat. Но основная сложность это понять как работать с найденными результатами: как поменять пароль без ущерба продуктиву, как сделать, чтобы такие пароли больше не появлялись и т.д.
Но это мы оставим за рамками данной статьи.
UI не сильно доработан, пока используем админку django. Выглядит он вот так:
- есть возможность просмотра списка БД и добавление новых
- видно статус брутфорса для каждой учетной записи
- можно посмотреть результаты сканирования
- при совпадении слабого пароля выводит это в результатах (хеш пароля, подобранный пароль и имя учетки)
- можно задавать время сканирования
Главные плюсы
- Умеет брутить в офлайн режиме
- Есть проверка по словарю
- Все это бесплатно
Если вы сомневаетесь нужно ли вам разворачивать такой сканер, можете попробовать вручную забрать хеши паролей от локальных учетных записей и прогнать их через hashcat
Примеры запросов:
oracle 11g
select user#, name, spare4 from sys.user$ where spare4 is not null;
microsoft sql server (выше 2005):
select name, cast (name+'|'+master.dbo.fn_VarBinToHexStr(password_hash) as varchar(1000)) FROM master.sys.sql_logins
Наш сканер не заменит полноценный сканер безопасности, но станет важным и приятным дополнением. И теперь он доступен всем: github.com/qiwi/bruteforce
Если у вас возникнут вопросы или трудности с разворачиванием, создавайте issue на github, мы обязательно ответим.
За реализацию большое спасибо Surdum и slezhuk
===========
Источник:
habr.com
===========
Похожие новости:
- [Информационная безопасность, Геоинформационные сервисы, Социальные сети и сообщества] Военные США покупают информацию из популярных приложений: расследование Vice
- [Open source, GitHub, Законодательство в IT] GitHub учредил фонд на $1 млн для помощи разработчикам в борьбе с неправомерными запросами на удаление
- [Информационная безопасность, Совершенный код, Управление продуктом, Софт] Строим безопасную разработку в ритейлере. Часть 2, SAP-приложения
- [Информационная безопасность, Законодательство в IT, Читальный зал] Apple обвинили в слежке за пользователями через рекламный трекер IDFA
- [Open source, GitHub, Законодательство в IT, История IT, IT-компании] youtube-dl вернулся в GitHub, спорный контент в readme удалён
- [Информационная безопасность] Ваш компьютер на самом деле не ваш (перевод)
- [Информационная безопасность] Ваши устройства принадлежат вам. Нужно только…
- [Информационная безопасность, Социальные сети и сообщества] Уязвимость в API Bumble выдавала информацию о миллионах пользователей, но исправляли её 200 дней
- [Информационная безопасность] Security Week 47: обход защиты компьютера в режиме сна
- [Информационная безопасность, Safari, Браузеры] Предотвращение cross-site tracking в Safari на MacOs
Теги для поиска: #_informatsionnaja_bezopasnost (Информационная безопасность), #_open_source, #_administrirovanie_baz_dannyh (Администрирование баз данных), #_bezopasnost (безопасность), #_qiwi, #_skanirovanie (сканирование), #_open_source, #_blog_kompanii_qiwi (
Блог компании QIWI
), #_informatsionnaja_bezopasnost (
Информационная безопасность
), #_open_source, #_administrirovanie_baz_dannyh (
Администрирование баз данных
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 12:41
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Сканеры уязвимостей есть в каждой компании, которая уделяет внимание информационной безопасности. Но далеко не каждый сканер умеет проверять пароли от локальных учетных записей в базе на стойкость. Проблема в том, что локальные учетные записи чаще всего не имеют срока действия, не проверяются на сложность, и при этом имеют привилегированный доступ. Плюс ко всему парольные политики не всегда позволяют гибко настроить требования, к примеру, не запрещают использовать словарные пароли (вспомните всеми любимый P@ssw0rd). У нас в QIWI были похожие проблемы, и в попытках их решить мы перепробовали разные решения для полноценного сканирования баз данных. Увы, они нацелены в основном только на проверку конфигурации СУБД и ничего более. При этом цена такого сканера довольно внушительна. И если говорить в целом о сканере безопасности, который сможет проверить вашу инфраструктуру на уязвимости, то нужно иметь комплекс таких сканеров, что очень дорого. В этом посте я расскажу о том, что мы использовали для своих задач и как в процессе пришли к выводу, что лучше и проще сделать своё. И поделюсь решением со всеми желающими. Мы используем достаточно хороший популярный сканер. Но реализовать на нем необходимую нам функциональность было сложно — на каждую базу данных надо было создавать аудит файлы (так как конфигурации у нас в СУБД разные), плюс создавать множество учеток для сканирования, а затем добавлять новые учетки, снова меняя аудитники руками. К тому же этот сканер не умеет брутить пароли в офлайн режиме, а это проблема. И вот почему. Брутфорс можно проводить в двух режимах — онлайн и офлайн. Если мы говорим об онлайн брутфорсе, то это эмулирование пользовательского входа и активный перебор паролей. Одной из таких программ является Hydra, и она поддерживает большинство СУБД. Подход применим в большинстве случаев для проведения пентестов и обнаружения дефолтных учеток и паролей. Но не подходит для регулярных проверок и недефолтных учетных записей (пользовательские и сервисные). Потому что учетные записи в таком случае будут блокироваться при наличии соответствующей политики безопасности. В отличие от онлайн брутфорса его офлайн версия заключается в том, что логины и хеши паролей выгружаются, а затем уже осуществляется брутфорс утилитами вида hashcat или John the Ripper. Тут и никакой нагрузки на БД, и без риска залочить учетку при брутфорсе. А еще вы можете использовать словари на несколько миллионов записей: что при онлайн брутфорсе практически невозможно. Делаем своё Так как текущим сканером реализовать описанный функционал сложно, а дополнительный покупать дорого, то пришла идея сделать свой сканер. В итоге у нас появился собственный сканер для офлайн брутфорса локальных учетных записей. Сканер поддерживает MS SQL, Oracle и PostgreSQL. Конечно, были свои технические сложности, например, вытащить хеши в формате, который поддерживает hashcat. Но основная сложность это понять как работать с найденными результатами: как поменять пароль без ущерба продуктиву, как сделать, чтобы такие пароли больше не появлялись и т.д. Но это мы оставим за рамками данной статьи. UI не сильно доработан, пока используем админку django. Выглядит он вот так:
Главные плюсы
Если вы сомневаетесь нужно ли вам разворачивать такой сканер, можете попробовать вручную забрать хеши паролей от локальных учетных записей и прогнать их через hashcat Примеры запросов: oracle 11g select user#, name, spare4 from sys.user$ where spare4 is not null;
microsoft sql server (выше 2005): select name, cast (name+'|'+master.dbo.fn_VarBinToHexStr(password_hash) as varchar(1000)) FROM master.sys.sql_logins
Наш сканер не заменит полноценный сканер безопасности, но станет важным и приятным дополнением. И теперь он доступен всем: github.com/qiwi/bruteforce Если у вас возникнут вопросы или трудности с разворачиванием, создавайте issue на github, мы обязательно ответим. За реализацию большое спасибо Surdum и slezhuk =========== Источник: habr.com =========== Похожие новости:
Блог компании QIWI ), #_informatsionnaja_bezopasnost ( Информационная безопасность ), #_open_source, #_administrirovanie_baz_dannyh ( Администрирование баз данных ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 12:41
Часовой пояс: UTC + 5