Домой / Faq / Методы подключения к удаленным устройствам при помощи команды telnet. Команда "telnet" как средство удаленной связи

Методы подключения к удаленным устройствам при помощи команды telnet. Команда "telnet" как средство удаленной связи

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

Эта утилита очень часто использовалась раньше, для удаленного управления компьютером с Linux, но потом ей на замену пришел защищенный протокол SSH. Но telnet все еще используется, например, для тестирования сети, проверки портов, а также для взаимодействия с различными IoT устройствами и роутерами. В этой статье мы рассмотрим что такое telnet, а также как пользоваться telnet для решения своих задач.

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

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

$ telnet опции хост порт

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

  • -4 - принудительно использовать адреса ipv4;
  • -6 - принудительно использовать адреса ipv6;
  • -8 - использовать 8-битную кодировку, например, Unicode;
  • -E - отключить поддержку Escape последовательностей;
  • -a - автоматический вход, берет имя пользователя из переменной окружения USER;
  • -b - использовать локальный сокет;
  • -d - включить режим отладки;
  • - режим эмуляции rlogin;
  • -e - задать символ начала Escape последовательности;
  • -l - пользователь для авторизации на удаленной машине.

Это все, что касается команды telnet для установки соединения. Но соединение с удаленным хостом, это только полдела. После установки подключения telnet может работать в двух режимах:

  • Построчный - это предпочтительный режим, здесь строка текста редактируется на локальном компьютере и отправляется только тогда, когда она будет полностью готова. На такая возможность есть не всегда и не у всех сервисов;
  • Посимвольный - все набираемые вами символы отправляются на удаленный сервер. Тут будет сложно что-либо исправить, если вы допустили ошибку, потому что Backspace тоже будет отправляться в виде символа и стрелки движения тоже.

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

  • CLOSE - закрыть соединение с сервером;
  • ENCRYPT - шифровать все передаваемые данные;
  • LOGOUT - выйти и закрыть соединение;
  • MODE - переключить режим, со строчного на символьный или с символьного на строчный;
  • STATUS - посмотреть статус соединения;
  • SEND - отправить один из специальных символов telnet;
  • SET - установить значение параметра;
  • OPEN - установить подключение через telnet с удаленным узлом;
  • DISPLAY - отобразить используемые спецсимволы;
  • SLC - изменить используемые спецсимволы.

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

Как пользоваться telnet?

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

sudo apt install telnet

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

1. Доступность сервера

Утилита все еще может быть полезной при поверке доступности узла, для этого просто передайте ей ip адрес или имя хоста:

telnet 192.168.1.243

Для этого не обязательно применять telnet, есть ping.

2. Проверка порта

C помощью telnet мы можем проверить доступность порта на узле, а это уже может быть очень полезным. Чтобы проверить порт telnet выполните:

telnet localhost 123
$ telnet localhost 22

В первом случае мы видим, что соединение никто не принимает, во втором же выводится сообщение об успешном подключении и приветствие SSH сервера.

3. Отладка

Чтобы включить режим отладки и выводить более подробную информацию во время работы используйте опцию -d во время подключения:

sudo telnet -d localhost 22

4. Консоль telnet

Использование консоли telnet тоже важный момент в разборе как пользоваться telnet. В основном режиме вы можете выполнять команды, на удаленном сервере, если же вы хотите адресовать команду именно telnet, например, для настройки ее работы, необходимо использовать спецсимвол для открытия консоли, обычно утилита сразу говорит вам что это за символ, например, по умолчанию используется "^[":

