Как работает Team Viewer

В текущей экономической ситуации мы все чаще обращаемся к средствам удаленного управления для доступа к рабочему месту сотрудника или заказчика. Еще не так давно, при словах «удаленный доступ» и «проброс портов» системные администраторы заметно грустнели. Сейчас уже не нужно искать совместимые продукты для подключения разных типов операционных систем, достаточно поставить Team Viewer (TV), элементарно запустить его, можно даже не устанавливать. Более того, в TV – можно еще и позвонить, увидеть собеседника, услышать его удивленный голос и вот ты уже «возишь» мышкой по чужому рабочему столу. Но как же он все-таки работает? Какие подводные камни тут могут грозить сисадминам? В статье я хочу рассмотреть принцип работы этого популярнейшего ПО, а также сравнить с аналогами – Anydesk, Ammyy Admin, Radmin, Google remote desktop, Dameware и Lite Manager.
Что мы знаем о Team Viewer
- Компания Team Viewer GMBH основана в Германии в 2005 году.
- Продукт имеет кросс-платформенный клиент, в том числе для Windows, Linux, MacOS, Android а также Chrome app плагин и даже решения для IoT enterprise — интернета вещей. Также существует веб-версия продукта для получения доступа с помощью веб-браузера (через регистрацию) для самых суровых политик безопасности. Веб-клиент требует Flash.
- Коммерческую версию можно запускать еще и на серверных операционных системах.
- Возможен видео, голосовой, текстовый чат между пользователями, сеанс зашифрован ключом AES-256, а передача ключей — RSA-4096.
- Team Viewer работает с установкой или без, то есть даже без прав на установку ПО. Программный продукт должен быть запущен на обеих машинах – системного администратора и пользователя.
О NAT
Думаю, на Хабре много говорить про NAT излишне. Кратко – механизм транслирует локальные IP-адреса сетей во внешние публичные и маршрутизируемые в интернете и наоборот. Работает на границе сети.
Однако, говоря о TV, важно вспомнить основы и кратко пересказать RFC-классификацию сетей NAT для понимания возможных вариантов установки соединения:
- Full cone NAT или NAT один-на–один – однозначная трансляция пар. Все пакеты с пары внутренний IP адрес: порт идут через пару внешний IP адрес: порт. Любой внешний хост может пересылать пакеты на внутренний адрес: порт через внешнюю пару IP адрес: порт, при условии, что это разрешено файерволом.
- Restricted Cone NAT – однажды инициированное изнутри соединение назначается («мапится») на внешнюю пару адрес: порт и в дальнейшем позволяет получать пакеты с любого порта этого публичного хоста. То есть порт значения не имеет, но внешний хост сможет отправить пакеты клиенту за NAT только, если ранее принял от него пакет. На какой порт принимаетcя ответный пакет — значения не имеет.
- Port-restricted Cone NAT – то же что и предыдущее, но включает в себя ограничение по портам, то есть внешний клиент сможет оправить пакет только на тот порт, с которого ранее получил пакет.
- Symmetric NAT или симметричный NAT – при таком соединении внутренний адрес: порт преобразуется в случайную свободную пару – внешний адрес: порт. Так как пара динамическая – даже если тот же самый внутренний хост отправил соединение с того же порта другому адресату, маппинг-пара динамически меняется. В итоге, внешний хост может только отправить пакет назад внутреннему хосту. Инициация соединения из публичной сети при этом невозможна.

