Oracle-пользователи по умолчанию, их пароли и зашифровкиИсточник: oracloid
Источник: сайт компании PenTest Limited,http://www.pentest-limited.com/default-user.htm иhttp://www.pentest-limited.com/user-table-new.htm В этой статье приводится перечень пользователей базы данных Oracle, создаваемых по умолчанию при инсталляции (default users), а также их пароли. Этот реестр включает в себя и зашифрованные значения паролей (hashes), потому что SQL-скрипт может быть без труда модифицирован так, чтобы сравнить задаваемые шифрованные значения с теми, что находятся в пользовательской базе данных. Целью этой публикации является предоставление единого исходного общего списка всех пользователей по умолчанию, чтобы сделать легкой деятельность администратора БД и/или консультанта (офицера) по безопасности, гарантируя, что все пользователи по умолчанию или:
Дальнейшие расширения Этот реестр вскоре будет расширен дополнительными столбцами, чтобы показать, какие пользователи созданы по умолчанию при инсталляции [ основной базы данных и дополнительных опций - ред. ] и в каких версиях Oracle каждый из них мог бы быть создан. Также предполагается привести имена важных (сritical - критических) ролей, ассигнованных этим пользователям. Также предполагается добавить и другие Oracle-пароли для учетных записей (usernames/passwords), которые не хранятся в базе данных [ эти данные автором пока не опубликованы - ред. ]. Модернизация реестра Компания Pentest (http://www.pentest-limited.com) намеревается поддерживать и обновлять этот список по мере того, как будут выявлены какие-либо новые пользователи по умолчанию и их пароли, которых мы пока не знаем. Мы приглашаем всех внести свой вклад в этот список. Если Вы знаете других таких пользователей и их пароли, пожалуйста, сообщите об этом по электронной почте default@pentest-limited.com . Уведомление при изменениях Если Вы хотите, чтобы Вам сообщали о всех когда-либо сделанных изменениях этого реестра, пожалуйста, пошлите незаполненное email-сообщение по адресуdefault-sub@pentest-limited.com . Если Вы захотите отказаться от этой подписки, тогда пошлите пустое email-сообщение на адресdefault-unsubscribe@pentest-limited.com . SQL-скрипты для проверки вашей базы данных на предмет наличия паролей по умолчанию SQL-скрипт check_users.sql был сгенерирован из данных, приведенных в ниже следующей таблицы (Таблица 1). Он проверит пользователей в вашей базе данных на предмет того, что в Вашей базе данных имеются какие-либо пользователи умолчания, для которых все еще устанавлено значение пароля по умолчанию. Щелкните здесьcheck_users.sql, чтобы разгрузить скрипт. Этот скрипт должен быть запущен от имени dba-пользователя, чтобы иметь возможность обратиться к представлению dba_users. В настоящем виде в этом скрипте вход в базу ощуществляется, как "connect internal" и имеет место выход из соединения - "exit" в конце текста. Если Вы захотите запустить этот скрипт от имени другой учетной записи dba или не выходить из соединения, пожалуйста, не забудьте заменить эти две строки. Второй предлагаемый скрипт был сгенерирован для проверки наличия ролей по умолчанию с паролями по умолчанию.Таблица ролей по умолчанию находится ниже на этой странице. Для того, чтобы скачать скрипт, щелкните по отметкеcheck_roles.sql [ Этот скрипт приводится также в конце этой публикации - ред. ]. Этот скрипт также надо запускать от имени SYS или INTERNAL , так как он обращается к таблице словаря данных SYS.USER$. И снова в скрипте имеют место "connect internal" и "exit". Пожалуйста, закомментируйте или удалите эти строки, если Вы не заходите как INTERNAL или не хотите выходить из базы. Имена небазовых пользователей и их пароли Эта секция называет тех пользователей и их пароли, чьи имена и пароли не хранятся в таблице словаря данных SYS.USER$. Как только будет получена новая информация, эта секция будет расширена. Приложения, использующие базу данных Oracle Эта секция будет добавлена в дальнейшем, чтобы включить в общий реестр пользователей и их пароли по умолчанию для тех Oracle-приложений, в которых при инсталляции используемой базы данных Oracle и приложений заводятся пользователи и пароли по умолчанию. Таблица 1.
В этой секции приводится таблица, содержащая известные нам роли по умолчанию с паролями по умолчанию Таблица 2.
Таблица 3.
Изучение учетных записей по умолчанию в Oracle При изучении стандартных инсталляций RDBMS Oracle 8i версии 8.1.5 на Linux и на Windows NT было обнаружено, что в этом процессе могут быть созданы по умолчанию несколько учетных записей (accounts) со своими паролями. Кроме RDBMS стандартной редакции, были проанализированы и инструментальные средства разработки. Это дало девять учетных записей по умолчанию под Linux и двенадцать под Windows NT. Установка Oracle под Windows NT более опасна, поскольку при этом пользователю CTXSYS присваивается роль DBA, а пользователю MDSYS предоставлена привилегия "ALL PRIVILEGES WITH ADMIN". Наличие привилегии "ALL PRIVILEGES" является столь же "удачным", как и присвоение dba-привилегий. Ни один из Linux-пользователей по умолчанию не столь опасен, как эти NT-пользователи (кроме, конечно, SYS и SYSTEM), если их пароли были оставлены установленными по умолчанию. Имеются 52 Linux-пользователя по умолчанию и 57 пользователей по умолчанию в Windows NT. Вы никогда не увидите всех этих пользователей одновременно в одной базе данных, разве что кто-то экспериментирует с базой, но вполне можно увидеть некоторых из них. Я выявил этих пользователей, просмотрев все SQL-файлы, предоставляемые Oracle в стандартной- инсталляции. Помните, что это - данные, находящиеся в практической (actual) базе данных, которая должна быть защищена, но как часто защиты нет. Нет никакой необходимости стремиться стать SYS, SYSTEM или просто иметь роль DBA, чтобы добираться до пользовательских данных в базе данных Oracle. Пользователь, например, DBSNMP или OUTLN, может получить доступ к списку всех пользователей в базе данных. Актуальная информация о пользователях находится в принадлежащий SYS таблице USER$ словаря базы данных. Если, к несчастью, кто-то неосторожно предоставил доступ этой таблице, а Вы не зарегистрированы на как SYS, то Вы не сможете увидеть этого. С другой стороны, имеется представление DBA_USERS, которое обращается к этой SYS-таблице. Выборка из этого представления доступна пользователям, которые являются DBA, или же тем, у кого есть разрешение на выборку из любого представления (select any view). И это еще не все, так как любой пользователь, типа DBSNMP, который имеет минимальные разрешения (permissions), может обратиться к другому представлению, ALL_USERS. Это представление не позволит Вам увидеть пароли в зашифрованной форме (password hash), но предоставит список всех пользователей базы данных. Если бы Вы узнали пароли пользователей, то весьма часто могди бы обнаружить, что они установлены в виде USER_NAME/USER_NAME. В этом случае Вы скорее всего сможете добраться до производственной схемы и, конечно, сделать SQL-вливание [вероятно, несанкционированной информации - ред.] в приложение. Тем самым, используя одного из невинных пользователей, например, DBSNMP или OUTLN, Вы сможете собрать много информации о базе данных и кто ее использует. Как в инсталляции Oracle под Linux, так и в инсталляции под Windows NT, пароль по умолчанию пользователя internal установлен в oracle. Это имя применяется, чтобы соединиться как пользователь SYS без того, чтобы назвать пароль пользователя SYS. Ниже приводится таблица, содержащая список всех пользователей по умолчанию и их пароли, которых я смог найти в базах данных Oracle в этих обеих операционных системах. Оранжевым цветом выделены строки, имя_пользователя/пароль (usernames/passwords) которых получены при проведении стандартной инсталляции
-- name : check_roles.sql |