2049 - Pentesting NFS Service
Основна інформація
NFS - це система, призначена для клієнт/сервера, яка дозволяє користувачам безперешкодно отримувати доступ до файлів через мережу, ніби ці файли знаходяться в локальному каталозі.
Важливим аспектом цього протоколу є відсутність вбудованих механізмів аутентифікації або авторизації. Замість цього авторизація ґрунтується на інформації файлової системи, при цьому сервер відповідає за точне перекладання наданої клієнтом інформації про користувача в необхідний формат авторизації файлової системи, переважно дотримуючись синтаксису UNIX.
Аутентифікація зазвичай ґрунтується на ідентифікаторах UNIX UID
/GID
та членствах у групах. Однак виникає виклик через можливу несумісність у відображенні UID
/GID
між клієнтами та серверами, не залишаючи місця для додаткової перевірки сервером. Відповідно, протокол найкраще підходить для використання в межах довірених мереж, оскільки він ґрунтується на цьому методі аутентифікації.
Порт за замовчуванням: 2049/TCP/UDP (крім версії 4, для неї потрібен лише TCP або UDP).
Версії
NFSv2: Цю версію відомо своєю широкою сумісністю з різними системами, відзначаючи свою значимість початковими операціями переважно через UDP. Будучи найстарішою у серії, вона заклавла основу для майбутніх розробок.
NFSv3: Введена з рядом поліпшень, NFSv3 розширила можливості свого попередника, підтримуючи змінні розміри файлів та пропонуючи покращені механізми повідомлення про помилки. Незважаючи на свої досягнення, вона зіткнулася з обмеженнями у повній зворотної сумісності з клієнтами NFSv2.
NFSv4: Революційна версія в серії NFS, NFSv4 принесла низку функцій, спрямованих на модернізацію обміну файлами по мережі. Важливі покращення включають інтеграцію Kerberos для високого рівня безпеки, можливість пройти через брандмауери та працювати в Інтернеті без необхідності в портмаперах, підтримку списків керування доступом (ACL), та введення операцій на основі стану. Її покращення продуктивності та використання протоколу зі станом відрізняють NFSv4 як ключовий прогрес у технологіях обміну файлами по мережі.
Кожна версія NFS була розроблена з метою вирішення зростаючих потреб мережевих середовищ, поступово покращуючи безпеку, сумісність та продуктивність.
Перелік
Корисні скрипти nmap
Корисні модулі Metasploit
Підключення
Щоб дізнатися, яка папка на сервері доступна для підключення, ви можете запитати це за допомогою:
Потім змонтувати його за допомогою:
Вам слід вказати використовувати версію 2, оскільки в ній немає жодної форми аутентифікації або авторизації.
Приклад:
Дозволи
Якщо ви монтуєте папку, яка містить файли або папки, до яких може отримати доступ лише деякий користувач (за UID). Ви можете створити локально користувача з тим UID і використовуючи цього користувача, ви зможете отримати доступ до файлу/папки.
NSFShell
Для зручного переліку, монтування та зміни UID та GID для доступу до файлів ви можете використовувати nfsshell.
Файли конфігурації
Небезпечні налаштування
Дозвіл на читання та запис (
rw
): Це налаштування дозволяє як читання, так і запис на файлову систему. Важливо враховувати наслідки надання такого широкого доступу.Використання небезпечних портів (
insecure
): При увімкненні цього параметра система може використовувати порти вище 1024. Безпека портів вище цього діапазону може бути менш суворою, що збільшує ризик.Видимість вкладених файлових систем (
nohide
): Ця конфігурація робить каталоги видимими навіть у випадку, коли інша файлова система змонтована нижче експортованого каталогу. Кожен каталог потребує свого власного запису для належного управління.Власність кореневих файлів (
no_root_squash
): З цим налаштуванням файли, створені користувачем root, зберігають свій початковий UID/GID 0, ігноруючи принцип найменших привілеїв та потенційно надаючи занадто широкі дозволи.Не підтискання всіх користувачів (
no_all_squash
): Ця опція забезпечує збереження ідентичності користувачів по всій системі, що може призвести до проблем з управлінням дозволами та контролем доступу, якщо не буде правильно оброблена.
Підвищення привілеїв за допомогою неправильних налаштувань NFS
NFS підвищення привілеїв no_root_squash та no_all_squash
Автоматичні команди HackTricks
Last updated