Для его активации вам нужно нажать сочетание клавиш Ctrl+[, затем вы уведите приглашение ввода telnet.

Чтобы посмотреть все доступные команды, вы можете набрать?. Например, вы можете посмотреть статус подключения:

telnet> status

Здесь есть и другие интересные возможности. Такие вещи можно проделывать при любом подключении с помощью утилиты telnet.

5. Посмотреть сайт telnet

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

telnet opennet.ru 80

Затем наберите команду веб-серверу:

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

6. Удаленное управление telnet

Настоятельно не рекомендуется использовать небезопасный telnet для удаленного управления, потому что все команды и пароли могут быть прослушаны сторонним пользователем. Но иногда, например, для роутеров telnet все же используется для удаленного управления. Все работает точно так же, как и для других подключений, только нужно использовать порт 23, а на удаленном компьютере должен быть установлен telnet-server:

telnet localhost 23

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

Выводы

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

Команды telnet позволяют связаться с удаленным компьютером, использующим протокол Telnet. Можно выполнить команду telnet без параметров для входа в контекст telnet, обозначенный в командной строке Telnet (telnet ). В командной строке Telnet используйте следующие команды для управления компьютером, на котором выполняется клиент Telnet.

Команды tlntadmn позволяют удаленно управлять компьютером, на котором выполняется сервер Telnet. Эти команды выполняются из командной строки. Команда tlntadmn без параметров отображает настройку локального сервера.

Чтобы использовать команды telnet из командной строки Telnet

Чтобы запустить клиент Telnet и ввести командную строку Telnet

Синтаксис

telnet [\\ удаленный_сервер ]

Параметры \\ удаленный_сервер Отображает имя подключаемого сервера /?

  • При использовании команды telnet без параметров запускается клиент Telnet.
  • В командной строке Telnet необходимо использовать команды Telnet.

Чтобы остановить клиент Telnet

Синтаксис

Параметры

отсутствуют

Примечания

  • Допускается сокращение этой команды до q .

Чтобы подключить клиент Telnet к удаленному компьютеру

Синтаксис

open [\\ удаленный_сервер ] [порт ]

Параметры \\ удаленный_сервер порт Указывает используемый порт. Если порт не указан, используется порт по умолчанию. Примечания

  • Допускается сокращение этой команды до o .
Примеры

Чтобы подключиться к удаленному серверу Redmond через порт 44, введите в командную строку: o redmond 44

Чтобы отключить клиент Telnet от удаленного компьютера

Синтаксис

close [\\ удаленный_сервер ]

Параметры \\ удаленный_сервер Указывает имя управляемого сервера. Если сервер не указан, используется локальный сервер. Примечания

  • Допускается сокращение этой команды до c .
Примеры

Чтобы отключиться от удаленного сервера Redmond, введите команду: c redmond 44

Чтобы настроить параметры клиента Telnet

Синтаксис

set [\\ удаленный_сервер ] [ntlm ] [localecho ] [term {ansi | vt100 | vt52 | vtnt }] [escape символ ] [logfile имя_файла ] [logging ] [bsasdel ] [crlf ] [delasbs ] [mode {console | stream }] [? ]

Параметры \\ удаленный_сервер Указывает имя управляемого сервера. Если сервер не указан, используется локальный сервер. ntlm Включает проверку подлинности NTML, если она доступна на удаленном сервере. localecho Включает режим локального отображения команд. term {ansi | vt100 | vt52 | vtnt } Задает терминал указанного типа. escape символ Задает управляющий символ. Управляющий символ может быть отдельным символом или сочетанием клавиши CTRL и символа. Чтобы задать комбинацию клавиш, удерживайте клавишу CTRL во время ввода символа, который необходимо назначить. logfile имя_файла Задает файл журнала активности Telnet. Файл журнала должен располагаться на локальном компьютере. Запись в журнал начинается автоматически после выбора этого параметра. logging Включает ведение журнала. Если файл журнала не задан, выводится сообщение об ошибке. bsasdel Задает клавишу BACKSPACE, как удалить. crlf Назначает новый линейный режим, который опреляет клавишу ENTER как 0x0D, 0x0A. delasbs Назначает клавише DELETE значение удаления последнего символа. mode {console | stream } Задает режим работы. ? Позволяет просматривать полный синтаксис команды. Примечания

  • Чтобы отключить назначенный ранее параметр, в командной строке Telnet, введите:

    unset [параметр ]

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

    -e символ

  • В версиях Telnet, отличных от английской, доступна команда codeset параметр . Codeset параметр задает текущий кодовый набор для параметра, который может быть одним из следующих: Shift JIS , Japanese EUC , JIS Kanji, JIS Kanji (78) , DEC Kanji , NEC Kanji . Необходимо назначить такой же кодовый набор на удаленном компьютере.

Чтобы отправить команды клиента Telnet

Синтаксис

send [\\ удаленный_сервер ] [ao ] [ayt ] [esc ] [ip ] [synch ] [? ]

Параметры \\ удаленный_сервер Имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. ao Отменяет команду ввода. ayt Посылает команду "Вы на месте?" esc Отправляет текущий управляющий знак. ip Прерывает выполнение команды обработки. synch Выполняет операцию синхронизации Telnet. ? Позволяет просматривать полный синтаксис команды.

Чтобы посмотреть текущие параметры клиента Telnet

Синтаксис display

Параметры

Отсутствуют

Примечания

  • Данная команда выводит текущие рабочие параметры для клиента Telnet. При работе в режиме сеанса Telnet (другими словами, при подключении к серверу Telnet), можно выйти из сеанса для изменения параметров, нажав клавиши CTRL+]. Для возвращения в сеанс Telnet нажмите клавишу ENTER.

