Telnet какой протокол. Роутер ZyXEL, настраиваем Telnet-ом

Использование команды telnet предоставляет возможность установки канала связи с компьютерами на расстоянии. А сама утилита представляет собой практически своеобразный эмулятор браузера в терминале, поддерживающий несколько сетевых протоколов.

Раньше telnet часто использовался для того чтобы управлять ПК с операционной системой «Линукс». А сейчас с помощью этой же утилиты тестируют сеть, проверяют порты, управляют роутерами и другими IoT-устройствами.

Особенности утилиты

Несмотря на то, что главной задачей telnet является создание связи между удалёнными друг от друга ПК по одноимённому протоколу, с помощью утилиты можно управлять и другими сервисами. Например, получать доступ к POP3, HTTP, IRC или SMTP.

Ведь эти и некоторые другие сервисы работают на базе транспортного протокола TCP, для работы с которым можно пользоваться клиентом telnet. Хотя делать это не всегда рекомендуется из-за ряда нежелательных эффектов – например, незащищённости передачи данных или их искажения.

Рис. 1. Включение утилиты telnet в Windows.

Синтаксис команд telnet при подключении к удалённому компьютеру выглядит следующим образом: $ telnet (опции) (хост) (порт).

Хост представляет собой домен того компьютера, к которому проводится подключение. Порт – порт на том компьютере, с которого осуществляется доступ. А опции могут быть следующими:

  • -4 и -6 обеспечивают принудительное использование адресов ipv4 и ipv6, соответственно;
  • -8 даёт возможность использования 8-битной кодировки;
  • -Е отключает поддержку escape-последовательностей;
  • -a автоматически регистрирует пользователя в удалённой системе;
  • -d включает отладочный режим;
  • -p включает эмуляции rlogin;
  • -e устанавливает начальный управляющий символ;
  • -l авторизует пользователя в системе.

После того как соединение с удалённым хостом установлено утилита telnet начинает работу в одном из двух режимов – построчном или посимвольном.

Первый вариант наиболее предпочтительный из-за возможности редактирования текста прямо на локальном ПК и отправления его только после того, как пользователь полностью набрал всю информацию.

Недостатком такого построчного режима является отсутствие его поддержки некоторыми сервисами. В то время как посимвольный можно применять в любом случае. Однако при его использовании вся информация отправляется на удалённый ПК моментально.

И, если пользователь допустил ошибку, исправить её будет невозможно – ведь даже пробелы и Backspace отправляются на сервер в виде символов.

Основные команды

Работая с протоколом telnet, пользователь вводит в консоли соответствующие команды. К самым популярным относят следующие:

  • OPEN (название ПК) (порт). Позволяет обеспечить связь с компьютером, имя которого указано в команде. Если не указывать порт, утилита попытается использовать номер, выбранный по умолчанию. Иногда вместо имени ПК указывают его IP-адрес ;
  • DISPLAY (аргумент). Команда для отображения полного или частичного набора параметров утилиты telnet;
  • CLOSE. Предназначена для закрытия сессии «телнет» и возвращения системы в командный режим;
  • QUIT. Команда для завершения всех открытых соединений и выведения из telnet;


Рис. 2. Использование команды Quit в клиенте MS Telnet.

  • MODE TYPE. Используется для управления одним из двух вариантов режима ввода (посимвольным или построчным). При этом удалённому компьютеру отправляется запрос на переход в определённый режим, и, если он поддерживается сервисом, обеспечивается соответствующее переключение;
  • STATUS. Команда, с помощью которой отображается текущий статус утилиты, имя удалённого ПК и режим обмена;
  • ? (команда). Сообщает информацию о соответствующей командной последовательности. Нужна в тех случаях, когда пользователь собирается применить незнакомую ему команду;
  • ! (команда). Выполняет командную последовательность на локальной системе;
  • SEND ARGUMENTS. Посылает символьные аргументы удалённому ПК;
  • ESCAPE. Отправляет один из escape-знаков типа запятой, скобки или символа «карет» (^);
  • SYNCH. Служит для отправления synch-последовательности, позволяющей отменить все набранные, но ещё не отправленные команды. Используется только в построчном режиме;
  • BRK . Отправление break-последовательности при нажатии клавиши Break.

