2049 - Pentesting NFS Service
Last updated
Last updated
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
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バージョンは、ネットワーク環境の進化するニーズに対応することを目的として開発されており、セキュリティ、互換性、パフォーマンスを徐々に向上させています。
サーバーがマウントするためにどのフォルダーを利用可能にしているかを知るには、次のように尋ねます:
次に、次のコマンドを使用してマウントします:
バージョン2を使用することを指定する必要があります。なぜなら、それには認証や承認がないからです。
例:
特定のユーザー(UID)のみがアクセスできるファイルやフォルダを含むフォルダをマウントすると、ローカルにそのUIDを持つユーザーを作成し、そのユーザーを使用することでファイル/フォルダにアクセスできるようになります。
ファイルにアクセスするために、UIDとGIDを簡単にリスト、マウント、変更するには、nfsshellを使用できます。
読み書き権限 (rw
): この設定は、ファイルシステムからの読み取りと書き込みの両方を許可します。このような広範なアクセスを付与することの影響を考慮することが重要です。
安全でないポートの使用 (insecure
): 有効にすると、システムは1024以上のポートを利用できるようになります。この範囲を超えるポートのセキュリティは厳格でない場合があり、リスクが増加します。
ネストされたファイルシステムの可視性 (nohide
): この設定により、別のファイルシステムがエクスポートされたディレクトリの下にマウントされていても、ディレクトリが可視化されます。各ディレクトリには適切な管理のために独自のエクスポートエントリが必要です。
ルートファイルの所有権 (no_root_squash
): この設定では、ルートユーザーによって作成されたファイルは元のUID/GID 0を維持し、最小権限の原則を無視し、過剰な権限を付与する可能性があります。
すべてのユーザーの非スクワッシュ (no_all_squash
): このオプションは、ユーザーのアイデンティティがシステム全体で保持されることを保証しますが、正しく処理されない場合、権限やアクセス制御の問題を引き起こす可能性があります。
NFS no_root_squash と no_all_squash の特権昇格
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)