Опубликован: 20.02.2007 | Доступ: свободный | Студентов: 3481 / 786 | Оценка: 4.42 / 4.03 | Длительность: 40:03:00
Лекция 10:

Черный ход и средства удаленного доступа

Наиболее осторожным администраторам следует заблокировать TCP-порт 5900 для входа в свою сеть. Поскольку 80 порт хуже всего контролируется многими администраторами, это может стать преимуществом для взломщика, использующего этот порт вместо порта 5900. Используя некоторые навыки из высшей математики, любой взломщик может усовершенствовать этот вид атаки. Обратимся вновь к диалоговому окну Current User Properties, в котором осуществляется настройка VNC -сервера и запрашивается номер дисплея для прослушивания. По умолчанию это дисплей номер 0 по порту 5900. Мы знаем, что для протокола TCP доступно 65535 портов. Следовательно, порт номер 65536 - это то же самое, что и TCP-порт 0, поскольку это значение выходит за допустимый интервал. Следовательно, если мы вычтем из числа 65536 число 5900, то получим 59636. Если мы прибавим число 80 к полученному результату, получим 59716. Затем мы можем ввести число 59716 в качестве номера дисплея для программы настройки сервера VNC в диалоговом окне Current User Properties, чтобы заставить VNC прослушивать порт 80 на машине-жертве.


После запуска netstat -an, команды, которая отображает открытые порты, мы увидим, что открыт 80 порт.

В этой ситуации нет проблемы. Если мы соединимся с машиной-жертвой через дисплей 59716, программа отображения VNC вернет ошибку. Это также произойдет, когда мы сделаем то же самое с Web-сервером VNC на порте 59616. Следовательно, мы должны использовать редиректор данных на нашей локальной машине, который прослушивает 5900 порт и перенаправляет трафик на 80 TCP-порт машины-жертвы. Этого можно достичь, используя программу datapipe. (Подробное описание ее использования см. в лекции "Перенаправление портов" .) После того как datapipe выполнится с указанными параметрами, приложение vncviewer сможет работать на нашей машине. В результате трафик будет перенаправляться от нашей локальной машины на 80 порт машины жертвы, обходя, таким образом, брандмауэр.

Ниже приведена копия экрана с окном DOS, отображаемая через средства просмотра VNC. Обратите внимание, что выглядит это так, как если бы вы сидели перед консолью машины. На этом изображении Web-броузер удален с рисунка.

Теперь обсудим некоторые предупреждения против использования VNC в качестве черного хода в сеть. Первое касается того, как VNC сохраняет информацию о сессии, такую как пароль, в системном реестре. Если мы переместим сервер, который мы создали на атакующей машине, на машину-жертву, то нам потребуется, чтобы эта информация была на атакуемой машине. Следовательно, мы должны будем скопировать значения из реестра нашей машины на машину-жертву, чтобы сделать их доступными для нее. В Windows этого можно добиться с помощью утилиты regedit VNC, выбрав операцию File/Export для экспорта значений в текстовый файл. Далее показан результат.


Если вы немного осведомлены о том, как создавать командные файлы, то инсталляция VNC -сервера на атакуемой машине относительно не сложна. Создайте командный файл, как показано на следующей иллюстрации. Когда командный файл будет запущен на атакуемой машине, он добавит необходимые значения в системный реестр и загрузит через ftp VNC -сервер от вас на атакуемую машину. Но это лишь один из способов. Вы могли бы использовать распространенные программы для соединения или многие другие изощренные способы.


Другим шагом, направленным на то, чтобы сделать работу VNC более незаметной, является удаление значка, отображаемого в нижнем правом углу экрана на панели задач. Способ удаление этого значка не входит в круг задач, рассматриваемых в этой книге, но следует знать, что программный код, предназначенный для выполнения этой операции, доступен свободно. Следовательно, обладающий достаточным инструментарием и небольшими навыками программист сможет удалить этот значок с панели задач атакуемого компьютера.

Использовать VNC на машине под управлением Unix не сложнее, чем работа с Windows. Эта программа может быть запущена кем угодно, а не только пользователем с полномочиями root. Исходный код программы можно загрузить и скомпилировать для Unix-подобной операционной системы. После компиляции по команде vncserver можно запустить сервер. Конечно, чтобы это сделать, у взломщика должен быть доступ к командной строке атакуемой машины. Как только vncserver будет запущен, взломщик получит запрос на ввод пароля и затем увидит у себя на экране рабочий стол атакуемой машины. Окно VNC используется под Unix примерно так же, как и под Windows.

Во-первых, как и под Windows, взломщик может получить доступ к атакуемой машине через Web-броузер. Помните, что когда вы запускаете vncserver, вы должны ввести номер дисплея "display number". Вспомните номер дисплея и прибавьте к нему число 5800. Затем, используйте получившиеся число и соединитесь с атакуемой машиной примерно тем же способом, как мы это проделали для Windows-системы. Когда авторы запускали vncserver на атакуемой машине, мы упоминали о том, что использовали номер дисплея 3. Мы соединялись с портом 5803 на атакуемой машине.

Рабочий стол атакуемой машины, которым мы управляли с помощью VNC, выглядит несколько отлично от того, как это было для Windows, поскольку под управлением vncserver стартует псевдо-X-сервер. Пример атакуемой машины приведен на следующей иллюстрации.

После получения доступа к VNC на машине в атакуемой сети, вы вступаете на долгий путь поиска компромисса с другими машинами при условии, что в сети нет брандмауэров, разделяющих эти машины (как в случае, описанном в примере далее в этой лекции). Это дает вам возможность управлять (и посылать данные) машиной, с которой вы достигли компромисса.