Базы данных Oracle - статьи


Oracleinfsec.shtml - часть 4


victim=    (description=      (address=(protocol=tcp)(host=victim.us.oracle.com)(port=32768))    )

Рис 3. Пример записи в listener.ora для хоста victim.us.oracle.com.

Начинают появляться сканеры защиты Oracle, их также можно использовать для поиска листенеров. Например, свободно распространяемый сканер [nessus] имеет подключаемую возможность для обнаружения листенеров Oracle, работающих на портах 1521 и 1541.

Перечисление целей: использование управляющей программы листенера

Обнаружив листенер Oracle, нарушитель захочет определить, имеет ли он какие-нибудь реальные уязвимости. Это называется “перечислением целей” (target enumeration).

Листенер по команде STATUS сообщает о себе массу информации, вывод по умолчанию может быть расширен командой SET DISPLAYMODE для режимов вывода RAW или VERBOSE, например:

SET DISPLAYMODE VERBOSE

В некоторых портах могут использоваться установки по умолчанию. Пример вывода по команде STATUS показан на рис. 4.

Рис. 4. Листенер Oracle 9i выдает свои секреты по команде STATUS.

Как видно, листенер выдает очень полезный список информации, включая:

  • операционную систему сервера (полезна для атак на ОС);
  • версию листенера (обычно, но не всегда, совпадает с версией базы данных). Полезная информация, когда известны уязвимости данной версии и DBA не вставил соответствующие заплаты;
  • время запуска и время работы с точностью до секунд. Знание текущего системного времени может дать ключ к часовому поясу, в котором работает машина, – это всегда полезно для планирования атак, когда администратор, скорее всего, спит. Это может также направить атаки на протоколы и криптографические механизмы, которые базируются на времени;
  • проверку установки пароля листенера (установка SECURITY);
  • контроль включения трассировки и определение данного ее уровня. Трассировочный файл может содержать подробную информацию о получаемых пакетах;
  • контроль включения протокола SNMP (открывает еще один механизм атаки);
  • файл параметров листенера и протокольные файлы. Это позволяет узнать каталог ORACLE_HOME (так что, когда мы проникнем в систему, мы будем знать, где находятся данные);
  • доступные сервисы. MODOSE – коммуникационный канал для Apache (еще одно служебное имя базы данных; однако соединиться с базой данных по имени “MODOSE” иногда сложно, если статус и команды листенера блокируются межсетевым экраном), PLSExtProc – агент внешних процедур (обсуждается позднее) и другие сервисы, наверняка относящиеся к базам данных. Мы можем использовать это информацию для вставки записей в tnsnames.ora данного сервера и попробовать связаться с базой данных, используя SQL Plus или другие средства.




Начало  Назад  Вперед