Virtual Network Computing (VNC) Программа Virtual Network Computing разработана в Англии, в лаборатории AT&T Research Labs Кембриджского университета. Ее можно найти по адресу https://www.comparitech.com/vpn/what-is-a-vnc-and-how-does-it-differ-from-a-vpn/. Программа обладает многими уникальными возможностями. Во-первых, ее можно использовать на многих платформах. Этот программный продукт можно устанавливать на компьютеры под управлением системы Windows, Linux и Solaris, а просматривать — в Windows, Linux, Solaris, Macintosh и даже с помощью Windows СЕ. Кроме того, эта программа имеет интерфейс на языке Java, что позволяет ее использовать через такие Java-совместимые броузеры, как Netscape Communicator и Microsoft Internet Explorer. Лучше всего то, что программа VNC является бесплатной!
Ниже каждая из этих атак будет рассмотрена более подробно. Прямой подбор паролей VNC
Основным механизмом защиты сервера VNC от несанкционированного доступа является пароль, выбранный системным администратором. В этой книге уже не раз отмечалось, что взлом проще всего осуществить, если используются ненадежные пароли. Поскольку серверу VNC зачастую предоставляются высокие привилегии, решительно настроенный взломщик, проявив определенное упорство, сможет подобрать пароль сервера VNC "в лоб", простым перебором. Для подбора паролей VNC можно воспользоваться дополнительной программой rfbproto.c , которую можно применить к клиентскому приложению vncviewer. С помощью команды patch программу rfbproto.c нужно применить к пакету vnc-3.3.3rl_unixsrc.tgz. В следующем примере демонстрируется, как легко подобрать пароль сервера VNC. [crush] # vncviewer 192.168.1.101 Модифицированный клиент vncviewer быстро перебрал предоставленный список паролей и отгадал пароль test. После этого программа vncviewer соединилась с удаленным сервером и взломщик получил полный контроль над системой. Подобный подбор паролей производится очень быстро, и сервер VNC никак не реагирует на неудачные попытки регистрации. Контрмеры: защита от подбора паролей VNС
При настройке сервера VNC важно выбрать надежный пароль. В нем должно содержаться не меньше восьми символов. Пароль не должен быть словом или производной от слова, найденного в словаре. Не забывайте о том, что пароль — это единственная преграда, стоящая между взломщиком и системой. Так что выбирайте его очень внимательно! Перехват сетевого трафика
Если пакет VNC установлен без каких бы то ни было модификаций, то после аутентификации шифрование потока сообщений между клиентом и сервером не выполняется. Не стоит надеяться на то, что если этот поток сообщений сжат, то его труднее перехватить, чем, скажем, в сеансе telnet. Поскольку файлы с исходным кодом VNC найти очень легко, то не составит особого труда и разработать специальный перехватчик сообщений VNC. Поэтому установка соединения с сервером VNC без применения шифрования сопряжена с большим риском. Хотя исходный пароль VNC передается с использованием механизма "вопрос/ответ", весь поток сообщений передается в незашифрованном виде. Вполне возможно, что взломщик сможет отследить передаваемые сообщения и перехватить пароли, вводимые пользователями при регистрации. Контрмеры: предотвращение перехвата сетевого трафика
К счастью, существуют различные механизмы, которые можно использовать для шифрования трафика VNC. Первым и основным из них является использование оболочки ssh, с помощью которой можно организовать защищенный канал между клиентом и сервером VNC. . Кроме того, к исходному коду пакета VNC можно применить дополнительные модули (http://web.mit.edu/thouis/vnc/), которые позволяют реализовать шифрование по открытому ключу. И наконец, для контроля каждого IP-адреса, с которого происходит доступ, можно использовать ТСР-оболочки (http://www.uk.research.att.com/vnc/archives/1998-09/0168.html). Ненадежный метод хранения паролей VNC
В октябре 1999 года Конд Вампиро (Conde Vampiro) сообщил о некоторых изъянах программы VNC (http://www.roses-labs.com/advisory/RLvncbug.txt). Самый серьезный недостаток связан с тем, как служба VNC хранит пароль сервера VNC (а именно в системном реестре Windows). Хотя пароль сервера VNC шифруется с помощью алгоритма 3DES, при этом пароль каждый раз сохраняется с использованием фиксированного ключа (23 82 107 6 35 78 88 7). Это еще один наглядный пример неумелого применения надежного алгоритма шифрования (3DES). Поскольку ключ известен, то можно без проблем расшифровать пароль любого сервера VNC. /*поместите в массив р[] хеш-код пароля*/ После этого можно скомпоновать исполняемый файл vndec, а затем запустить его. [shadow]# vncdec Как видно из примера, пароль сервера test без особых усилий можно перевести в незашифрованный текстовый формат. Контрмеры против ненадежного хранения паролей VNС
В последней версии программы, доступной во время написания данной книги, этот недостаток все еще не был устранен. Наилучшей зашитой от доступа взломщиков к системному реестру является использование средств обеспечения безопасности на уровне серверов. В главах 5 и 6 приведен исчерпывающий список мер предосторожности систем Windows NT и 2000. |