Чтобы использовать команды tlntadmn из командной строки

Чтобы администрировать компьютер, на котором выполняется сервер Telnet/P>Синтаксис

tlntadmn [\\ удаленный_сервер ] [start ] [stop ] [pause ] [continue ]Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. start Запускает сервер Telnet. stop Останавливает сервер Telnet. pause Прерывает работу сервера Telnet. continue Возобновляет работу сервера Telnet. /?

  • С помощью команд tlntadmn tlntadmn

Чтобы администрировать сеансы Telnet

Синтаксис

tlntadmn [\\ удаленный_сервер ] [-s ] [-k {код_сеанса | all }] [-m {код_сеанса |all } " сообщение " ]

Параметры \\ удаленный_сервер -s Отображает активные сеансы Telnet. -k {код_сеанса | all } Завершает сеансы. Введите код сеанса для завершения конкретного сеанса или введите all для завершения всех сеансов. -m {код_сеанса | all } " сообщение " Отправляет сообщение в один или несколько сеансов. Введите код сеанса для отправки сообщения в конкретный сеанс или введите all для отправки сообщения во все сеансы. Введите сообщение, которое нужно послать, в кавычках (т. е. " сообщение " ). /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.

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

Синтаксис

tlntadmn [\\ удаленный_компьютер ] config [auditlocation= {eventlog | file | both }][audit= [{+ | - }admin ][{+ | - }user ][{+ | - }fail ]]

Параметры \\ удаленный_сервер auditlocation= {eventlog | file | both } Указывает, следует ли отправлять сведения о событиях в окно просмотра событий, в файл или в оба места. audit= [{+ | - }admin ][{+ | - }user ][{+ | - }fail ] Указывает, для каких событий требуется аудит (события регистрации администратора, события регистрации пользователя или неудачные попытки регистрации). Чтобы задать аудит событий конкретного типа, введите знак "плюс" (+) перед данным типом событий. Чтобы остановить аудит событий конкретного типа, введите знак "минус" (-) перед данным типом событий. /?

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.
  • Если указано, куда отправить сведения о событии без определения типа или типов сведений для аудита, только для сведений о событиях регистрации администратора будет проводиться аудит и отправка в указанное место.
Примеры

Для отправки информации о событиях в окно просмотра событий введите:

tlntadmn config auditlocation=eventlog

Для аудита событий регистрации администратора и неудачных попыток регистрации введите:

tlntadmn config audit=+admin +fail

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

Синтаксис

tlntadmn [\\ удаленный_сервер ] config [dom= имя_домена ]Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. dom= имя_домена Указывает домен, который требуется сделать основным. /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.
Примеры

Чтобы сделать домен Redmond основным доменом на локальном сервере, введите:

tlntadmn config dom=Redmond

Чтобы сопоставить клавишу ALT для компьютера, на котором выполняется сервер Telnet

Синтаксис

tlntadmn [\\ удаленный_сервер ] config [ctrlakeymap= {yes | no }]

Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. ctrlakeymap= {yes | no } Указывает, требуется ли интерпретация сервером Telnet сочетания клавиш CTRL+A как ALT. Введите yes для сопоставления сочетания клавиш или no для отказа от сопоставления. /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.
  • Если клавиша ALT не сопоставлена, сервер Telnet не отправляет нажатие клавиши ALT в приложения, где это может потребоваться.

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

Синтаксис

tlntadmn [\\ удаленный_сервер ] config [maxconn= положительное_целое ]

Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. maxconn= положительное_целое Устанавливает максимальное число подключений. Этот номер можно указать с помощью любого положительного целого меньше 10 миллионов. /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.

Чтобы задать максимальное число неудачных попыток доступа для компьютера, на котором выполняется сервер Telnet

Синтаксис

tlntadmn [\\ удаленный_компьютер ] config [maxfail= положительное_целое ]

Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. maxfail= положительное_целое Задает максимальное разрешенное число неудачных попыток входа для пользователя. Этот номер можно указать с помощью любого положительного целого меньше 100. /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.

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

Синтаксис

tlntadmn [\\ удаленный_сервер ] config [mode= {console | stream }]