О базовых принципах работы TV
Team Viewer – это одновременно и сервер, и клиент. Приложение TV использует сервера-посредники в интернете для keep-alive подключения. Тип VP-подключения выбирается и устанавливается TV самостоятельно.
Разработчики не раскрывают точный алгоритм, однако, по анализу лога в целом варианты такие:
- Соединение с двумя внешними IP, без NAT – простейший и общий случай установки VPN-соединения, для нас неинтересный.
- Соединение напрямую при наличии одного реального IP-адреса у одной из сторон. При этом не важно, у кого именно он присутствует, соединение может быть установлено и в обратном направлении, к инициатору, у которого этот адрес есть. Информация об IP передается через сервера-посредники TV. На выбор используется TCP либо UDP-протокол. Во втором случае используется технология UDP hole punching. Далее срабатывает главная магия – метод соединения, при котором оба клиента сообщают серверу TV свой уникальный идентификатор, внешний и внутренний адрес и порт подключения. Эти данные сервер TV хранит и далее передает информацию каждому из клиентов. Используя полученные сведения, каждый клиент пытается установить связь, используя допустимые файерволами, либо известные открытые порты и перенаправляет входящие пакеты каждой стороне. Знание сетевой топологии для подключения не требуется. Итак, каждый из клиентов устанавливает подключение на адрес и порт к серверу TV, на тот порт, что открыт на файерволе, пока не установится сессия. Таким образом, образуется дыра или «firewall pinhole» и клиент становится способен получить ответ от второго участника соединения.
- Соединяем ПК с «серыми» IP, когда оба участника под ограничениями за файерволом и роутером (NAT). Как описано выше, не все типы NAT позволяют подключение. Тут сервера TV также получают идентификаторы клиентов и устанавливают https-тунеллирование. Порты не открываются. Такое соединение – вебсерфинг по сути. Скорость при таком типе подключения минимальна, нагрузка ложится на внешние сервера TV. Эта штука работает даже через 4G-сети и любой hotspot с закрытыми портами.
Чем мы рискуем
Несмотря на огромное упрощение задач подключения, недостатки таких систем управления напрямую вытекают из их достоинств:
У TV есть версии quick support-поддержки, которые не требуют ни установки, ни прав администратора и стартуют даже с флешки. Достаточно передать человеку линк-ссылку на программу. Такую версию можно сгенерировать с заранее известным паролем и, хотя есть лимит на разовый сеанс в 5 минут, этого вполне достаточно, чтобы закрепиться и захватить контроль над ОС, либо получить секретные данные.
TV дал мощный толчок к развитию программ удаленного доступа и управления. Существуют десятки альтернатив – среди известных в нашей стране Anydesk, Ammyy Admin, Radmin, Google remote desktop, Dameware, Lite Manager. Хотя пандемия 2020 спровоцировала невероятное увеличение спроса, не все вендоры выросли так же значительно как TV, чтобы успеть озаботится проблемами безопасности.
Ammyy Admin. В 2016 году печально известен тем, что пережил атаку на свой сайт, в результате которой официальный дистрибутив ставился вместе с трояном Lurk. Хотя проблема давно исправлена, это помешало популярности продукта.
Anydesk. Нашумевший продукт и в России, и в мире, благодаря сфере около-банковского мошенничества и трейдинга. Известен случай обмана клиентов (фрода) в Reserve Bank of India в 2019. Anydesk предлагали поставить под видом чата для решения проблем. В 2018 неофициально модифицированные, замаскированные сборки Anydesk, используемые для киберпреступлений добавлены японцами из Trend Micro в качестве сигнатур вирусного ПО. С тех пор в разных антивирусах ПО может срабатывать как вирусное. По сути, Anydesk имеет даже технологические преимущества перед TV в виде более производительного видеокодека DeskRT, сжимающего трафик и выдающего 60 кадров/c против 30, а также более либеральную лицензию.
Chrome OS desktop – работает прямо из браузера, который к тому же можно запустить из виртуальной машины или контейнера. В качестве примера можно привести Google Chrome remote desktop в изолированной среде (технология application guard) для браузера Windows 10 Edge. При этом у приложения нет ни связи с основной ОС, ни доступа к дискам или буферу обмена, при закрытии окна контейнер полностью уничтожается.
Chrome OS desktop бесплатен и этим все сказано. Однако вы не сможете управлять мобильным устройством с ПК, равно как и настраивать телефон с телефона. В этом плане Chrome OS desktop значительно уступает TV.

