Эта публикация открывает серию статей, призванных познакомить пользователей с особенностями использования сканера уязвимостей XSpider для решения тех или иных задач, встающих перед специалистом в области ИБ.
Цыплаков Максим Владимирович
разработчик систем ИБ компании Positive Technologies
Одним из механизмов, который использует сканер уязвимостей в ходе оценки защищенности узла, является подбор паролей. Зачастую администраторы совершенно необоснованно пренебрегают проверкой стойкости паролей, полагая, что подбор паролей является трудоемким и малоэффективным механизмом. Однако статистика, полученная экспертами Positive Technologies в ходе работ по аудиту безопасности и тестированию на проникновение, позволяет утверждать, что более чем половина сетей может быть скомпрометирована путем подбора паролей для различных сетевых служб.
На момент написания статьи в XSpider поддерживал подбор паролей для следующих групп сетевых служб и протоколов:
Механизмы подбора паролей для протоколов POP3 и HTTP в настоящее время поддерживают только методы передачи имени пользователя и пароля в открытом виде, такие как Basic для HTTP. Работа с механизмами NTLM и DIGEST будет добавлена в восьмой версии продукта.
Чтобы задействовать механизм подбора паролей той или иной службы необходимо явно указать это в профиле сканирования. Для этого в окне настройки параметров сканирования выбирается соответствующий протокол. Если функции подбора паролей для него реализованы, то в окне настройке будут присутствовать связанные опции, например «использовать расширенные словари логинов и паролей».
Расширенные словари представляют собой текстовые файлы, содержащие имена пользователей и пароли. При запуске процесса сканирования файлы словарей считываются из папки Passwds (например, C:\Program Files\Positive Technologies\XSpider 7.5\Passwds).
Для большинства протоколов файлы учетных записей и паролей разнесены. Исключением являются SNMP (в протоколе не предусмотрено использование имени пользователя) и Oracle в связи со спецификой работы данной группы проверок. Подробнее об оценке защищенности баз данных можно будет узнать из следующих статей цикла. При необходимости в файле rdp-logins.txt может явно указываться имя домена (например, user@example.com).
Для некоторых служб можно отключать поддержку расширенных словарей. В этом случае подбор будет осуществляться по встроенным базам данных паролей. Данный механизм является атавизмом и будет исключен из восьмой версии продукта. Вместо этого будет использоваться механизм подключения со стандартными именами пользователей и паролями для данного типа служб.
Если в ходе идентификации приложений XSpider обнаруживает сетевую службу, для которой реализован механизм подбора паролей, система строит список учетных записей, подлежащих перебору. Список учетных записей формируется на основе встроенных данных, файлов словарей (если эта опция задействована) и ранее обнаруженных логинов.
Для поиска учетных записей пользователей используются различные механизмы, такие как «NULL Session» в Windows.
Затем определяется поддерживаемый сервером механизм аутентификации. Если сервер поддерживает несколько методов, выбирается наиболее эффективный с точки зрения подбора.
Следующим этапом является непосредственно подбор пароля. В результате работы в отчете могут появляться подобранные имена пользователей и паролей. В некоторых случаях XSpider указывает в отчете только имя пользователя. Это означает, что по тем или иным причинам аутентификация была успешна, но войти в систему не удалось. Характерной ситуацией является попытка удаленного подключения в Windows XP Service Pack 2 от учетной записи с пустым паролем.
Результаты проверок передаются между модулями подбора для различных протоколов. Например, если при работе с NetBIOS был получен список пользователей и подобран пароль пользователя user, эти данные будут использованы в ходе подбора паролей к службе RDP данного сервера.
Использование подбора паролей в ходе сканирования может вызывать негативные последствия. Наиболее распространенной ситуацией является блокирование учетных записей в доменах Active Directory. Если сканер сумел получить список пользователей, и количество тестируемых паролей превышает максимальное число неудачных входов в систему, то заблокированными могут оказаться все учетные записи кроме администратора.
В сканер встроены механизмы, позволяющие определить, что в системе задействован механизм блокировки учетных записей. Не смотря на это, в подобной ситуации рекомендуется отключать функции подбора паролей.
Особо хотелось бы остановиться на анализе защищенности Web-приложений. Уже встречались ситуации, когда XSpider, подобрав пароль к Web-серверу удаленного управления маршрутизатора Cisco, начинал «нажимать на все кнопки» с привилегиями level 15. Последствия были самыми печальными. В связи с этим хотелось бы особо предупредить об аккуратности администраторов, сканирующих с помощью такого мощного инструмента как XSpider критические компоненты ИТ-инфраструктуры.
В случае возникновения проблем в ходе подбора паролей, можно обратиться к системным журналам сканера. Журналы сохраняются в папке \Bin\Log (например, C:\Program Files\Positive Technologies\XSpider 7.5\Bin\Log) и содержат детальную информацию о работе того или иного компонента системы. Журнал работы механизмов подбора сохраняется в файле system.log.
На рисунке приведена копия экрана протокола подбора пароля для службы SMB.
И в заключение статьи приведем сводную таблицу, содержащую информацию о поддерживаемых методах подбора пароля.
Сетевая служба |
Возможности |
Протоколы |
Файлы словаря |
SMTP | Подбор имени и пароля | AUTH PLAIN, CRAM-MD5 и NTLM | smtp-logins.txt, smtp-passwds.txt |
POP3 | Подбор имени и пароля | User/Pass | pop3-logins.txt, pop3-passwds.txt |
HTTP | Подбор имени и пароля | Basic | http-logins.txt, http-passwds.txt |
FTP | Подбор имени, подбор пароля | User/Pass | ftp-logins.txt, ftp-passwds.txt |
NetBIOS/SMB | Получение имен, подбор паролей | LM/NTLM/NTLMv2 | smb-logins.txt, smb-passwds.txt |
Telnet | Подбор имени и пароля | Basic | Встроенные |
SSH | Подбор имени и пароля | user/pass, keys | ssh-logins.txt, ssh-passwds.txt |
SNMP | Подбор community string | SNMPv1 | snmp-community.txt |
Microsoft RDP | Подбор имени, подбор пароля | Windows 2000/XP/2003 | rdp-logins.txt, rdp-passwds.txt |
Microsoft SQL Server | Подбор пароля SA | SQL Server Auth | Встроенные |
Oracle | Подбор стандартных учетных записей | Builtin | oracle-accounts.txt |
MySQL | Подбор учетных записей | Builtin | mysql-logins.txt |
В XSpider реализованы механизмы подбора паролей для большинства из популярных сетевых протоколов, что повышает эффективность использование его в ходе контроля защищенности и тестов на проникновение. Естественно, активный подбор паролей является не единственным, и далеко не самым эффективным механизмом парольного аудита. Активные проверки должны комбинироваться с такими методами, как анализ сетевого трафика и анализ баз данных учетных записей пользователей.
Одно найти легче, чем другое. Спойлер: это не темная материя