Все эти команды являются основными, хотя общее их количество намного больше. Однако из-за достаточно редкого применения этой утилиты полный их перечень проще всего найти, введя в терминале HELP .

А, после вывода на экран полного списка, получить справочную информацию о каждой командной последовательности с помощью команды «?». Хотя, например, для клиента telnet в Windows перечень может оказаться сокращённым.


Рис. 3. Список команд telnet в клиенте Microsoft.

Выводы

Необходимость воспользоваться командами утилиты telnet возникает в настоящее время всё реже. Однако знать некоторые из них стоит хотя бы для получения с их помощью доступа к сетевому оборудованию. Например, к коммутаторам , маршрутизаторам или даже к веб-камерам .

Таким образом, даже этот сравнительно устаревший и небезопасный протокол может оказаться полезным и для обычных пользователей и, тем более, для специалистов. Правда, для работы с ним потребуется не только знание списка команд, но и определённый опыт в работе с командной строкой.

  • Системное администрирование
  • Недавняя крупнейшая DDoS атака на DNS-серверы компании Dyn на Хабре . Особенностью этого блэкаута стала широкое применение http запросов c IoT устройств и открытый 23-й tcp порт, используемый службой telnet .


    Оказывается, телнет жив и хорошо устроился на встроенных системах и приманках. По злому-ли умыслу или человеческому недомыслию что это, глупость или измена? telnet порт был открыт и вовсю гадил у огромного количества IoT устройств, за несколько месяцев до блэкаута, но контр-мер не принимали, пока гром не грянул.

    Теоретический минимум

    Уязвимость CVE-2016-1000245 - это просто караул. На всех девайсах один и тот же рутовый пароль xc3511, который нельзя изменить так как на системе нет команды passwd . Служба telnet включена и из настроек никак не отключается, разве что удалить инит скрипт из /etc/init.d/rcS .


    /etc $ cat passwd root:absxcfbgXtb3o:0:0:root:/:/bin/sh /etc $ cat passwd- root:ab8nBoH3mb8.g:0:0::/root:/bin/sh
    All internet-capable XiongMai Technology boards running the DVR/NVR CMS (Also known as
    NetSurveillance) enable the telnet service to run on the primary ethernet interface. This service
    is run via /etc/rcS and cannot be disabled. The user "root" has a hardcoded and immutable
    password of xc3511. These systems do not have the "passwd" tool installed and the root
    password cannot be changed from command line nor from the web interface.

    Уязвимость CVE-2016-1000246 не уступает первой. Можно обойти ввод учетной записи и пароля, если зайти через http:///DVR.htm .


    Many known XiongMai DVRs, NVRs and IP Cameras run "CMS" (also called NetSurveillance) built by XM Technologies. This software is also used by all downstream vendors of XiongMai Technologies. The login page for these devices can be bypassed by simply changing the from http://_IP_/Login.htm to http://_IP_/DVR.htm . This allows you access to view all the camera systems without authentication. Furthermore, there is no logging on the system so user management is not possible. The web-server version on all affected products is the same; “uc-httpd”. All products currently affected by CVE-2016-1000245 are also vulnerable to the authentication bypass.

    Надеюсь, что в наших аэропортах не установлены эти самые XiongMai и Dahua .

    Итоги

    Телнет оказался очень живуч и даже спустя десятилетия после появления ssh не спешит покидать сцену. Он вполне пригоден, даже полезен, если его использовать по назначению - в пределах прямой видимости между клиентом и сервером. Дело, однако в том, что телнет вырвался на волю из серверной, как джин из бутылки и уже начал пошаливать. По чьей вине это случилось?


    С моего забора вижу так. Во-первых , основная вина на горе-производителях дырявых IoT устройств и встроенных систем. Все эти XiongMai и Dahua . С опозданием, но производитель отзывает из продажи IP-камеры . Однако, беглый обзор новостей показывает, что PR-отделы китайских компаний и сотрудники министерства коммерции не даром едят свой хлеб.


    Мне это отделение известно! Там кому попало выдают паспорта!

    Во-вторых , конечно виноваты регулирующие органы - те, кто их сертифицирует и дает положительное заключение. Из отчета Rapid7.


    These results all speak to a fundamental failure in modern internet engineering. Despite calls from the Internet Architecture Board, the Internet Engineering Task Force, and virtually every security company and security advocacy organization on Earth, compulsory encryption is not a default, standard feature in internet protocol design. Cleartext protocols “just work,” and security concerns are doggedly secondary.

    В-третьих , подрядчики и интеграторы, которые засадили весь мир этими CCTV камерами.
    Если не принять законодательные меры, регулирующие ИТ безопасность интернет-утюгов и видеокамер, то блэкауты станут все чаще и круче, как кайдзю.





    P. S. Пока набирал текст, возникло сильное желание - проверить домашний роутер nmap-ом и прочими инструментами. Проверил и успокоился, но видимо ненадолго.

    Использованные материалы

    1. W. Richard Stevens TCP/IP Illustrated, Volume 1, The Protocols, 1994.

    Теги:

    • linux
    • telnet
    • botnet
    • honeypot
    Добавить метки

    Одним из протоколов передачи данных по сети является Telnet. По умолчанию в Windows 7 для обеспечения большей безопасности он отключен. Давайте разберемся, как активировать в случае необходимости клиент данного протокола в указанной операционной системе.

    Telnet передает данные через текстовый интерфейс. Этот протокол является симметричным, то есть на обоих его концах расположены терминалы. С этим и связаны особенности активации клиента, о различных вариантах реализации которой мы поговорим ниже.

    Способ 1: Включение компонента Telnet

    Стандартным способом запуска клиента Telnet является активация соответствующего компонента Windows.

    1. Щелкайте «Пуск» и переходите в «Панель управления» .
    2. Далее переходите в раздел «Удаление программы» в блоке «Программы» .
    3. В левой области отобразившегося окна жмите «Включение или отключение компонентов…» .
    4. Откроется соответствующее окно. Нужно будет немного подождать, пока в него загрузится перечень компонентов.
    5. После того как компоненты будут загружены, найдите среди них элементы «Telnet-сервер» и «Клиент Telnet» . Как мы уже говорили, изучаемый протокол симметричен, а поэтому для корректной работы нужно активировать не только сам клиент, но и сервер. Поэтому устанавливайте галочки около обоих указанных выше пунктов. Далее жмите «OK» .
    6. Будет выполнена процедура изменения соответствующих функций.
    7. После этих действий служба Telnet будет установлена, а файл telnet.exe появится по следующему адресу:

      C:\Windows\System32

      Запустить его можно, как обычно, кликнув дважды по нему левой кнопкой мышки.

    8. После указанных действий откроется консоль клиента Telnet.

    Способ 2: «Командная строка»

    Запустить клиент Telnet можно также использовав возможности «Командной строки» .


    Но если сам компонент не активирован, то указанную процедуру можно проделать, не открывая окно включения компонентов, а непосредственно из «Командной строки» .


    К сожалению, данный способ может работать не во всех редакциях. Поэтому если у вас не получилось активировать компонент через «Командную строку» , то используйте стандартный метод, описанный в Способе 1 .

    Способ 3: «Диспетчер служб»

    Если вы уже активировали оба компонента Telnet, то необходимую службу можно запустить через «Диспетчер служб» .

    1. Переходим в «Панель управления» . Алгоритм выполнения данной задачи был описан в Способе 1 . Щелкаем «Система и безопасность» .
    2. Открываем раздел «Администрирование» .
    3. Среди отобразившихся наименований ищем «Службы» и кликаем по указанному элементу.

      Есть и более быстрый вариант запуска «Диспетчера служб» . Наберите Win+R и в открывшееся поле вбейте:

      Жмите «OK» .

    4. «Диспетчер служб» запущен. Нам требуется отыскать элемент под названием «Telnet» . Чтобы это было проще сделать, построим содержимое списка в алфавитной последовательности. Для этого жмем по названию столбца «Имя» . Отыскав нужный объект, щелкайте по нему.
    5. В активном окне в раскрывающемся списке вместо варианта «Отключена» выберите любой другой пункт. Можно выбрать позицию «Автоматически» , но в целях безопасности мы советуем остановиться на варианте «Вручную» . Далее жмите «Применить» и «OK» .
    6. После этого, вернувшись в основное окно «Диспетчера служб» , выделите название «Telnet» и в левой части интерфейса нажмите «Запустить» .
    7. Будет произведена процедура запуска выбранной службы.
    8. Теперь в столбце «Состояние» напротив наименования «Telnet» будет установлен статус «Работает» . После этого можете закрывать окно «Диспетчера служб» .

    Способ 4: «Редактор реестра»

    В некоторых случаях при открытии окна включения компонентов вы можете не обнаружить в нем элементов. Тогда для получения возможности запуска клиента Telnet необходимо произвести определенные изменения в системном реестре. Нужно помнить, что любые действия в данной области ОС потенциально опасные, а поэтому перед их проведением убедительно рекомендуем или .

    1. Наберите Win+R , в открывшуюся область вбейте:

      Нажмите «OK» .

    2. Откроется «Редактор реестра» . В левой его области щелкайте по названию раздела «HKEY_LOCAL_MACHINE» .
    3. Теперь заходите в папку «SYSTEM» .
    4. Далее переходите в каталог «CurrentControlSet» .
    5. Затем следует открыть директорию «Control» .
    6. Наконец, выделите наименование каталога «Windows» . При этом в правой части окна отобразятся различные параметры, содержащиеся в указанной директории. Найдите параметр DWORD под названием «CSDVersion» . Щелкайте по его наименованию.
    7. Откроется окно редактирования. В нем вместо значения «200» нужно установить «100» или «0» . После того как вы это сделаете, жмите «OK» .
    8. Как видим, значение параметра в основном окне изменилось. Закрывайте «Редактор реестра» стандартным способом, щелкнув по кнопке закрытия окна.
    9. Теперь нужно перезагрузить ПК для вступления изменений в силу. Закройте все окна и работающие программы, предварительно сохранив активные документы.
    10. После того как компьютер будет перезагружен, все изменения, внесенные в «Редакторе реестра» , вступят в силу. А это означает, что теперь вы сможете запустить клиент Telnet стандартным способом путем активации соответствующего компонента.

    Как видим, запуск клиента Telnet в Windows 7 не представляет собой ничего особенно сложного. Активировать его можно как через включение соответствующего компонента, так и через интерфейс «Командной строки» . Правда, последний способ не всегда работает. Крайне редко случается, что и через активацию компонентов невозможно выполнить задачу, ввиду отсутствия необходимых элементов. Но данную проблему можно тоже исправить, произведя редактирование реестра.

    Прогресс - явление, не знающее остановок. В области информационных технологий изменения происходят каждый день: появляются новые продукты, уходят в прошлое отжившие свое сервисы. Но есть инструменты, которые до сих пор пользуются популярностью несмотря на появившуюся альтернативу. Ярким примером является протокол Telnet. Что такое Telnet и как его использовать?

    Немного истории: когда и для чего появился Telnet?

    Telnet появился более 40 лет назад, вскоре после установки первого сервера ARPANET. Это один из наиболее старых протоколов сети Интернет. В эпоху, когда не было и в помине, а первые сети уже появились, необходимость в удаленном подключении к устройствам диктовала свои требования. Первое решение появившейся проблемы, как и все последующие, позволяло работать на удаленном устройстве как на своем. В интерфейсе стал доступен весь функционал, поддерживающийся Достаточно лишь получить необходимый уровень доступа и знать команды Telnet. Что такое и для чего нужен этот протокол мы разобрались. Но как на сегодняшний день реализуется подключение Telnet?

    Запуск терминала. Включение необходимых служб

    В современных операционных системах семейства Windows, перед тем как запустить Telnet, необходимо проверить, установлен ли данный компонент в системе. Сделать это несложно. Для Windows 7, самой распространённой на сегодняшней день операционной системы, необходимо выполнить приведенную ниже последовательность действий:

    1. Выбрать пункт "Панель Управления" или Control Panel в меню "Пуск" (Start).
    2. В открывшемся окне выбрать пункт "Программы". В английской версии системы это будет Programs.
    3. Переходим на вкладку "Включение или отключение компонентов Windows" (Turn Windows features on or off). Система составляет список всех доступных компонентов. Уже установленные будут отмечены флажками. Этот процесс может затянуться на несколько минут.
    4. После того как подгрузится список, необходимо найти пункт Telnet-клиент. В меню есть и Telnet-сервер, но к этому мы вернемся чуть позже. Если галочка напротив нужного нам пункта не стоит, ее нужно поставить.
    5. После нажатия кнопки "ОК" система начнет устанавливать необходимые составляющие для правильной работы протокола. На это может потребоваться некоторое время, но на современных компьютерах процесс вряд ли займет больше минуты. Таким образом, вопрос, как включить Telnet, был решен в 5 простых шагов.

    Служба Telnet: и клиент Telnet?

    Чуть выше уже упоминались оба понятия из заголовка. Как и у множества других приложений, в Telnet различают клиентскую и серверную части. Однако сервер Telnet - вовсе не обязательно сервер в общем понимании этого слова. Компьютер, с которого осуществляется подключение, принято считать клиентом, устройство, к которому осуществляется данное подключение, будет сервером. Это может быть маршрутизатор, компьютер, или любой другой хост, поддерживающий управление с командной строки. Если речь идет об удаленном администрировании персонального пользовательского компьютера или сервера, Telnet-порт должен быть открыт. Часто его закрывают в целях безопасности, поэтому при попытке установить сессию появится сообщение об ошибке. Для проверки открытых и закрытых портов можно использовать специальную утилиту либо веб-сервис. Стандартный Telnet порт - 23. Если вы хотите не только самостоятельно подключаться к другим компьютерам, но и разрешить администрирование вашего ПК посредством Telnet, то в той же оснастке операционной системы необходимо поставить галочку и напротив компонента сервера Telnet. Аналогичным образом должны быть настроены те ПК и серверное оборудование, которые вы администрируете.

    Программы для работы с Telnet

    После запуска всех необходимых служб Telnet можно смело начинать работу с помощью встроенного инструмента Windows - командной строки. Вызывается она из меню "Пуск", либо щелчком мыши по соответствующему пункту, либо быстрым набором (cmd). Желательно всегда запускать командную строку с правами пользователя "Администратор" (либо локальный, устройства на котором вы работаете, либо доменный). В этом случае вам не придется перезапускать приложение, если потребуется повышение прав. Помимо имеющегося инструмента самой операционной системы, существуют и сторонние программы, позволяющие осуществлять доступ по Telnet-протоколу. Самой популярной из них является Putty. Наряду с ней пользуются успехом и другие приложения, работающие под разными операционными системами, такие как TeraTerm, AnyConnect, DTelnet, EasyTerm, KoalaTerm и многие другие. Какой программой пользоваться, каждый решает сам, в зависимости от личных предпочтений, требований к интерфейсу и т. д. Существенных отличий в плане функциональности между ними нет, и быть не может. Каждая из утилит реализует весь доступный список команд Telnet.

    Telnet-команды: как разобраться?

    Опытному не составит труда в считаные минуты установить необходимые компоненты (если они не были проинсталлированы ранее), открыть Telnet-сессию и выполнить всю настройку удаленного хоста. Однако есть и новички, которые видят консоль чуть ли не в первый раз в жизни. Как узнать список доступных команд в Telnet? Что такое WONT AUTH или SET LOCALECHO? Все не так сложно, как кажется поначалу. Во-первых, всегда надо помнить о том, что в любом командном интерфейсе есть встроенная справка. Она бывает доступна по стандартным ключам, например, help или «?». Во-вторых, учитывая, насколько старый в сети можно найти бесконечное множество ресурсов с полезной информацией по синтаксису. Таким образом, переживать совершенно не о чем. А практика показывает, что с помощью нескольких строк команд результата добиться намного легче в большинстве случаев. И уже через несколько сессий вы с уверенностью будете набирать нужные команды без обращений к синтаксис-помощнику.

    Telnet на сетевых устройствах

    Мы уже говорили о том, что с помощью протокола Telnet можно управлять не только компьютерами, но и самыми различными сетевыми устройствами. Наиболее часто встречающийся класс таких устройств — это маршрутизаторы. Так что такое Telnet в роутере, для чего он нужен, как его включить?

    В зависимости от производителя и конкретной модели включить доступ по Telnet можно по-разному. Вы можете зайти на роутер по веб-интерфейсу либо через консоль. В первом случае вам нужно будет найти пункт удаленного администрирования, где разрешается тот или иной вид подключения (Telnet, ssh). Во втором случае доступ может быть предоставлен посредством командной строки. Каждый администратор выбирает удобный для себя сценарий. Однако встречаются маршрутизаторы, в которых реализован только один из двух возможных вариантов первоначального подключения, например, доступен лишь веб-интерфейс. Администратору, привыкшему к работе с консолью, будет достаточно некомфортно искать пункт, где нужно поставить заветную галочку, но в действительности ничего сложного в этом нет. Интерфейс большинства современных роутеров достаточно понятен. Названия пунктов меню говорят сами за себя, минималистический дизайн не позволит запутаться.

    Преимущества Telnet-сессий

    К этому моменту мы в достаточной мере ознакомились с технологией, чтобы поговорить о достоинствах и недостатках Telnet. Каким бы удачным ни был продукт, нельзя говорить о том, что он абсолютно лишен минусов. А если речь идет о службе, которая была выпущена в самом начале 70-х годов прошлого века, забывать об этом факте и вовсе не стоит.

    Из очевидных плюсов обязательно нужно отметить простоту, быстроту и удобство протокола. Меньше чем за минуту удобный клиент обратится к выбранному вами TCP-порту сервера и создаст эмуляцию локального терминала. Выше мы говорили о стандартном 23 рабочем порте. На самом деле и «прослушивать», и «разговаривать» по Telnet можно на любом порте. Именно в этом и заключается гибкость работы протокола.

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

    Недостатки Telnet-протокола

    Основной и часто приводимый недостаток Telnet - доступ к удаленному устройству осуществляется по незашифрованному каналу связи. Единственной преградой для злоумышленника служит аутентификация пользователя в момент открытия Telnet-сессии, то есть требование логина и пароля. Однако эти данные также передаются в незашифрованном виде. Поэтому, если кто-то задастся целью взломать доступ по Telnet, ему достаточно ненадолго запустить packet sniffer (программное обеспечение для «отлова» пакетов). Через какое-то время администратор откроет свою Telnet-сессию и сообщит удаленному серверу логин и пароль, которые тут же будут перехвачены злоумышленником в открытом виде. В этом разрезе альтернативой Telnet является SSH (защищенное соединение). Поэтому не рекомендуется использовать Telnet в сетях широкой доступности, например, вне вашей защищенной локальной сети офиса. Кроме того, следует помнить о том, что соединение с сервером может быть прервано.

    Заключение. Использовать или нет?

    Безусловно, за более чем четыре десятилетия появились и другие способы удаленного администрирования. Большой популярностью пользуется SSH. Казалось бы, Telnet должен был исчезнуть уже давно. Но он по-прежнему востребован, все так же используется. Если следовать определенным принципам безопасности, не забывая о том, что ваша локальная сеть должна быть надежно защищена от проникновения извне, использование Telnet не причинит вреда вашему оборудованию. При халатном отношении к безопасности не спасет ни SSH, ни любая другая технология.

    Telnet используется до сих пор в таких сферах, как подключение к базам данных, проверка доступности сетевых устройств (маршрутизаторов и коммутаторов), серверного оборудования и т. д.