PassFinger v1.0.1
программа для контроля пользовательских паролей для входа в СУБД Oracle.
Минимальные требования:
NT\2000\XP\2003 c установленным ПО Oracle версий 8.х.х .. 10.х.х. .
Назначение:
контроль за использованием в БД Oracle общеизвестных паролей, проверка возможности соединения с произвольным паролем,
поиск имени и пароля для входа в БД Oracle, получение информации о привилегированных пользователях БД.
Программа автоматизирует поиск сочетаний USERNAME/PASSWORD для входа в базу данных Oracle. Обеспечивается ведение собственного перечня паролей на основе установленных по умолчанию пользовательских паролей. Для доступа необходимо указать хост, порт и SID базы данных. Доступ организуется или с использованием компонентов DCOM, или с помощью утилиты SQLPlus, входящей в ПО Oracle. Ведется полный лог сообщений в текстовом файле. В случае успешного входа в базу данных выполняются тестовые запросы с целью получения перечня всех пользователей БД, пользователей DBA ROLE, пользователей SELECT CATALOG ROLE. Обеспечивается вывод хешированного значения пользовательских паролей. Соединение по внутреннему перечню паролей может вестись в автоматическом режиме.
Программа не вносит никаких изменений в реестр и в файлы конфигурации Oracle NET.
Инсталляция не требуется.
Посмотреть скриншот можно здесь.
Скачать программу можно здесь (381 K)
Предложения/замечания/советы принимаются safeguardian@yandex.ru
Для попытки установления соединения с удаленной базой данных используются указанные оператором параметры соединения, (имя или адрес целевого хоста, номер порта и SID (SERVICE_NAME) базы данных), имя пользователя и пароль для входа. Оператор может указывать имя и пароль вручную или воспользоваться встроенной таблицей пользовательских паролей по умолчанию. Таблица содержит более 450 паролей для встроенных пользователей Oracle и коммерческих приложений, ее содержание может корректироваться оператором. По желанию оператора может автоматически производиться последовательный перебор сочетаний имя\пароль из встроенной таблицы паролей для поиска возможного соединения с БД. Поиск может быть остановлен при обнаружении любого соединения, соединения с привилегией DBA или при обнаружении доступа к таблице SYS.USER$ ( для получения хешированных значений паролей пользователей).
Соединение с БД может осуществляться по выбору оператора с использованием компонентов DCOM или с помощью утилиты SQLPlus из пакета Oracle. При доступе через DCOM используется провайдер OraOLEDB.Oracle, инсталлируемый при установке любого пакета Oracle. При доступе с использованием SQLPlus данная утилита запускается как отдельный процесс в фоновом режиме со строкой соединения вида:
connect <name>/<password>@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<host>)(PORT=<port>)) (CONNECT_DATA=(SID=<sid>))).
При обнаружении соединения выполнются запросы для определения локального времени на целевой БД и проверки наличия привилегии DBA:
select to_char(sysdate, ''dd-mm-yyyy hh:mi:ss'') as Local_time from dual;
select grantee as "Grantee DBA ROLE" from sys.dba_role_privs where granted_role=''DBA'' and grantee = "< имя_пользователя>";
По указанию оператора могут быть выполнены дополнительные запросы:
- для определения пользователей с привилегией DBA, имеющих статус OPEN и LOCKED:
select a.username as "DBA OPEN", a.password as "Password Hash"
from
sys.dba_users a, sys.dba_role_privs d'
where
d.granted_role=''DBA'' and a.username = d.grantee and a.account_status =
/ != ''OPEN''
order by
a.account_status desc, a.username;
- для получения хешированных значений паролей привилегированных пользователей:
select name as "STATUS OPEN", password as "Password Hash" from sys.user$ where type# = 1 and astatus=0 order by user#;
- для получения перечня всех пользователей:
select username as "ALL Users" from sys.all_users order by username;
Перечень всех пользователей БД может быть получен при любом соединении, а значения парольных хешей только при наличии необходимых привилегий (например, SELECT_CATALOG_ROLE).
Программа обеспечивает вывод всех сообщений на экран и запись в текстовый файл на диск.
Основной задачей программы является поиск возможного сочетания имени и пароля пользователя для соединения с БД с максимальными привилегиями и получение перечня всех пользователей БД. Дополнительно может быть получена информация и значениях парольных хешей пользователей.
Если по результатам проверки получена возможность соединения с привилегией DBA, уровень безопасности БД нельзя считать удовлетворительным. Для дополнительной проверки пользовательских паролей при отсутствии возможности получения привилегии DBA служит утилита PassChecker_v101, позволяющая автоматизировать проверку пользовательских паролей на совпадение с именем или на использование паролей по умолчанию.