среда, 3 ноября 2010 г.

Temporary change password или мысль о "всемогущих" админах

Привет.
Должен признаться, что на днях было разрушено одно мое заблуждение о невозможности подключения к базе данных с помощью учетной записи пользователя, пароль которой мне неизвестен.
Конец моему заблуждению положила ЭТА статья.
В ней описана возможность временной смены пароля у учетной записи и восстановления предыдущего пароля с помощью недокументированной возможности команды ALTER USER. Данная возможность была мною проверена на сервере Oracle DB 9.2.0.8

Вообщем действуем так:
1. Создаем пользователя для тестирования
create user TEST identified by test;
grant connect to test;
Далее будем считать, что пароль этого пользователя нам неизвестен и у нас существует ОЧЕНЬ БОЛЬШОЕ желание подключиться к базе данных от имени этого пользователя.

2. Получим значение колонки Password из представления DBA_USERS
select password from dba_users where username = 'TEST';

Query finished, retrieving results...
           PASSWORD           
------------------------------
7A0F2B316C212D67              

1 row(s) retrieved

3. Сохраним полученной значение. Оно нам понадобиться для заметания следов...

4. Заменим на время пароль пользователя на придуманный нами.
alter user test identified by cooladmin;

5. Подключимся к базе данных и "совершим задуманное"....

6. Теперь надо замести следы и восстановить пароль пользователя, который мы не знаем...
Это делается с помощью следующей команды
alter user test identified by VALUES '7A0F2B316C212D67 ';

7. Вот и все... Во всех операциях, совершенных на шаге 5 "виноват" ничего не подозревающий TEST...

Начиная с этого момента начинаю серьезно задумываться над применением дополнительных механизмов защиты паролей пользователей в рабочих системах.

Удачи всем...

1 комментарий:

Анонимный комментирует...

Интересная статья. Еще бы заметать следы из фискальных таблиц...