Антивирусы по-прежнему классифицируют данные программы как riskware – потенциально опасные для предоставления удаленного доступа. Сообщество ИБ характеризует отдельную категорию преступников – technical support-скамеров. Это жулики, прикидывающиеся легитимной удаленной поддержкой крупных корпораций. Базовая схема строится на холодных звонках и социальной инженерии c целью добиться установки TV или аналога, далее их подходы изобретательны:
- установка кейлоггера;
- платное обновление «истекших лицензионных ключей»;
- убеждение жертвы в том, что ее атакуют хакеры при помощи запуска команд в cmd — netstat или рекурсии dir /s;
- скачивание или удаление конфиденциальных документов путем отвлечения внимания и требование выкупа;
- блокировка ОС установкой пароля на запуск;
- многое другое, выходящее за рамки этой статьи.
Самые действенные меры защиты подключений со стороны Team Viewer
- ПО защищено подписью Verisign.
- TV прошли сертификацию на соответствие стандарту ISO 27001.
- Введена запись сессии.
- Произошла смена протокола авторизации на SRP, в TV усилили ключи. Обмен ключами идет по RSA 4096 и сессия шифруется AES 256. TV уверяет, что «Man in the middle attack» невозможна.
- Реализована двухфакторная аутентификация для входа в запись.
- Введен лист блокировки для входящих подключений в том числе за пределами исходной сети.
- Уничтожена возможность неограниченного тестового доступа без авторизации (с 2016 года).
Несмотря на меры по защите предприятий, для администраторов такие средства управления как TV – это потеря контроля и огромная головная боль. Наряду с бронированными воротами шлюзов корпоративной безопасности, с авторизацией и контролем удаленных пользователей, они получают постоянно распахнутую калитку, через которую можно получить доступ ко всей интра-сети, не открывая портов, не авторизуясь и не оставляя логов VPN-сессий.
Ссылка на ПО может прийти откуда угодно и от кого угодно, достаточно иметь хоть какой то доступ в интернет и уже можно вести зашифрованный диалог и управлять ПК. А ведь еще есть BYOD (личные) устройства, которые приносят на работу, где TV или его аналог может быть даже установлен по умолчанию.
Да, есть DLP решения, способные детектировать запуск процессов и новомодные шлюзы – вроде Checkpoint или Palo Alto, анализирующие и блокирующие трафик не по портам, а по сигнатурам приложений, но ведь их нужно выявить и добавить. А сколько таких версий может быть!
Если же вы пользуетесь по необходимости подобным ПО можно прийти к своду рекомендаций, которые пишут сами разработчики.
TeamViewer host что это?
Программ для удалённого управления ПК множество, но особенно выделяется утилита TeamViewer. При помощи функционального приложения юзер может настраивать компьютер, общаться, создавать конференции, устраивать презентации и многое другое. Разработчики создали несколько модификаций программы: браузерную, портативную, мобильную и утилиту, с неконтролируемым соединением. Host TeamViewer – уникальное приложение, которое позволяет юзеру получить круглосуточный доступ к ПК.

Особенности и функциональность приложения
Утилита Хост Тимвивер идеально подойдёт для круглосуточной поддержки сервера, мониторинга и т.д. Приложение даёт возможность:
- Демонстрировать экран.
- Настраивать операционную систему компьютера.
- Управлять мобильным устройством.
- Устраивать презентации, и создавать конференции.
- Общаться с партнёром в текстовом или голосовом чате.
- Разговаривать через веб-камеру.
- Передавать документы и файлы.
Для защиты пользовательских данных выполняется шифровка подключения. Host TeamViewer инсталлируется на компьютер в качестве службы, поэтому управлять ПК можно сразу после его запуска.
Настройка приложения
Чаще всего, Хост Тиививер устанавливается на сервер либо компьютер, за которым нет оператора. Утилита позволяет совершать удалённое администрирование, но перед началом работы следует выполнить тонкие настройки хоста TeamViewer. Для этого пользователю необходимо:
- Установить программу.
- Найти значок TeamViewer в системной панели.
- Щёлкнуть на иконку правой клавишей мышки.
- Нажать на опцию «Настройки».

