Virtual Network Computing (VNC)
Программа Virtual Network Computing разработана в Англии, в лаборатории AT&T Research Labs Кембриджского университета. Ее можно найти по адресу http://www.uk.research.att.com/vnc. Программа обладает многими уникальными возможностями. Во-первых, ее можно использовать на многих платформах. Этот программный продукт можно устанавливать на компьютеры под управлением системы Windows, Linux и Solaris, а просматривать – в Windows, Linux, Solaris, Macintosh и даже с помощью Windows СЕ. Кроме того, эта программа имеет интерфейс на языке Java, что позволяет ее использовать через такие Java-совместимые браузеры, как Netscape Communicator и Microsoft Internet Explorer. Лучше всего то, что программа VNC является бесплатной!
Поскольку программа VNC обладает такими богатыми функциональными возможностями, неудивительно, что работа с этим продуктом сопряжена с некоторыми серьезными проблемами, связанными с нарушением безопасности. Она оказывается уязвимой при использовании программы Revelation. Как было показано в главе 5, через удаленное соединение программу VNC можно легко установить в системе Windows NT. Все что для этого требуется, – это инсталлировать службу VNC из командной строки после единственного изменения удаленного системного реестра, что позволит запустить ее в скрытом режиме. Конечно же, независимо от версии в списке Process List все равно будет содержаться процесс winVNC. EXE. Однако важнее всего то, что программа VNC подвержена следующим атакам.
- Прямой подбор паролей VNC. Ненадежные пароли позволят взломщику получить полный контроль над системой, в которой запущен сервер VNC.
- Перехват сетевого трафика. По умолчанию после аутентификации пользователя сервер VNC не выполняет шифрования данных.
- Ненадежный метод хранения паролей WinVNC. Пароли сервера хранятся в таком виде, что взломщик все равно сможет их восстановить в незашифрованной форме.
Ниже каждая из этих атак будет рассмотрена более подробно.
Прямой подбор паролей VNC
Основным механизмом защиты сервера VNC от несанкционированного доступа является пароль, выбранный системным администратором. В этой книге уже не раз отмечалось, что взлом проще всего осуществить, если используются ненадежные пароли. Поскольку серверу VNC зачастую предоставляются высокие привилегии, решительно настроенный взломщик, проявив определенное упорство, сможет подобрать пароль сервера VNC "в лоб", простым перебором. Для подбора паролей VNC можно воспользоваться дополнительной программой rfbproto.c, которую можно применить к клиентскому приложению vncviewer. С помощью команды patch программу rfbproto.c нужно применить к пакету vnc-3.3.3rl_unixsrc.tgz. В следующем примере демонстрируется, как легко подобрать пароль сервера VNC.
[crush] # vncviewer 192.168.1.101 v'MC server supports protocol version 3.3 (viewer 3.3) Trying password '#!comment:' VNC authentication failed Trying password 'Common' VNC authentication failed Trying password 'passwords,' VNC authentication failed Trying password 'compiled1 VNC authentication failed Trying password 'passwd' VNC authentication failed Trying password 'test' VNC authentication succeeded Desktop name "twistervm" Connected to VNC server, using protocol version 3.3
Модифицированный клиент vncviewer быстро перебрал предоставленный список паролей и отгадал пароль test. После этого программа vncviewer соединилась с удаленным сервером и взломщик получил полный контроль над системой. Подобный подбор паролей производится очень быстро, и сервер VNC никак не реагирует на неудачные попытки регистрации.
Контрмеры: защита от подбора паролей VNС
При настройке сервера VNC важно выбрать надежный пароль. В нем должно содержаться не меньше восьми символов. Пароль не должен быть словом или производной от слова, найденного в словаре. Не забывайте о том, что пароль – это единственная преграда, стоящая между взломщиком и системой. Так что выбирайте его очень внимательно!