Получив права администратора на сервере…
С этого момента самая тяжелая часть работы взломщика осталась позади. Теперь в его распоряжении права администратора сервера и, скорее всего, значительная часть дерева. Следующим шагом является получение доступа к утилите rconsole сервера и сбор файлов NDS.
Хакинг утилиты rconsole
Получить пароль к утилите rconsole можно несколькими способами, однако на самом деле существует лишь один простой путь, который зависит от степени медлительности администратора. По умолчанию пароль к утилите rconsole хранится в виде незашифрованного текста. Это можно проверить следующим образом.
- Просмотрите файл SYS: \SYSTEM\autoexec.ncf.
- Найдите строку load remote. В качестве следующего параметра должен быть указан пароль, который, возможно, будет представлять незашифрованный текст:
load remote ucantcme
- Если после строки remote пароля нет, а вместо него указан параметр -Е, то вас можно поздравить – как минимум, администратор зашифровал пароль утилиты rconsole.
load remote – E 158470C4111761309539DO
Однако упрямому взломщику это лишь добавит еще один шаг на пути получения полного контроля над системой. Хакер Мечтатель (Dreamer, или Разрушитель, TheRuiner) разобрался с алгоритмом, применяемым при шифровании пароля утилиты rconsole, и написал исходный код на языке Pascal, который можно использовать для получения этого пароля (http://www.nmrc.org/files/netware/remote.zip). Для расшифровки пароля можно использовать также написанный авторами книги сценарий Perl, который находится на Web-узле www.hackingexposed.com. Особенность использования этого сценария заключается в том, что нужно просто найти пароль утилиты rconsole (неважно, зашифрованный или нет). Если у вас имеется много времени, которое вы готовы потратить на поиск этого пароля, то воспользуйтесь следующими рекомендациями.
- Если вы не обнаружили строку load remote в файле autoexec.ncf, не отчаивайтесь; она может содержаться в другом файле NCF. Например, для хранения команды load remote по умолчанию обычно используется файл SYS: \SYSTEM\ldremote.ncf. Этот файл также можно просмотреть и проверить, не содержится ли в нем незашифрованный пароль.
- Если вы все еще не нашли строку load remote, то это может означать, что администратор воспользовался командой inetcfg и перенес команды из файла autoexec.ncf в файлы initsys.ncf и netinfo.cfg. Оба файла содержатся в каталоге SYS:ETC. При первом запуске программы inetcfg с консоли она пытается переместить все команды из файла autoexec.ncf в файл inetcfg. В результате в этом файле пароль должен содержаться в том же виде, что и в файле autoexec.ncf.
Контрмеры против использования незашифрованных паролей утилиты rconsole
Предотвратить такую опасность очень просто. Компания Novell предлагает механизм шифрования пароля утилиты rconsole с помощью команды remote encrypt. Вот что для этого необходимо сделать.
- Убедитесь, что не загружены утилиты rspx и remote.
- Введите с консоли команду load remote "пароль".
- С консоли введите команду remote encrypt.
- В ответ на появившийся запрос наберите пароль утилиты rconsole.
- На экране появится запрос о том, нужно ли добавить зашифрованный пароль в файл SYS: \SYSTEM\ldremote.ncf. Ответьте "да".
- Удалите все строки с паролем из файлов autoexec.ncf и netinfo.cfg.
- Убедитесь, что для вызова команды load remote в файл autoexec.ncf добавлен файл Idremote.ncf.
В настоящее время не существует модулей обновления, позволяющих защититься от декодирования зашифрованных паролей утилиты rconsole (а ля Разрушитель!). Для получения самой свежей информации по этому вопросу регулярно обращайтесь по адресу http://oliver.efri.hr/~crv/security/bugs/Others/nwarel2.html. Сценарий Perl, позволяющий расшифровать этот пароль, (remote.pi), можно найти на нашем Web-узле www.hackingexposed.com.