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)