07 Апр, 2023

Тривиальный протокол передачи файлов (TFTP)

Penetration Testing as a service (PTaaS)

Tests security measures and simulates attacks to identify weaknesses.

TFTP расшифровывается как Тривиальный протокол передачи файлов, который представляет собой простой протокол, используемый для передачи файлов между сетевыми устройствами. Это менее безопасный и менее надежный протокол, чем FTP (File Transfer Protocol), и он обычно используется для передачи файлов конфигурации между сетевыми устройствами, такими как маршрутизаторы, коммутаторы и брандмауэры. TFTP работает на порту 69 UDP (User Datagram Protocol) и не требует аутентификации или шифрования, что делает его уязвимым для угроз безопасности. Однако его простота и непринужденность в использовании делают его популярным выбором для сетевых администраторов.

Общие порты TFTP

Port 69: Этот порт используется для запросов TFTP.

Порты между 1024 и 65535: TFTP использует эти индивидуально назначенные номера портов для связи, которые отправляются сервером TFTP запрашивающему клиенту в виде идентификаторов передачи (TID).

Port 8099: Этот TCP-порт используется для пользовательского интерфейса к трафику службы TFTP.

Стандартные команды от неавторизованных пользователей

GET: Эта команда позволяет пользователю загрузить файл с сервера TFTP. Неавторизованные пользователи могут использовать эту команду для доступа к конфиденциальным файлам без разрешения.

PUT: Эта команда позволяет пользователю загрузить файл на TFTP-сервер. Неавторизованные пользователи могут использовать эту команду для загрузки вредоносных файлов или перезаписи важных файлов.

LIST: Эта команда позволяет пользователю просмотреть список файлов, доступных на сервере TFTP. Неавторизованные пользователи могут использовать эту команду для сбора информации о файлах сервера и структуре каталогов, которая может быть полезна для запуска дальнейших атак.

MODE: Эта команда позволяет пользователю указать режим передачи (двоичный или ASCII) для передачи файлов. Неавторизованные пользователи могут использовать эту команду для обхода мер безопасности и передачи файлов небезопасным способом.

Инструменты для использования протокола TFTP

Ручные инструменты:

  1. tftp – Простой инструмент командной строки для передачи файлов с использованием TFTP. Он обычно доступен в Linux и других Unix-подобных системах.

  2. Wireshark – Анализатор сетевых протоколов, который может улавливать и отображать TFTP-трафик. Wireshark можно использовать для анализа пакетов TFTP и диагностики сетевых проблем.

  3. nc – Универсальная утилита командной строки, которую можно использовать для отправки и получения данных по сети. nc можно использовать для тестирования TFTP-серверов, отправляя TFTP-запросы вручную.

  4. nmap – Инструмент исследования сети и аудита безопасности, который можно использовать для сканирования сетей на наличие серверов TFTP. Его можно использовать для идентификации TFTP-серверов и проверки наличия открытых портов.

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

  6. tcpdump – Анализатор пакетов командной строки, который может захватывать и отображать трафик TFTP. Он обычно используется для диагностики сетевых проблем и анализа пакетов TFTP.

  7. telnet – Протокол, используемый для обеспечения доступа из командной строки к удаленным компьютерам. Его можно использовать для тестирования TFTP-серверов, отправляя TFTP-запросы вручную.

Автоматизированные инструменты:

  1. TFTP-Bruteforcer – Инструмент, который можно использовать для проверки безопасности TFTP-серверов путем попытки принудительного ввода учетных данных TFTP.

  2. TFTP-Client – Инструмент на основе графического интерфейса, который можно использовать для тестирования TFTP-серверов путем загрузки файлов. В нем также есть возможность тестировать серверы TFTP на наличие уязвимостей в системе безопасности.

  3. Tftpd32 – Бесплатный TFTP-сервер и клиент, которые можно использовать для тестирования TFTP-серверов путем загрузки файлов. Он также включает в себя сервер системного журнала и сканер безопасности TFTP.

  4. TFTPdmin – Облегченный TFTP-сервер, который можно использовать для тестирования TFTP-серверов путем загрузки файлов. Он также включает встроенный TFTP-клиент для тестирования.

  5. TFTP-Proxy – Инструмент, который можно использовать для тестирования TFTP-серверов путем перехвата TFTP-трафика и пересылки его на другой сервер. Его можно использовать для проверки надежности и безопасности TFTP-серверов.

  6. Metasploit – Платформа тестирования на проникновение, которая включает в себя модуль для использования серверов TFTP. Его можно использовать для тестирования безопасности TFTP-серверов и выявления уязвимостей.