В открывшемся окне пользователь может настроить список контактов, добавить эмблему компании, изменить шрифт текста, установить подходящий цвет фона. Юзер может запланировать конференцию, и добавить информацию для автоматического подключения пользователей.
Неконтролируемый удалённый доступ с TeamViewer Host
TeamViewer – одна из самых популярных программ для удалённого доступа среди обывателей. Её некоммерческое использование бесплатно, она юзабильная и не заставляет заморачиваться при исследовании её возможностей. Но TeamViewer предлагает не только удобные решения для обывателей, это серьёзный проект с огромным потенциалом возможностей для продвинутых пользователей и профессионалов. Одна из таких возможностей – настройка неконтролируемого удалённого доступа в среде Windows с помощью программного модуля TeamViewer Host .
Как он работает?
1. Неконтролируемый удалённый доступ
Что такое неконтролируемый удалённый доступ? Это доступ, предусматривающий подключение с управляющего компьютера в любое время, когда включён удалённый компьютер и подключён к Интернету, без дачи согласия на подключение его пользователем. Такой неконтролируемый доступ на удалённом компьютере можно настроить с помощью обычной десктопной программы TeamViewer, это предусматривается в её настройках. Но для случаев, когда нужен только односторонний доступ, нет смысла перегружать удалённый компьютер лишними фоновыми нагрузками. Программный модуль TeamViewer Host – это урезанная версия обычной программы TeamViewer, реализующая одностороннюю связь. Версия более компактная, более легковесная. Её можно использовать как в обывательских, так и в профессиональных целях – как обслуживать серверы, так и просто оказывать компьютерную помощь близким, будучи на расстоянии.
Настроенный неконтролируемый доступ TeamViewer позволяет отслеживать активность удалённого компьютера в сети, работать с его локальным дисковым пространством в режиме передачи файлов, переписываться с удалённым пользователем в чате, использовать возможности по облачному резервному копированию (из числа платных функций) и т.п.

TeamViewer Host предназначена только для принятия входящих удалённых подключений. В рамках проведения сеанса подключения можно использовать функцию переключения управления между сторонами. Но доступна эта функция только в платной редакции программы.
Неконтролируемый доступ на удалённом устройстве настраивается единожды. Подключаться с управляющего устройства можно двумя способами – либо с помощью ID и постоянного пароля, либо посредством привязки удалённого компьютера к учётной записи TeamViewer пользователя-управленца.
2. Установка и настройка TeamViewer Host
Итак, устанавливаем TeamViewer Host на удалённое устройство. Программа первично предложит нам создать для подключения постоянный пароль. Создаём пароль. В графе «Имя компьютера» можем сменить имя устройства на более понятное нам.

Следующий этап – подключение учётной записи TeamViewer. Здесь либо отказываемся от неё, либо подключаем, либо создаём, если её нет.

При подключении учётной записи необходимо подтвердить, что данный удалённый компьютер является доверенным устройством. На почту, указанную для учётной записи, придёт письмо от TeamViewer со специальной ссылкой. Пройдя по ней, собственно, и добавим устройство в число доверенных. С этого момента к такому доверенному устройству можно будет получить доступ без ввода ID и пароля . Всё, что для этого потребуется – авторизоваться в своей учётной записи на любом управляющем устройстве (будь оно компьютерное или мобильное, напомним, TeamViewer является кроссплатформенным продуктом) .
Далее завершаем настройку TeamViewer.

Будучи урезанной версией обычной десктопной программы TeamViewer, TeamViewer Host являет собой небольшое окошко с отображением ID и разового пароля для сторонних подключений.

Программа по умолчанию загружается вместе с Windows и висит в фоне, никаких дополнительных действий не нужно. Разве что можно исследовать программные настройки на предмет корректировки опций видео- и аудиоконференции, указания данных прокси, качества изображения рабочего стола при подключении и т.п. Подключать учётную запись TeamViewer не обязательно сразу, это можно сделать в любое время позднее в программных настройках.

Вот, собственно, и весь процесс. Далее можем свободно подключаться с управляющего устройства – как упоминалось, либо посредством ID и пароля , либо в разделе соединений, с подвязкой TeamViewer к учётной записи.