07 Кві, 2023

Мережна файлова система (NFS)

Penetration Testing as a service (PTaaS)

Tests security measures and simulates attacks to identify weaknesses.

NFS (Мережева файлова система) це протокол розподіленої файлової системи, який дозволяє користувачеві на клієнтському комп'ютері отримувати доступ до файлів по мережі, як якщо б ці файли зберігаються локально. Протокол був розроблений Sun Microsystems у 1980-х роках і з тих пір став популярним способом обміну файлами і даними по комп'ютерній мережі.

Загальні порти NFS

Port 2049: Це порт, що використовується для загального доступу до файлів NFS.

Port 111: Цей порт використовується службою portmapper (rpcbind), яка допомагає зіставляти запити RPC (віддалений виклик процедури) з відповідними сервісними портами.

Port 32767: Цей порт використовується службою lockd, яка надає послуги блокування та розблокування файлів для файлових систем NFS.

Port 892: Цей порт використовується службою mountd, яка відповідає за монтування та демонтування файлових систем NFS.

Port 875: Цей порт використовується службою rquotad, яка надає інформацію про дискові квоти для файлових систем NFS.

Стандартні команди від неавторизованих

mount -t nfs 213.184.24.4:/tmp/open_share /mnt/remote

Розвідувальна або нестандартна команда

nmap -sV –script=nfs-statfs <target>

Ведучі шоу

showmount  61.218.215.132

Список кріплень

auxiliary/scanner/nfs/nfsmount

nmap -sV –script=nfs-showmount <target>

showmount -e 213.184.24.4

Вкажіть ім'я хоста клієнта або IP-адресу, так і підключений каталог, інформація може бути неточною

showmount -а 213.184.24.4 

Спробуйте перерахувати файли

https://github.com/hegusung/RPCScan

rpc-scan.py <host/host_range> –nfs –recurse 3

and 

mount -t nfs 213.184.24.4:/tmp/open_share /mnt/remote

cd /mnt/remote

ls

cat etc/passwd

cat etc/shadow

cat etc/exports

Нульове сеансне з'єднання

showmount -e 213.184.24.4

Грубе силове підключення

UID spoofing https://github.com/bonsaiviking/NfSpy, посилання 

Запуск експлойтів

exploit/windows/nfs/xlink_nfsd (unable to find server to test)

exploit/netware/sunrpc/pkernel_callit

https://www.exploit-db.com/exploits/14407

Інструменти для використання протоколу NFS

Ручні Інструменти:

  • nfsstat: Інструмент командного рядка, який відображає інформацію про стан сервера NFS.

  • showmount: Інструмент командного рядка, який відображає список експортованих файлів NFS на сервері.

  • mount: Інструмент командного рядка, який монтує експорт NFS в клієнтській системі.

  • unmount: Інструмент командного рядка, який відключає експорт NFS з клієнтської системи.

  • nfsiostat: Інструмент командного рядка, який відображає статистику вводу-виводу для сервера NFS.

  • NFSWatch: Інструмент, який відстежує трафік NFS і відображає її в зручному для користувача вигляді.

  • Autotest-NFS: Інструмент, який автоматизує тестування файлових систем NFS і може бути використаний для регресійного тестування.

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

  • NfSpy: Інструмент, який можна використовувати для монтування експорту NFS і взаємодії з ним в віддалених системах.

  • NFSTest: Інструмент, який перевіряє продуктивність і надійність файлових систем NFS.

  • nmap: Мережевий сканер, який можна використовувати для виявлення служб NFS і виконання базових перевірок безпеки.

  • Nessus: Сканер вразливостей, який можна використовувати для перевірки на наявність вразливостей в системі безпеки серверів NFS.

  • OpenVAS: Сканер мережевих вразливостей, який включає в себе модуль для тестування NFS серверів.

  • Metasploit Framework: Інструмент тестування на проникнення, який включає модулі для тестування NFS серверів на наявність вразливостей.

  • Hydra: Інструмент для злому паролів, який можна використовувати для злому паролів NFS серверів.

  • CrackMapExec: Інструмент тестування на проникнення, який може бути використаний для перевірки на наявність вразливостей в серверах NFS і автоматизації злому паролів.

  • NfSen: Інструмент, який забезпечує аналіз мережевого трафіку для NFS серверів в режимі реального часу.

  • FSlint: Інструмент, який можна використовувати для пошуку і видалення дублікатів файлів у файлових системах NFS.