Плагины для браузера:

  1. TFTP Server Plugin for Chrome – Расширение для браузера, которое позволяет вам запускать TFTP-сервер в вашем браузере. Его можно использовать для тестирования TFTP-клиентов и серверов.

  2. Packet Capture for Chrome – Расширение для браузера, которое позволяет вам захватывать и анализировать сетевой трафик. Его можно использовать для сбора и анализа трафика TFTP.

Последние пять известных CVE для TFTP

• CVE-2023-27078 – В TP-Link MR3020 v.1_150921 была обнаружена проблема с внедрением команд, которая позволяет удаленному злоумышленнику выполнять произвольные команды через созданный запрос к конечной точке tftp. 

• CVE-2022-46143 – Затронутые устройства неправильно проверяют размер блока TFTP. Это может позволить прошедшему проверку подлинности злоумышленнику считывать данные из неинициализированного буфера, который потенциально содержит ранее выделенные данные.

• CVE-2022-38742 – Rockwell Automation ThinManager ThinServer версий 11.0.0 – 13.0.0 уязвим к переполнению буфера на основе кучи. Злоумышленник может отправить специально созданный запрос TFTP или HTTPS, вызывая переполнение буфера на основе кучи, что приводит к сбою процесса ThinServer. В случае успешного использования это может привести к тому, что сервер будет подвергнут произвольному удаленному выполнению кода.

• CVE-2022-28194 – Пакет драйверов NVIDIA Jetson для Linux содержит уязвимость в модуле Cboot tegrabl_cbo.c, где, если включен TFTP, локальный злоумышленник с повышенными привилегиями может вызвать переполнение буфера памяти, что может привести к выполнению кода, потере целостности, ограниченному отказу в обслуживании и некоторому влиянию на конфиденциальность.

• CVE-2021-44429 – Serva 4.4.0 позволяет удаленным злоумышленникам вызывать отказ в обслуживании (сбой демона) с помощью запроса чтения TFTP (RRQ), он же код операции 1, связанный с проблемой CVE-2013-0145.

Полезная информация

– TFTP расшифровывается как Trivial File Transfer Protocol, и это простой протокол, используемый для передачи файлов по сети.

– TFTP - это протокол на основе UDP, который работает на порту 69. Это облегченный протокол, который не предоставляет никаких механизмов аутентификации или шифрования.

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

– TFTP работает по модели клиент-сервер, где клиент отправляет запрос серверу на передачу файла, а сервер отвечает запрошенным файлом.

– TFTP поддерживает только два режима передачи: netascii и октет (двоичный).

– TFTP - это очень простой протокол, содержащий всего пять команд: RRQ (запрос на чтение), WRQ (запрос на запись), DATA, ACK (подтверждение) и ERROR.

– TFTP не предоставляет никаких механизмов безопасности, что делает его уязвимым для таких атак, как перехват пакетов, внедрение пакетов и атаки типа "отказ в обслуживании" (DoS).

– Чтобы снизить риски безопасности, связанные с TFTP, рекомендуется использовать его только в надежных сетях, внедрить списки управления доступом (ACL) и отключить ненужные службы TFTP.

– Альтернативные протоколы передачи файлов, которые обеспечивают более надежные механизмы безопасности, включают SCP (Secure Copy Protocol), SFTP (SSH File Transfer Protocol) и FTPS (FTP через SSL / TLS).

– TFTP широко поддерживается различными операционными системами, включая Windows, Linux и macOS, и часто входит в состав средств сетевой загрузки и утилит обновления прошивки.

