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