Параметры \\ удаленный_сервер mode {console | stream } Указывает режим работы. /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.

Чтобы задать порт Telnet для компьютера, на котором выполняется сервер Telnet

Синтаксис

tlntadmn [\\ удаленный_сервер ] config [port= целое_значение ]

Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. port= целое_значение Задает порт Telnet. Порт можно указать с помощью любого целого меньше 1 024. /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.

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

Синтаксис

tlntadmn [\\ удаленный_сервер ] config [sec= [{+ | - }ntlm ][{+ | - }passwd ]]Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. sec= [{+ | - }ntlm ][{+ | - }passwd ] Определяет использование проверки подлинности NTML или пароля, или одновременое их применение для проверки подлинности попыток входа. Чтобы использовать конкретный тип проверки подлинности, введите знак (+) перед данным типом проверки. Чтобы предотвратить использование проверки подлинности определенного типа, введите знак (-) перед этим типом. /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.
  • NTML - это протокол проверки подлинности для транзакций между двумя компьютерами, один из которых или оба находятся под управлением Windows NT 4.0 и более ранних версий. Кроме того, протокол проверки подлинности NTML используется для компьютеров, не входящих в домен, таких как независимые серверы и рабочие группы.

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

Синтаксис

tlntadmn [\\ удаленный_сервер ] config [timeout= чч : мм : сс ]

Параметры \\ удаленный_сервер Указывает имя сервера, к управлению которым требуется перейти. Если сервер не указан, используется локальный сервер. timeout= чч : мм : сс Задает значение истечения времени в часах, минутах и секундах. /? Отображает справку в командной строке. Примечания

  • С помощью команд tlntadmn можно удаленно администрировать компьютер, на котором запущен сервер Telnet, если оба компьютера работают под управлением Windows XP. Команды tlntadmn не могут быть использованы для удаленного администрирования сервера Telnet, работающего под управлением Windows 2000, с компьютера, работающего под управлением Windows XP.
