Telnet протокол

Использование протоколов telnet, ssh

Telnet протокол

Протокол Telnet

Для чего предназначен

Схема работы

Недостатки, проблемы безопасности

Обзор и сравнительные таблицы telnet-клиентов и telnet-серверов

Протокол SSH

Для чего предназначен

Схема работы

Недостатки и достоинства

обзор и сравнительные таблицы SSH -клиентов

Для чего предназначен

Telnet (Teletype Network) — сетевой протокол для удалённого доступа к компьютеру с помощью командного интерпретатора. Аналогичное название имеют утилиты для работы с протоколом.

TELNET предлагает три услуги:

  1. Определяет сетевой виртуальный терминал (NVT – network virtual terminal), который обеспечивает стандартный интерфейс к удаленной системе.
  2. Включает механизм, который позволяет клиенту и серверу согласовать опции обмена
  3. Обеспечивает симметрию соединения, допуская любой программе (например FTP) выступать в качестве клиента

Схема работы

Протокол TELNET позволяет обслуживающей машине рассматривать все удаленные терминалы как стандартные “сетевые виртуальные терминалы” строчного типа, работающие в кодах ASCII, а также обеспечивает возможность согласования более сложных функций (например, локальный или удаленный эхо-контроль, страничный режим, высота и ширина экрана и т. д.). На прикладном уровне над TELNET находится либо программа поддержки реального терминала, либо прикладной процесс в обслуживающей машине, к которому осуществляется доступ с терминала. Формат NTV достаточно прост. Для данных используются 7-битовые ASCII коды. 8-битовые же октеты зарезервированы для командных последовательностей.

После того как TELNET связь установлена, начинаются переговоры об используемых опциях. Каждая из договаривающихся сторон может послать другой один из четырех запросов will, do, wont и dont.

Коды опций в Telnet

Код опции в TelnetОписаниеНомер RFC
0Двоичный обмен856
1Эхо857
2Повторное соединение NIC15391
3Подавление буферизации ввода858
4Диалог о размере сообщения NIC15393
5Статус859
6Временная метка860
7Удаленный доступ и отклик726
8Длина выходной строки nic20196
9Размер выходной страницы nic20197
10Режим вывода символов652
11Вывод горизонтальной табуляции653
12Установка положения табуляции при выводе654
13Режим вывода команды смены страницы655
14Вывод вертикальной табуляции656
15Определяет положение вертикальной табуляции657
16Режим вывода символа658
17Расширенный набор кодов ASCII698
18Возврат (logout)727
19Байт-макро735
20Терминал ввода данных732
21Supdup736
22Supdup вывод747
23Место отправления779
24Тип терминала930
25Конец записи885
26Tacacs- идентификация пользователя927
27Пометка вывода933
28Код положения терминала946
29Режим3270 1041
30X.3 PAD1053
31Размер окна1073