Останні п'ять відомих CVE для NFS

 CVE-2023-1652: Помилка використання після звільнення була виявлена в nfsd4_ssc_setup_dul в fs/nfsd/nfs4proc.c у файловій системі NFS в ядрі Linux. Ця проблема може дозволити локального зловмиснику вивести систему з ладу або призвести до проблеми витоку інформації про ядрі.

CVE-2023-0417: Витік пам'яті в NFS dissector в Wireshark з 4.0.0 за 4.0.2 і з 3.6.0 за 3.6.10 і допускає відмову в обслуговуванні через впровадження пакету або створений файл захоплення. 

• CVE-2022-46701: Проблема була усунена за допомогою поліпшених перевірок кордонів. Ця проблема вирішується в iOS 16.2 і iPadOS 16.2, macOS Ventura 13.1, tvOS 16.2. Підключення до шкідливого сервера NFS може призвести до виконання довільного коду з правами ядра. 

 CVE-2022-46174: efs-utils - це набір утиліт для Amazon Elastic File System (EFS). Потенційна проблема зі станом гонки існує в помічнику монтування Amazon EFS у версіях efs-utils v1.34.3 і нижче. При використанні TLS для монтування файлових систем помічник по монтуванню виділяє локальний порт для stunnel для прийому підключень NFS до застосування тунелю TLS. В порушених версіях паралельні операції монтування можуть виділяти один і той самий локальний порт, що приводить або до невдалих операцій монтування, або до неправильного зіставлення локальних точок монтування клієнта EFS з файловими системами EFS цього клієнта. Ця проблема виправлена у версії v1.34.4. Обійти її не рекомендується. Ми рекомендуємо порушених користувачам оновити встановлену версію efs-utils до версії v1.34.4 або більш пізньої. 

• CVE-2022-45101: Dell PowerScale OneFS 9.0.0.x – 9.4.0.x, містить вразливість з неправильною обробкою недостатніх привілеїв в NFS. Віддалений зловмисник, який не пройшов перевірку автентичності, потенційно може скористатися цією уразливістю, що призведе до розкриття інформації та віддаленого виконання. 

Корисна інформація

– Розшифровується як Мережна файлова система і являє собою протокол, використовуваний для спільного використання файлів і каталогів між різними системами в мережі.

– Спочатку розроблений Sun Microsystems і був випущений в 1984 році в рамках їхнього проекту Open Network Computing (ONC).

– Мережева файлова система використовує віддалений виклик процедури (RPC) для зв'язку між клієнтом і сервером.

– NFS - це протокол без стану, що означає, що сервер не відстежує стан клієнта. Це спрощує реалізацію балансування навантаження і відновлення після відмови.

– Захищений за допомогою різних механізмів аутентификації, такі як Kerberos, Secure RPC і Network Information Service (NIS).

– Остання версія NFS, що забезпечує поліпшену безпеку, продуктивність і такі функції, як підтримка блокування файлів і розширених атрибутів.

– Підтримує використання IPv6 і забезпечує кращу підтримку глобальних мереж (WAN) та мереж з високою затримкою.

– Використовується в різних операційних системах, включаючи Linux, Unix, macOS та Windows.

– Продуктивність може бути підвищена за рахунок використання виділеного обладнання NFS, такого як мережеві інтерфейсні плати (NIC), мережі зберігання даних (SANS) і твердотільні накопичувачі (SSD).

– Може використовуватися в різних сценаріях, таких як веб-сервери, файлові сервери кластери високопродуктивних обчислень (HPC).

Відомі банери

“Welcome to the NFS server” – Цей банер звичайно відображається при підключенні до сервера NFS.

“rpc.nfsd: server localhost not responding, timed out” – Цей банер вказує на те, що сервер NFS не відповідає.

“mountd: authenticated mount request from” – Цей банер вказує на те, що запит на монтування був успішно аутентифікований.

“RPC: Program not registered” – Цей банер вказує на те, що запитана програма NFS не зареєстрована на сервері.

“nfsd: last server has exited, flushing export cache” – Цей банер вказує на те, що сервер NFS завершив роботу і очищає свій кеш експорту.

“rpcinfo: RPC: Program/version mismatch” – Цей банер вказує на невідповідність між клієнтської і серверної версій запитаної програми NFS.

“showmount: RPC: Port mapper failure – RPC: Timed out” – Цей банер вказує на те, що виникла проблема з пристроєм зіставлення портів.

“rpc.mountd: getfh failed: Operation not permitted” – Цей банер вказує на те, що в клієнта немає необхідних дозволів для виконання необхідної операції.

“nfs: server not responding, still trying” – Цей банер вказує на те, що клієнт все ще намагається підключитися до сервера NFS.

“mount: RPC: Remote system error” – Цей банер вказує на помилку в віддаленій системі при спробі підключити загальний ресурс NFS.

Книги для вивчення протоколу Мережевої файлової системи (NFS)

Впровадження NFSv4: Повне керівництво по мережевої файлової системи автор Брент Каллаган – Ця книга являє собою всеосяжне керівництво по впровадженню NFSv4, що охоплює такі теми, як аутентифікація, безпека, налаштування продуктивності і усунення неполадок.

Мережева файлова система: Побудова масштабованих і високопродуктивних мереж автор Гері Сімс – Ця книга являє собою практичне керівництво по створенню і високопродуктивних масштабованих мереж з використанням NFS, що охоплює такі теми, як конфігурація, настройка і оптимізація.

Ілюстрований NFS автор Брент Каллаган – У цій книзі дається докладне пояснення того, як працює NFS, включаючи її протоколи, структури даних і алгоритми.

Адміністрування Linux NFS і автоматичного монтажу автор: Ерез Цадок і Аманда Ріган – Ця книга являє собою практичне керівництво з адміністрування NFS в системах Linux, охоплює такі теми, як конфігурація, налаштування та безпека.

Соляріс 10 ZFS Essentials Скотт Ватанабе і Джефф Віктор – Ця книга являє собою введення в ZFS, файлову систему, яка підтримує NFS і інші протоколи, і охоплює такі теми, як інсталяція, настройка і управління.

Керівництво по усуненню неполадок NFS для Sun Solaris автор Ранджит Наяк – Ця книга являє собою посібник з усунення несправностей в системах NFS Sun Solaris, охоплює такі теми, як конфігурація NFS, проблеми з клієнтами і серверами і налаштування продуктивності.

NFS і NIS для Linux та UNIX Брайан Д. Джепсон і Джеремі Рід – Ця книга являє собою практичний посібник з використання NFS і NIS в системах Linux і UNIX, що охоплює такі теми, як налаштування, аутентифікація і безпека.

Управління НФС і НІК Хел Стерн, Майк Ейслер і Рікардо Лабиага – Ця книга являє собою всеосяжне керівництво по управлінню середовищами NFS і NIS, що охоплює такі теми, як інсталяція, конфігурація, безпека та налаштування продуктивності.

Конфігурація мережевої файлової системи (NFS) AIX 5L IBM Redbooks – Ця книга являє собою посібник з налаштування NFS в системах AIX 5L, що охоплює такі теми, як налаштування сервера і клієнта NFS, безпека і усунення неполадок.

Налаштування NFS і продуктивності для HP-UX by HP Education and Training – Ця книга являє собою посібник з налаштування NFS в системах HP-UX, що охоплює такі теми, як налаштування сервера і клієнта NFS, налаштування продуктивності і усунення неполадок.

Список корисного навантаження для протоколу Мережевої файлової системи (NFS)

  • Корисне навантаження читання: корисне навантаження, що містить запит на читання даних з файлу або каталогу на сервері NFS.

  • Корисне навантаження запису: корисне навантаження, що містить запит на запис даних у файл або каталог на сервері NFS.

  • Корисне навантаження атрибутів файлу: корисне навантаження, що містить атрибути файлу або каталогу, такі як право власності, дозволу і тимчасові мітки.

  • Корисне навантаження зі списком каталогів: корисне навантаження, що містить список файлів і каталогів в заданому каталозі на сервері NFS.

  • Корисне навантаження блокування: корисне навантаження, що містить запит на блокування або розблокування файлу або частини файлу на сервері NFS.

  • Корисне навантаження монтування: корисне навантаження, що містить запит на монтування файлової системи на клієнта NFS.

  • Корисне навантаження експорту: корисне навантаження, що містить список файлових систем, що експортуються сервером NFS.

  • Корисне навантаження помилки: корисне навантаження, що містить повідомлення про помилку у відповідь на збій виклику RPC.

  • Корисне навантаження аутентифікації: корисне навантаження, що містить інформацію для аутентифікації клієнта, що намагається одержати доступ до сервера NFS.

  • Корисне навантаження продуктивності: корисне навантаження, що містить дані про продуктивність сервера NFS, такі як кількість операцій в секунду і час відгуку для кожної операції.

Пом'якшення наслідків

  1. NFSv4 включає в себе кілька поліпшень безпеки в порівнянні з попередніми версіями NFS, включаючи більш надійні механізми ідентифікації, підтримку систем обов'язкового контролю доступу (MAC) і можливість шифрування даних при передачі.

  2. Захищений RPC, також відомий як RPCSEC_GSS, забезпечує аутентифікацію і шифрування повідомлень RPC, що використовуються в NFS. Він використовує універсальний інтерфейс прикладного програмування служб безпеки (GSS-API) для узгодження захищеного каналу зв'язку між клієнтом і сервером.

  3. Використовуйте надійні механізми аутентификації, такі як Kerberos або LDAP для аутентифікації клієнтів NFS.

  4. Використовувати захищені канали зв'язку, такі як SSL / TLS або IPSec, для захисту трафіку NFS від підслуховування і несанкціонованого доступу.

  5. Налаштуйте сервер NFS таким чином, щоб обмежити доступ до певних клієнтам або подсетям. Це може допомогти запобігти несанкціонований доступ до ресурсів NFS.

  6. Використовуйте механізми контролю доступу, такі як права доступу до файлів і списки управління доступом (ACL), для контролю доступу до ресурсів NFS.

  7. Використовуйте шифрування для захисту конфіденційних даних, що зберігаються в загальних ресурсах NFS. Наприклад, використовуйте шифрування на рівні файлу для захисту окремих файлів або шифрування на рівні диска для захисту цілих файлових систем.

  8. Вимкніть кореневої доступ до загальних ресурсів NFS без крайньої необхідності. Це може допомогти запобігти отримання зловмисниками повного контролю над сервером NFS.

  9. Оновлюйте серверне і клієнтське програмне забезпечення NFS з допомогою останніх виправлень безпеки і оновлень для усунення будь-яких відомих вразливостей.

  10. Відстежуйте активність NFS на предмет ознак несанкціонованого доступу, таких як незвичайні схеми доступу до файлів або спроби доступу з незнайомих IP-адрес.

Висновок

Мережна файлова система (NFS) це широко використовуваний протокол для обміну файлами по мережі. Однак це може призвести до кількох ризиків безпеки, якщо не буде забезпечено належним чином. Впроваджуючи стратегії пом'якшення наслідків, такі як використання останньої версії NFS, використання надійних механізмів автентифікації, обмеження доступу до ресурсів NFS і моніторинг активності NFS, організації можуть значно підвищити безпеку свого середовища NFS. Крім того, важливо регулярно оновлювати програмне забезпечення NFS і використовувати механізми шифрування і контролю доступу для подальшого захисту конфіденційних даних. Роблячи ці кроки, організації можуть знизити багато ризики безпеки, пов'язані з NFS, і допомогти забезпечити конфіденційність, цілісність і доступність своїх даних.

Інші Послуги

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

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