|

Брутальный взлом И ты, Брут?!
Xakep, номер #039, стр. 039-066-2
Позволю себе привести достаточно интересный пример взлома корпоративной сети, использующий названную слабость. В MS SQL Server 6.5 пароль администратора (учетная запись - sa) хранился в открытом виде в системном реестре (ключ HKEY_CURRENT_USER\SOFTWARE\Microsoft\MSSQLServer\SQLEW\Registered Servers\SQL 6.5). В следующих версиях (7 и выше) компания Microsoft попыталась исправить этот недочет, но тщетно. Несмотря на то, что пароль хранится теперь в зашифрованном виде (ключ -HKEY_CURRENT_USER\SOFTWARE\Microsoft\MSSQLServer\SQLEW\Registered Servers X\SQL Server Group), он легко дешифруется с помощью утилиты L0phtCrack. Компания Oracle недалеко ушла от Microsoft в области защиты и не обратила своего пристального внимания на защиту системных паролей. А вот хакеры не обошли стороной этот вопрос, в результате чего выявились некоторые уязвимости, приводящие к тому, что злоумышленник может получить доступ к защищаемым ресурсам СУБД. Все пароли учетных записей для СУБД Oracle хранятся в файле orapwXXX (для Unix) или pwdXXX.ora (для Windows NT), где XXX - это SID. И несмотря на то, что в этом файле хранятся зашифрованные значения паролей, они могут быть подвергнуты атаке brute force, позволяющей подобрать правильное значение. Мало того, одно неизвестное зашифрованное значение пароля может быть заменено на другое зашифрованное, но известное значение, что откроет хакеру прямую дорогу к базе данных. Пароль админа баз данных с высокой степенью вероятности совпадет и с паролем админа всей системы.
К другим особенностям выбора паролей, которые можно отметить, отнесу:
* малая длина паролей (не более 4-6 символов);
* выбор в качестве пароля имени пользователя, даты его рождения или номера паспорта;
* пароль - это имя пользователя наоборот (например, пароль password для пользователя drowssap);
* и т.д.
Приведу еще один нетипичный пример проникновения в сеть, используя слабости парольной системы базы данных. Любая система контроля доступа (в т.ч. и в ОС, межсетевых экранах и т.д.) построена по принципу проверки соответствия предъявленных идентификатора и пароля пользователя эталонным значениям. Если хакер не знает пароля, то он будет пытаться проникнуть в базу данных, подставляя различные слова («атака по словарю»), сведения о пользователе или иную информацию, которая может служить паролем. Предыдущие версии Sybase (11.x), Oracle (7.x), MS SQL Server не содержали никаких механизмов контроля неправильных попыток регистрации в системе, что позволяло хакеру неограниченное число раз пытаться проникнуть в систему. Как я уже говорил, чаще всего пароль пользователя един и для доступа к компьютеру, и для доступа к СУБД, и для доступа к Internet. Следовательно, узнав пароль для СУБД, с высокой степенью вероятности можно говорить и об установлении полного контроля над учетной записью юзера. И это несмотря на то, что в операционной системе можно установить число неудачных попыток регистрации в системе, после превышения которого учетная запись блокируется. Справедливости ради необходимо сказать, что в Sybase 12.x и в Oracle 8.x и выше появился механизм контроля неудачных попыток регистрации в системе (sp_configure "maximum failed logins" и FAILED_LOGIN_ATTEMPT соответственно), но в старых версиях этот фокус сработает.
Назад на стр. 039-066-1 Содержание Вперед на стр. 039-066-3
|