Значения переменных можно узнать с помощью команды display. Такими переменными могут быть: echo, escape, interrupt, quit, flushoutput, erase, kill, eof, echo. Последняя переменная (в исходном состоянии `E') в построчном режиме осуществляет переключение между локальным эхо на ввод символа (режим по умолчанию) и подавлением эхо, например при вводе пароля.

Переменные Telnet

Название переменнойНазначение
EchoОпределяет, будет ли отображаться на экране то, что вы вводите с клавиатуры. При значении off ввод не отображается, например, при вводе пароля.
EscapeЗадает символ, который используется в качестве escape. Появление этого символа во входном потоке заставляет его и последующие символы интерпретироваться в ЭВМ, где функционирует процесс telnet, как команда
InterruptСпецифицирует символ прерывания процесса. Ввод его приводит к остановке процесса пользователя, работающего на удаленной ЭВМ.
QuitСпецифицирует символ, который используется пользователем на его клавиатуре для выполнения команд brake или attention.
FlushoutputОпределяет символ, который служит для прерывания процедуры вывода на удаленной ЭВМ.
EOFСпецифицирует символ, который используется для обозначения конца файла на удаленной машине.

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

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

Запрос “Вы здесь?” (AYT) удобен, когда необходимо выяснить выполняется ли пользовательская задача или нет.

Операция стереть символ (EC) позволяет пользователю удалить символ из потока данных, применяется для редактирования текста на экране. Операция стереть строку (EL) позволяет пользователю при редактировании удалить целую строку.

Блок данных процедуры TELNET содержит три байта и называется командой. Формат этого блока показан на рисунке

Первый байт в соответствии с таблицей содержит 8 единиц, далее следует байт команды. Третий октет служит для размещения кода опции, он может и отсутствовать.

Недостатки, проблемы безопасности

Протокол telnet не использует шифрование и поэтому уязвим для атак при применении в интернете или локальной сети. Равную функциональность при большей защищённости обеспечивает сетевой протокол SSH.

TELNET -клиенты

Windows

  • z/Scope Express VT telnet клиент для Windows обеспечивающий базовые функции.
  • AbsoluteTelnet клиен поддерживающий все версии Windows, включает поддержку telnet, SSH1, и SSH2.
  • Hyperterminal Private Edition другой Windows telnet клиент, бесплатный для некомерческого использования.
  • TeraTerm бесплатный telnet/SSH клиент для Windows, который предлагает более расширенный функционал, чем встроенный telnet-клиент, а также поддержку SSH через плагин.
  • Втроенный клиент Windows, доступный через командную строку.

Macintosh

  • tn3270 бесплатный TELNET клиент для Macintosh разработанный для использования в мейнфреймах IBM которые используют TN3270 протокол.
  • Terminal это TELNET совместимая программа с интерфейсом командной строки, входящая в Macintosh OS X по умолчанию.
  • NiftyTelnet клиент для старых версий MacOS которая также поддерживает SSH.
  • dataComet клиент обладающий полным функционалом Telnet & SSH Macintosh.

Различные клиенты

  • PuTTY это бесплатный SSH, TELNET, rlogin, и raw TCP клиент для Windows, Linux, and Unix.
  • mTelnet это бесплатный полноэкранный клиент TELNET для Windows и OS/2. Легок в использовании.
  • Twisted Conch включает telnet клиент/сервер.
  • IVT бесплатный мультисеансовый клиент TELNET для Windows & DOS. Также поддерживает SSH и Kerberos (не бесплатно). Включает такие полезные функции как автоматический логин и поддержку сценариев.

Бесплатные с открытым исходным кодом.

  • dtelnet это бесплатный TELNET клиент для Windows.
  • Pueblo/UE это бесплатный TELNET клиент для Windows с поддержкой HTML.

TELNET-сервера

  • telnetd это TELNET демон написанный на Java.
  • Poor Woman's Telnet Server это самостоятельный TELNET сервер который базируется на telnetd.
  • Synchronet это сервер для Win32 и Linux BBS который также поддерживает http, nntp, pop3, ftp и другие протоколы.

Для чего предназначен

SSH (Secure Shell) — сетевой протокол, позволяющий производить удалённое управление компьютером и передачу файлов. Сходен по функциональности с протоколом Telnet и rlogin, однако использует алгоритмы шифрования передаваемой информации.

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

Кроме того, протокол позволяет не только использовать безопасный удалённый shell на машине, но и туннелировать графический интерфейс — X Tunnelling (только для Unix-подобных ОС или приложений, использующих графический интерфейс X Window System).

SSH также способен передавать через безопасный канал (Port Forwarding) любой другой сетевой протокол, обеспечивая (при надлежащем конфигурировании) возможность безопасной пересылки не только X-интерфейса, но и, например, звука.

Поддержка SSH реализована во всех UNIX системах, и на большинстве из них в числе стандартных утилит присутствуют клиент и сервер ssh. Существует множество реализаций SSH-клиентов и для не-UNIX ОС. Большую популярность протокол получил после широкого развития sniffer’ов, как альтернативное небезопасному телнету решение для управления важными узлами.

На данный момент известно две ветки версий — 1 и 2. Однако ветка 1 остановлена, так как в конце 90-x в ней было найдено много уязвимостей, некоторые из которых до сих пор накладывают серьёзные ограничения на её использование, поэтому перспективной, развивающейся и наиболее безопасной является версия 2.

Недостатки и достоинства

SSH защищает от:

  • “IP spoofing'а”[ip-подмены], когда удаленный[атакующий] компьютер высылает свои пакеты симулируя якобы они пришли с другого компьютера, с которого разрешен доступ. Ssh защищает от подмены даже в локальной сети, когда кто-то например, решил подменить маршрутизатор наружу “собой”.
  • “IP source routing”[ip исходный маршрутизатор], когда компьютер может симулировать что IP-пакеты приходят от другого, разрешенного компьютера.
  • “DNS spoofing”, когда атакующий фальсифицирует записи “name server'а”
  • Прослушивания нешифрованных паролей и других данных промежуточными компьютерами.
  • Манипуляций над вашими данными людьми управляющими промежуточными компьютерами.
  • Атак основанных на прослушивании “X authentication data” и подлога соединения к X11 серверу.

Другими словами, ssh никогда не доверяет сети; какой-либо “противник” имеющий _определенный_ доступ к сети может лишь _насильно_ разорвать установленное ssh соединение, но никак не расшифровать его, похитить или “обыграть”. Все вышесказанное ВЕРНО лишь при использовании шифрования. Однако Ssh имеет опцию шифрования “none”, которая необходима лишь для отладки и ни в коем случае не должна быть использована для обычной работы.

Ssh не поможет в случае нарушения безопасности локальной машины другими методами.

Например, если хакер взломал компьютер или получил привелигированный-root доступ ИЗНУТРИ, что позволит ему изменить на свой лад и работу ssh тоже.

Если какой-либо недоброжелатель имеет доступ в домашнюю директорию пользователей, то безопасность так же под вопросом, одной из частых тому причин является, например экспортирование домашней директории по NFS.

обзор и сравнительные таблицы SSH -клиентов

Поддержка операционных систем

Поддержка технологий и протоколов

Источник: http://nknaromanova.narod.ru/telnet_ssh.htm

Свобода Telnet

Telnet протокол

15.04.2001 Дуглас Тумбс

Все базы заняты, начинается седьмая подача, а счет равный. Идет один из тех захватывающих бейсбольных матчей, которые хочется непременно, во что бы то ни стало, досмотреть до конца. Если, конечно, на пейджер не придет сообщение о неполадках в офисной сети.

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

Однако, когда я нахожусь не в офисе, у меня просто нет под рукой средств дистанционного управления и соединения с Internet.

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

Telnet

Telnet – протокол на базе TCP/IP, появившийся в эпоху IBM и ставший важнейшей частью большинства систем UNIX.

В те времена, когда графической среды пользователя еще не существовало, в системах UNIX, как и в системах DOS, использовалась командная строка.

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

Чтобы понять, как работает Telnet, можно представить себе пользователя, который сидит за клавиатурой DOS-компьютера и вводит команды, отображаемые на экране. Такая организация взаимодействия с машиной равноценна доступу с консоли.

Если пользователь, сидящий за другими экраном и клавиатурой, может обратиться к данному компьютеру через сеть и запустить свой сеанс DOS, то этот сеанс будет равноценен доступу к системе по Telnet.

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

В игру вступает Microsoft

Telnet появился на заре сетевых технологий, но в течение ряда лет Microsoft не использовала в Windows инструментарий на базе UNIX.

Разработчики проектировали системы Windows, полагая, что пользователи будут управлять ими через графический интерфейс Microsoft.

Со временем стало очевидно, что многие администраторы нуждаются в системах из командной строки и средствах удаленного управления системами. Такую возможность как раз обеспечивает сервер Telnet, входящий в состав Windows 2000 Server и Windows 2000 Professional.

Установка и конфигурирование Telnet

Сервер Telnet позволяет организовать два соединения с любой системой Windows 2000. Если требуется больше двух соединений, нужно купить пакет Microsoft Services for UNIX-SFU.

Когда администратор устанавливает соединение с сервером Telnet и регистрируется, сервер предоставляет ему командную строку на целевой машине.

В ответ на приглашение можно вводить команды системы Windows 2000, управляя компьютером на расстоянии.

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

Запустить службу Telnet можно с помощью меню StartProg-ramsAdministrative ToolsComputer Ma-nagement. В левой панели окна Computer Management, показанном на Экране 1, нужно развернуть поддерево Services and Applications, выбрать Servi-ces, а затем выделить Telnet в правом подокне.

Чтобы настроить службу Tel-net для запуска при загрузке сервера, следует изменить тип запуска с ручного на автоматический.

Экран 1. Запуск службы Telnet.

Чтобы убедиться в работоспособности Telnet после активизации службы, нужно ввести в командной строке

telnet localhost

Если служба Telnet настроена правильно, то на экране появится запрос команды или приглашение для аутентификации.

Стой! Кто идет?

Telnet – протокол изначально незащищенный. По умолчанию, сетевая аутентификация Telnet производится в чисто текстовом режиме. Это значит, что каждый, кто следит за сетью во время регистрации пользователя на сервере Telnet, может узнать его имя и пароль. Это может привести к серьезным последствиям – особенно если регистрируется пользователь с именем Administrator.

Чтобы устранить этот недостаток, разработчики Microsoft внесли изменения в версию Telnet в составе Windows 2000. Сервер Telnet в составе Windows 2000 может выполнять аутентификацию не только в текстовом режиме, но и в режиме NT LAN Manager (NTLM). NTLM шифрует имена пользователей и пароли, передаваемые через сеть, чтобы их нельзя было раскрыть.

Однако здесь есть одна тонкость. Чтобы использовать NTLM для аутентификации на сервере Telnet, необходим NTLM-совместимый клиент Telnet. Единственный клиент, обеспечивающий NTLM-аутентификацию, – это клиент Telnet фирмы Microsoft.

Поэтому, если предполагается обращаться к машинам с клиента Telnet Windows 2000, службу Telnet можно защитить, ограничив возможности аутентификации лишь режимом NTLM.

Но если организовывать сеансы Telnet с NTLM-несовместимых клиентов, придется понизить уровень безопасности.

Экран 2. Программа управления для настройки Telnet.

Чтобы изменить параметры аутентификации для службы Telnet, следует запустить из командной строки программу администрирования Telnet, tlntadmn.exe.

Из главного меню программы администрирования, показанного на Экране 2, нужно выбрать функцию Display/change registry settings (отобразить/изменить параметры реестра) и изменить параметры службы Telnet.

В результате на экране появляется меню, в котором следует выбрать пункт NTLM, чтобы изменить параметры аутентификации. В ответ на приглашение нужно ввести значение для аутентификации NTLM. Можно выбрать значения 0, 1 или 2.

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

Если нужно, чтобы служба Telnet попробовала NTLM, но затем вернулась к чисто текстовой аутентификации, следует выбрать значение 1. Данный режим стоит использовать, если к серверу будут подключаться клиенты, отличные от Windows 2000. Если планируется работать только в режиме NTLM (и, следовательно, только с клиентами Windows 2000 Telnet), следует выбрать значение 2, которое запрещает службе Telnet использовать чисто текстовую аутентификацию.

Защита службы Telnet

Прежде чем развернуть службу Telnet, следует изучить различные виды клиентов Telnet; почти каждая современная TCP/IP-совместимая система Windows, UNIX и Macintosh располагает клиентом Telnet.

Если система подключена к Internet, многие клиенты могут попытаться установить соединение с ней.

Если NTLM-аутентификация не обеспечивает достаточной безопасности, следует подумать о дополнительных мерах защиты.

Во-первых, необходимо защитить системы с помощью брандмауэра. Это позволит назначать правила, определяющие, кто может соединяться со службой Telnet, в какое время суток устанавливать соединение и с каких IP-адресов. Во-вторых, Telnet использует порт 23.

Если перевести ее на другой порт, то возможность удаленного администрирования сохранится, но получить доступ по Telnet к системам будет труднее.

Чтобы изменить порт службы Telnet, нужно запустить программу tlntadm, выбрать пункт Display/change registry settings, а затем пункт Telnet Port.

Конец седьмой подачи

Так как же успеть вернуться на бейсбольный матч до конца седьмой подачи? Очень просто: использовать миниатюрный беспроводный ПК (PDA) с установленным на нем клиентом Telnet. Как выяснилось, неполадки в сети были связаны с блокировкой службы спулинга. После перезапуска службы проблема была устранена, и мне не пришлось отходить от своего места на трибуне дальше чем на 30 м.

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

Поскольку Telnet – универсальный протокол, он имеется почти на всех системах, даже на общедоступных Internet-терминалах в Internet-кафе и библиотеках.

Так как для Telnet не требуется канала с большой пропускной способностью, его можно рекомендовать как превосходный инструмент дистанционного администрирования.

Пять простых административных функций

Несмотря на большой выбор средств управления с графическим интерфейсом, которыми располагают операционные системы Microsoft, разработчики усовершенствовали функции командной строки Windows 2000. Например, из командной строки можно выполнить следующие типичные административные операции.

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

net user

указав новое имя и пароль пользователя. Если соединение устанавливается с автономным сервером, то команда меняет пароль в базе данных локальных учетных записей сервера.

Если соединение установлено с контроллером домена (DC) Active Directory (AD), то команда изменяет пароль пользователя в домене AD.

Чтобы изменить пароль для учетной записи домена, необходимо указать параметр /DOMAIN и имя домена.

Удаление задания на печать. Обычно принтеры не могут печатать по двум причинам (если только в принтере достаточно бумаги): задание на печать зависло или служба спулинга блокировала систему. Зная номер задания печати, зависшее задание можно освободить. Чтобы получить список заданий в очереди на печать, следует ввести с любой машины в домене следующую команду:

net print

Данная команда выдает список заданий на печать в конкретной очереди. Обнаружив очередь с заданием, которое нужно освободить, нужно ввести в командной строке следующее:

net print /RELEASE

Данная команда освободит задание с указанным номером. Если команда /RELEASE не освобождает зависшее задание, можно попробовать команду /DELETE. Освобождая и уничтожая задания в очереди, следует подождать результатов операции примерно минуту.

Перезапуск зависшей службы. Службы Windows 2000 зависают по разным причинам. Чтобы выяснить их, лучше всего исследовать службу, но иногда в первую очередь необходимо вновь запустить ее.

Чтобы остановить и запустить службу Windows 2000 Server, нужно выдать команду Net Start в сеансе Telnet с сервером, на котором она зависла.

Если ввести команду Net Start без параметров, то система выдаст список всех служб, запущенных на системе; просмотрев этот список, можно выяснить, функционируют ли в сети основные службы. Для перезапуска отказавшей службы следует ввести команду Net Start с именем службы:

net start

При этом необходимо использовать сокращенное имя (например, W3SVC вместо Web Publishing Service или SPOOLER вместо Print Spooler). Краткие имена всех служб системы указаны в свойствах каждой службы. Рекомендуется составить список важнейших служб предприятия и хранить его в PDA.

Остановить службу можно с помощью команды Net Stop. Синтаксис данной команды напоминает синтаксис команды Net Start:

net stop

Чтобы остановить службу и запустить ее вновь, следует воспользоваться кратким именем службы и командой Net Stop, а затем ввести команду Net Start.

Изменение списка управления доступом (ACL) к файлу или каталогу. В процессе администрирования сети приходится предоставлять и запрещать доступ пользователей к файлам.

Обычно для этого изменяют разрешения на доступ к файлам с использованием графических утилит. Но то же самое можно сделать и с помощью утилиты командной строки – cacls.exe.

Установив через Telnet соединение с сервером, на котором нужно изменить полномочия, следует использовать следующий синтаксис:

cacls /T /E /G:permissions

Параметры в конце команды определяют, каким образом назначаются полномочия для доступа к файлам системы. Например, ключ /T указывает на необходимость применить команду к файлам в текущем каталоге и во всех подкаталогах.

Ключ /E указывает, что нужно не заменить, а отредактировать существующие списки ACL для файла или каталога. Ключ /G указывает на назначаемые полномочия: R – Read (чтение), W – Write (запись), C – Chan-ge (изменение), и F – Full Control (полный доступ).

Существует и множество других параметров Cacls; более подробную информацию о них можно получить, если ввести команду Cacls /?.

Перезапуск сервера. Иногда бывает необходимо перезапустить сервер.

Однако дистанционно этого лучше не делать: если во время перезагрузки машины возникнет проблема, то, вероятно, ее не удастся решить без физического вмешательства.

Если же перезагрузить компьютер все же необходимо, удаленно перезагрузить сервер через соединение Telnet следует с помощью утилиты shutdown.exe из комплекта ресурсов Microsoft Windows 2000 Resource Kit.

Финишная прямая

Telnet – превосходный инструмент для дистанционного управления системами Windows 2000.

Из командной строки всех проблем не решить, но с помощью команд Windows 2000 можно выполнять многие административные задачи.

Администраторам, нуждающимся в удобном средстве дистанционного администрирования систем – даже в разгар бейсбольного матча, – безусловно следует обратить внимание на службу Telnet.

Дуглас Тумбс – внештатный редактор журнала Windows NT Magazine. Имеет сертификаты MCSE, Compaq ASE и Novell CNA. С ним можно связаться по адресу: doug@netarchitect.com.

Поделитесь материалом с коллегами и друзьями

Источник: https://www.osp.ru/winitpro/2001/04/174784

Телнет и ботнет

Telnet протокол

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

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

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

Телнет появился в конце 1960-х, а первый стандарт с tcp/ip и виртуальным терминалом относится к 1983 г. Естественно, что в момент создания никого не заботил тот факт, что данные передаются в простом текстовом формате. Сетевой протокол tcp/ip в то время еще только созревал в ARPANET.

Telnet was designed to work between any host (i.e., any operating system) and any terminal. Its specification in RFC 854 [Postel and Reynolds 1983a] defines the lowest common denominator terminal, called the network virtual terminal (NVT). The NVT is an imaginary device from which both ends of the connection, the client and server, map their real terminal to and from. That is, the client operating system must map whatever type of terminal the user is on to the NVT. The server must then map the NVT into whatever terminal type the server supports.

Как и многие популярные протоколы сети интернет, он тоже прост до архаичности и непотопляем в силу своей простоты. И точно так же часто используется не по назначению.

(5:574)$ grep -w telnet /etc/servicestelnet 23/tcp # Telnettelnet 23/udp

Любопытный факт, оказывается есть такая штука как telnets, но что это за чудо, сказать не могу. Даже поисковики удивились.

(5:575)$ grep -w telnets /etc/servicestelnets 992/tcp # telnet protocol over TLS/SSLtelnets 992/udp

Вот весь нехитрый список команд:

EOF 236 end-of-fileSUSP 237 suspend current process (job control)ABORT 238 abort processEOR 239 end of recordSE 240 suboption endNOP 241 no operationDM 242 data markBRK 243 breakIP 244 interrupt processAO 245 abort outputAYT 246 are you there?EC 247 escape characterEL 248 erase lineGA 249 go aheadSB 250 suboption beginWILL 251 option negotiation WONT 252 option negotiationIX) 253 option negotiationDONT 254 option negotiationIAC 255 data byte 255

Телнет поддерживает полу-дуплексный, по-символьный и по-строчный режимы ввода, по умолчанию программа использует последний. Из ман страницы.

Once a connection has been opened, telnet will attempt to enable the TELNET LINEMODE option. If this fails, telnet will revert to one of two input modes: either ‘‘character at a time’’ or ‘‘old line by line’’ depending on what the remote system supports.

Используется внутриполосная сигнализация — команды и данные передаются в одном потоке.

Телнет honeypot

В прошлом году специалисты крупного чешского DNS провайдера NIC.CZ, выкатили приманку — honeypot и стали наблюдать за трафиком.

Оказалось, что telnet трафик на три порядка превышает трафик по ssh. На вертикальной шкале графика количество попыток входа в систему для telnet и поданных команд для ssh. Шкала логарифмическая. Кликабельно.

Число уникальных IP.

География стран, кликабельно. Обратите внимание на совпадение с результатом Shodan, ниже по тексту.

Платформа основных устройств, кликабельно.

На первом месте RomPager/4.07 HTTP server — дырявый встроенный веб сервер, часто используемый в домашних роутерах. Таких, по словам аналитиков из Allegro Software Development, может быть 75 миллионов. На втором месте популярный тулкит gSOAP/2.7, а бронзовая медаль досталась H264DVR 1.0 — RTSP (Real Time Streaming Protocol) серверу видеорегистратора.

Собственно, CCTV камеры обозначены неблагозвучным Dahua Rtsp Server и также имеют проблемы с безопасностью. С мая 2016 г. эти устройства резко повысили свою активность, временами было зарегистрировано 8 тыс. уникальных IP адресов за сутки.

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

Обработав данные с более чем 6 миллионов уникальных IP адресов, чешские аналитики четко выявили тенденцию: встроенные системы наиболее уязвимы, особенно CCTV видеокамеры, которые зачастую вырождаются в монокультуру с одинаковым оборудованием, начинкой, списком уязвимостей. Первый звоночек прозвучал тихо и его не услышали.

Огласите весь список

Эксперты компании Rapid7, используя инфраструктуру своего Project Sonar, провели глобальное сканировaние портов по всему миру, проверив основные tcp порты IPv4 диапазона. Исследование оказалось довольно подробным и интересным.

  • 15 миллионов хостов с открытым telnet портом. (Карл!)
  • 11 миллионов хостов с открытым доступом к RDBMS
  • 4.5 миллионов хостов с открытым доступом к сервисам печати.

Вот как распределилась первая десятка tcp/ip протоколов, по величине.

Port Protocol Number Percent80 HTTP 76,266,507 19.89%443 HTTPS 50,507,072 13.17%22 SSH 21,692,582 5.66%21 FTP 20,375,533 5.31%25 SMTP 19,888,484 5.19%8080 http-alt0 17,477,357 4.56%23 telnet 14,871,682 3.88%53 DNS 12,602,272 3.29%143 IMAP 11,467,158 2.99%110 POP3 11,073,439 2.89%

Вся тридцатка протоколов в таблице..

Седьмое место в общем зачете, кто бы мог ожидать? А если объединить все http* в одну категорию, то телнет и вовсе будет на пятом месте! Как видите отставание от ssh совсем небольшое. Это был второй звоночек, но и его никто не услышал.

That said, the fact that we cannot seem to stomp out telnet in production completely is both frustrating and worrying. According to our scans, there are over 14 million devices that appear to be offering telnet services on the internet today.

100500 уязвимых CCTV видеокамер

Специалисты из Flashpoint по следам ботнета Mirai прошерстили интернет на предмет обнаружение интересных свойств CCTV видеокамер XiongMai Technologies и Dahua. Как любит говорить Михаил Задорнов «держитесь за стул, иначе вы упадете».

По данным на 6.10.2016 более 515 тыс. устройств с веб сервером uc-httpd 1.0.0.0 подвержены одновременно CVE-2016-1000245 и CVE-2016-1000246.

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

/etc $ cat passwdroot:absxcgXtb3o: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-отделы китайских компаний и сотрудники министерства коммерции не даром едят свой хлеб.

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

Во-вторых, конечно виноваты регулирующие органы — те, кто их сертифицирует и дает положительное заключение. Из отчета 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.[2]

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

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

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

  1. ↑ Из романа М. Булгакова «Мастер и Маргарита».
  2. ↑ Результаты говорят сами за себя. Несмотря на все призывы IAB, IETF и практически всех экспертов по безопасности, обязательное шифрование еще не стало нормой при разработке интернет стандартов. Обычный текст, «просто работает» и из-за этого игнорируются требования безопасности.
  • linux
  • telnet
  • botnet
  • honeypot

Хабы:

  • Системное администрирование
  • IT-инфраструктура
  • *nix

Источник: https://habr.com/ru/post/315266/

Инструкция: Как пользоваться TELNET – Илья Подгорнов

Telnet протокол

Для установки удаленного подключения по терминальному каналу связи используют утилиту Telnet. Инструмент применялся системными администраторами в повседневной работе, но на конец 2019 года почти не используется. Расскажем подробнее, что это за утилита и как она работает в семействе ОС Linux.

Что такое TELNET?

Telnet – это протокол, который используется для терминального соединения с оборудованием. Он «родился» в 60-х годах прошлого века. В то время не было Интернета, а его «дедушка» – Arpanet – еще использовался в военной сфере. 

При появлении глобальной сети и серверных платформ telnet начал использоваться для удаленного подключения к серверам Linux. Недостатком такого решения являлось отсутствие безопасности. Он передавал текстовые данные в прямом виде, без шифрования.

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

Для чего применяется Telnet?

Как говорилось выше, для удаленного подключения к серверам используется протокол SSH. Функционал Telnet огромен – по сути, его сравнивают с браузером в консольном режиме. 

При работе с утилитой обращаем внимание на принципы работы с текстом. В утилите доступно два режима:

  • В первом варианте команды передаются построчно, т.е. администратор вводит команду, и только после подтверждения она передается серверу. В случае какой-либо синтаксической ошибки она легко исправляется до момента отправки.
  • Второй вариант – посимвольный. Каждое нажатие клавиши моментально транслируется удаленному хосту. Если допущена ошибка, то исправить ее не получится. 

Поэтому рекомендуется использовать ввод команд построчно.

Протокол используют как вспомогательную утилиту: например, для проверки доступности хоста, сокета и т.д. Рассмотрим основные возможности утилиты в подробностях.

Предварительная подготовка

По умолчанию пакет недоступен в операционной системе. Проинсталлируем его из официального репозитория.

Важно! Установка и дальнейшие операции с Telnet производятся на платформе под управление Ubuntu 18.10.

Открываем терминал и вводим:

sudo apt-get install telnet

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

Доступность точки

Первая опция – замена команды ping, которая направляет запросы до конечной точки и присылает ответы, отмеряя время.

Синтаксис следующий: telnet , где вместо пользователь указывает доменное имя либо IP-адрес хоста. Например, 

telnet 192.168.1.15

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

Проверка сокета

Второй вариант – проверка статуса порта. Синтаксис выглядит следующим образом:

telnet localhost

Набрав в терминале telnet localhost 22, в ответ получим приветственное сообщение от SSH сервера.

Пример использования утилиты

Режим «отладка»

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

sudo telnet –d localhost 22

Теперь во время работы утилиты с портом 22 на экране будет выводиться подробная информация о каждом действии.

Режим рекомендован для ситуаций, когда возникает какая-либо ошибка. Отладка в таких случаях – незаменимый инструмент.

Режим «Тестирование»

Другой не менее популярный вариант – тестирование веб-ресурсов. Чем удобен такой режим? Клиентская машина обрабатывает только текст, без загрузки графики. Например, введём в терминале:

telnet opennet.ru 80

Утилита отправит запрос сайту opennet.ru на порт под номером 80. Далее вводим ключ: GET / для показа кода страницы.

Результат представится в виде текстового сообщения с «кракозябрами», поскольку утилита не работает с русскими шрифтами.

Пример обращения к сайту

Удаленное подключение

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

Важно! Для соединения на клиентской платформе должна быть установлена и активна серверная часть telnet. В противном случае в доступе будет отказано. 

Наберём в командной строке:

telnet localhost 23

Если соединение установится, необходимо ввести учетное имя и пароль для дальнейшей работы с конечным устройством.

Консольный режим

Вышеуказанные способы предлагали использование утилиты как средства обработки информации и удаленного подключения.  Если необходимо зайти в консоль telnet, то набираем имя без каких-либо ключей в терминале.

Для просмотра доступных команд через терминал вводим ключ «?».

Перечень функций

Важно! Режим доступен при любом удаленном подключении через telnet.

Для выхода из консоли вводим exit.

Рекомендации

Перечислим принципы работы с утилитой.

  1. Никогда не использовать telnet для удаленного подключения, кроме экстренных случаев. Как уже говорилось выше, это связано с тем, что данные передаются в открытом виде. Соответственно, злоумышленник может легко перехватить трафик и узнать учетные данные для подключения.
  2. Для удаленного подключения использовать современную версия протокола SSH (на конец 2019 года – это SSH2). Он использует шифрование и не подвержен взлому.
  3. Деактивировать сервис на всех устройствах. Такой подход гарантирует, что злоумышленник не получит удаленный доступ к сетевому оборудованию.
  4. Используем telnet в режимах отладки внутри локальной сети без доступа к внешним ресурсам.
  5. Утилита рекомендуется для ручной проверки работоспособности протокола на определенном порте.

Советы обезопасят пользователя от сетевых атак и взлома через открытый протокол telnet.

Заключение

Публикация рассказала об одной из утилит, которая работает с протоколом Telnet. Перечислены способы реализации команд в информационных системах, а также приведены рекомендации по работе с утилитой.

Источник: https://Tehnichka.pro/telnet-on-linux/

Все лайфхаки
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: