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 and 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. hping3 – Інструмент командного рядка, який можна використовувати для відправки і отримання користувальницьких пакетів по мережі. Його можна використовувати для відправлення запитів 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-сервера для Chrome – Розширення для браузера, який дозволяє вам запускати TFTP-сервер у вашому браузері. Його можна використовувати для тестування TFTP-клієнтів і серверів.

  2. Захоплення пакетів для 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 запит на читання), ПРИМІТКА (запит на запис), DATA, ACK (підтвердження) i 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.

  • Запит на запис (ПРИМІТКА) – Ця корисна навантаження використовується клієнтом для запису файлу на 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, для автоматизації процесу розгортання нових мережевих пристроїв або оновлення існуючих.

Інші Послуги

Готові до безпеки?

зв'язатися з нами