Примечания
  • Чтобы переключиться с клиента Telnet в режим команд, в командной строке Telnet нажмите сочетание клавиш CTRL+]. Для обратного перехода к клиенту Telnet, нажмите клавишу ENTER.
  • Системное администрирование
  • Недавняя крупнейшая 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 – это стандарт обмена данными между двумя сетевыми устройствами, разработанный для реализации удаленного управления. Не все знают, что настройка Wi-Fi роутера может быть выполнена по Telnet с любого компьютера локальной сети. Для этого необходимо, чтобы в роутере опция доступа по Telnet была включена, а включают ее через web-интерфейс.

    Интересным выглядит тот факт, что иногда на роутер можно зайти с использованием «Телнет», в то время как доступ по HTTP, то есть через графический интерфейс, остается недоступен.

    Условие возможности подключения к маршрутизатору

    Если требуется зайти в интерфейс управления роутером, сначала необходимо выяснить, чему равен IP-адрес этого устройства. Без IP-адреса не получится открыть даже сессию «Телнет», не говоря уже о доступе через браузер. Большинство сетевых комбайнов по умолчанию наделены следующим адресом: 192.168.1.1. Для фирмы D-Link надо сделать поправку в двух последних цифрах (должно быть «0.1»). Настройте сетевую карту ПК на соответствующие значения, изменив последнюю цифру ее IP.

    Настройка подключения на компьютере

    Как открыть сеанс связи

    В любой операционной системе есть командная строка. Запустив ее, достаточно выполнить одну команду: telnet 192.168.1.1. После чего роутер, подключенный к ПК по Ethernet или по Wi-Fi, сразу же отвечает нам, запрашивая логин и пароль.

    Начало сеанса связи

    Мы в ответе использовали имя «admin» и пароль «1234», то есть значения, установленные по умолчанию в устройствах ZyXEL. Как видим, эти значения были приняты, и появилась подсказка «config».

    В некоторых моделях фирмы ZyXEL используется не только текстовый интерфейс, но и командный список (меню):

    Вид стартового списка

    Чтобы вернуть режим текстовых команд, выполните переход 28 -> 4 (задействуйте пункт 28 и затем пункт 4). В результате, Вы получите надпись «config» и курсор для ввода команд. Далее мы будет рассматривать только указанный режим.

    Настраиваем устройство через «Телнет»

    Интерфейс текстовых команд, то есть командная строка маршрутизаторов и других устройств ZyXEL, называется словом «CLI» (Command Line Interpreter). Большинство команд для всех моделей – одинаковы, например, это «system reboot» (перезагрузка), «system config-save» (сохранение настроек), и другие. Некоторые команды для той или иной модели могут отличаться, а скачать подробное руководство можно на сайте поддержки, там же, где предоставляют для скачивания фирменную прошивку.

    Скачиваем справочник с командами

    В устройствах других фирм, не ZyXEL, предусмотрена команда «help», которая выдает Вам список доступных команд.

    Удаленный доступ к web-интерфейсу

    Порту WAN сетевого комбайна присваивается IP-адрес. Значение данного адреса обычно не меняется, даже если используются динамические адреса. Зная свой IP-адрес, пользователь может открыть интерфейс управления устройством с любого компьютера, имеющего подключение к Интернету. По умолчанию подобный метод доступа в роутерах ZyXEL запрещен. А избавиться от данного ограничения поможет командная строка.

    Наберите следующую команду: ip stаtic tcp ISP 80 192.168.1.1 80// порт «80» используется web-интерфейсом.

    Команда «ip stаtic» вообще-то создает привязку локальных адресов к глобальным IP-адресам. Заметим, что если используется такой тип подключения, где предусмотрена авторизация (PPTP, L2TP либо PPPoE), то вместо слова «ISP» надо подставить другое название. Узнать его просто: Interface ?// отобразятся все сетевые интерфейсы.

    Для протокола PPPoE интерфейс соединения с Интернетом обычно назван так – «PPPoE0» (важно соблюдать регистр). Не забудьте сохранить настройки (system config-save). В результате, можно будет открыть web-интерфейс из Интернета.

    Интерфейс открылся из «внешки»

    Некоторые провайдеры 80-й порт блокируют, так что с первого раза наверняка ничего не получится. Но можно сделать хитрее, перенаправив на внутренний порт 80 внешний порт с номером 8080: ip stаtic tcp ISP 8080 192.168.1.1 80// так мы обходим ограничения провайдера.

    В общем, аналогичным образом пробрасывается порт и для «Телнета» (его номер равен «23»).

    Море команд для Wi-Fi

    Проще всего начинать освоение командной строки с использования тех команд, которые отвечают за параметры точки доступа (сети Wi-Fi). Каждая из этих команд начинается словом «interface», а дальше идет уточняющая последовательность. Самый простой вариант: interface ssid SYSDAY// имя беспроводной сети получит значение «SYSDAY».

    Отметим, что указывая вместо имени параметр «auto», можно вернуть «точке доступа» то значение SSID, которое было задано на заводе.

    Есть еще несколько интересных команд, управляющих радио модулем. Чтобы не набирать каждый раз слово «interface», используйте его, как отдельную команду (подсказка трансформируется в «config-if»). Список команд, применяемых в режиме «config-if», мы приводим далее.

    Примеры команд для Wi-Fi

    • power число// вместо слова «число» задайте мощность в процентах;
    • channel номер// вместо «номер» задайте номер радиоканала (1-13);
    • country-code страна// параметр «страна» содержит 2 буквы, например, RU;
    • hide-ssid// скрыть имя сети;
    • no hide-ssid// открыть имя сети.

    И это – далеко не полный список параметров, которые поддаются изменению прямо из командной строки.

    Надо отметить, что при помощи «Телнета» можно поменять, либо включить алгоритм шифрования Wi-Fi (WPA или WPA2).

    А значение ключа задается командой «interface authentication wpa-psk». Таким образом, появляется возможность дистанционно, из любой точки мира, зайти на роутер через Telnet, и поменять пароль на беспроводную сеть. Очень полезно, не так ли?

    Заходим «Телнетом» на роутер-модем

    Обсуждение подопций

    Некоторые опции требуют большего количества информации, нежели просто "включить" (enable) или "выключить" (disable). Например, установка типа терминала: для того чтобы клиент мог идентифицировать тип терминала, он должен отправить ASCII строку. Чтобы обработать эти опции, применяется обсуждение подопций.

    RFC 1091 определяет подопции, которые необходимо обсудить для установки типа терминала. Во-первых, одна сторона (обычно клиент) просит включить опцию, отправляя 3-байтовую последовательность

    где 24 (десятичное) это идентификатор опции типа терминала. Если получатель (сервер) говорит ДА, его ответ будет выглядеть как

    Затем сервер посылает

    спрашивая о типе терминала клиента. SB это команда, которая сообщает о начале подопций (suboption-begin). Следующий байт равный 24 указывает на то, что это подопция типа терминала. (SB всегда следует за номером опции, к которой относятся подопции.) Следующий байт равный 1 означает "отправьте ваш тип терминала". Перед командой конец подопций (suboption-end) должен опять стоять IAC, так же как и перед командой SB. Клиент отвечает командой

    в случае, если его тип терминала ibmpc. Четвертый байт равный 0 означает "у меня следующий тип терминала". ("Официальный" список приемлемых типов терминалов находится в Assigned Numbers RFC, однако для Unix систем приемлем любой тип терминала, поддерживаемый сервером. Обычно это терминалы, поддерживаемые базами termcap или terminfo.) Типы терминалов, указываемые в подопциях Telnet, пишутся большими буквами и обычно преобразуются в маленькие буквы уже сервером.

    Команды Telnet позволяют связаться с удаленным компьютером, использующим протокол Telnet. Можно выполнить команду telnet без параметров для входа в контекст Telnet, обозначенный в командной строке Telnet (Microsoft Telnet>). В командной строке Telnet используйте команды Telnet для управления компьютером, на котором выполняется клиент Telnet.

    Командная строка клиента Telnet принимает следующие команды.

    Команда Описание
    open Синтаксис: openимя_узла . Используется для установки соединения с узлом по протоколу Telnet
    close Команда close используется для закрытия существующего соединения по протоколу Telnet
    display Команда display используется для просмотра текущих параметров клиента Telnet
    send Команда send используется для отправления команд на сервер Telnet. Поддерживаются следующие команды: ao Отменяет команду ввода ayt Команда «Вы на месте?» esc Отправляет текущий управляющий знак ip Прерывает выполнение команды обработки synch Выполняет операцию синхронизации Telnet brk Отправляет сигнал разрыва Любые другие команды, отличные от указанных выше, отправляются на сервер Telnet как строка. Например, команда sendabcd отправит строку abcd на этот сервер, который отобразит строку в окне сеанса Telnet
    quit Команда quit используется для выхода из клиента Telnet
    set Команда set с одним из следующих аргументов используется для настройки клиента Telnet в текущем сеансе. bsasdel Назначает удаление последнего символа в качестве удаления параметр codeset Параметр доступен, если установлен японский язык. Используется для задания кодовой страницы в ключе параметр, который может принимать одно из следующих значений:
    • Shift JIS
    • Japanese EUC
    • JIS Kanji
    • JIS Kanji (78)
    • DEC Kanji
    • NEC Kanji
    Необходимо назначить такую же кодовую страницу на удаленном компьютере. По умолчанию для клиента Telnet используются точечные шрифты. Перед получением доступа к удаленному компьютеру, на котором применяется одна из этих кодовых страниц, следует настроить клиент Telnet на работу со шрифтами TrueType для гарантии правильного отображения символов crlf Новый линейный режим, который определяет клавишу ВВОД как 0x0D, 0x0A delasbs Назначает удаление в качестве удаления последнего символа escapeсимвол Переключение из режима сеанса Telnet в режим команд Telnet. Для возврата в режим сеанса в режиме команд следует нажать клавишу ВВОД localecho Включает режим локального отображения команд logfileимя Указывает имя файла, в который записывается журнал Telnet для данного сеанса. Если путь к файлу не указан, он создается в текущей папке. Задание файла журнала включает его ведение logging Включает ведения журнала для данного сеанса mode {console | stream} Режим работы ntlm Включает проверку подлинности NTLM term {ansi | vt100 | vt52 | vtnt} Тип терминала, который необходимо эмулировать клиенту Telnet ? Отображает справочные сведения для команды set
    unset Команда unset используется для отключения параметров, предварительно заданных с помощью команды set
    status Команда status позволяет определить, подключен ли компьютер, на котором выполняется клиент Telnet
    ? или help Отображает справочные сведения


    ВОПРОСЫ ДЛЯ ЗАЩИТЫ:

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

    2. Как происходит согласование формы представления данных в Unix-системах

    3. NVT(основные функции, как определен в Telnet, буферезирован или небуферезирован

    4. Команды управления терминалом. Краткая характеристика.

    5. Синхронизация в Telnet.

    6. Формат команды.Пример

    7. Программа-сервер(telnetd).Принцип работы.

    8. Программа-клиент(telnet).Режимы работы. Основные команды режима командной строки.

    9. Объяснить на своем примере принцип договорных опций/подопций.