Известные баннеры

“TFTPD32, версия x.x.x.x” – Этот баннер с TFTPD32, популярного TFTP-сервера и клиента для Windows.

“Программное обеспечение Cisco IOS” – Этот баннер от Cisco IOS, популярной сетевой операционной системы, которая включает в себя функциональность сервера TFTP.

“Бесплатный TFTP-сервер” – Этот баннер взят с бесплатного TFTP Server, популярного программного обеспечения TFTP Server для Windows.

“Загрузочный сервер PXE x.x.x.x” – Этот баннер с загрузочного сервера PXE (Preboot Execution Environment), который использует TFTP для сетевой загрузки.

“SolarWinds TFTP-сервер” – Этот баннер от SolarWinds TFTP Server, популярного программного обеспечения TFTP server для Windows.

“WinAgents TFTP-сервер” – Этот баннер от WinAgents TFTP Server, популярного программного обеспечения TFTP server для Windows.

“Тыквенный TFTP-сервер” – Этот баннер от PumpKIN TFTP Server, бесплатного программного обеспечения TFTP server для Windows.

“Atftpd x.x.x.x” – Этот баннер взят из atftpd, популярного серверного программного обеспечения TFTP для Linux.

“Утилита НАСТРОЙКИ Hercules TFTP server” – Этот баннер взят из Hercules SETUP utility, популярного программного обеспечения TFTP-сервера для Windows.

“BSDP/iPXE” – Этот баннер взят из протоколов начальной загрузки (BSDP) и iPXE, которые используют TFTP для сетевой загрузки в macOS и других Unix-подобных операционных системах.

Книги для учебы TFTP

Иллюстрированный протокол TCP/IP, Том 1: Протоколы автор: У. Ричард Стивенс – Эта книга содержит подробный обзор набора протоколов TCP / IP и включает раздел о TFTP.

Сетевой воин: Все, что вам нужно знать, чего не было на экзамене CCNA автор: Гэри А. Донахью – Эта книга охватывает широкий спектр сетевых тем, включая TFTP.

Основы работы в сети Cisco автор: Трой Макмиллан – В этой книге рассматриваются основы сетевого взаимодействия и дается обзор TFTP.

Основы сетевой безопасности: Приложения и стандарты Уильям Столлингс – Эта книга посвящена сетевой безопасности и включает раздел об уязвимостях TFTP.

Набор протоколов TCP/IP автор: Бехруз А. Форузан – Эта книга предоставляет всесторонний обзор набора протоколов TCP / IP и включает главу о TFTP.

Список полезной нагрузки для TFTP

  • Запрос на чтение (RRQ) – Эта полезная нагрузка используется клиентом для запроса файла с сервера TFTP.

  • Запрос на запись (WRQ) – Эта полезная нагрузка используется клиентом для записи файла на TFTP-сервер.

  • Data – Эта полезная нагрузка содержит фактические данные, передаваемые между клиентом и сервером. Размер данных может варьироваться от 1 до 512 байт.

  • Подтверждение (ACK) – Эта полезная нагрузка отправляется клиентом для подтверждения получения пакета данных с сервера.

  • Error – Эта полезная нагрузка отправляется сервером, чтобы указать, что во время передачи файла произошла ошибка.

Смягчение последствий

  1. TFTP по умолчанию не предоставляет никаких механизмов аутентификации, что может сделать его уязвимым для несанкционированного доступа. Чтобы снизить этот риск, используйте безопасные методы аутентификации, такие как Kerberos или SSL / TLS, чтобы гарантировать, что только авторизованные пользователи могут получить доступ к серверу TFTP.

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

  3. Убедитесь, что все программное обеспечение, связанное с сервером TFTP, обновлено последними исправлениями безопасности. Это включает в себя как операционную систему, так и любые приложения, использующие протокол TFTP.

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

  5. Отключите все функции TFTP-сервера, которые не нужны для уменьшения поверхности атаки.

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

Заключение

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

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

Другие Услуги

Готовы к безопасности?

Связаться с нами