1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NFSのroot_squashってなに

Posted at

はじめに

CTF初めて2カ月の初心者がTryHackMeのNetworkService2のNFSをやるなかで学んだことを共有します。

NFS

Network File System.ファイル共有プロトコル。
プラットフォーム間の互換性があり、Linux、MACos、WindowsなどOSを跨ぐファイル移動時につかわれている。
マウントすることでNFSサーバーの共有ディレクトリーをローカルファイルのように扱うことができる。NFSサーバーからファイルをDownloadせずとも直接実行、編集することができる。

類似ファイル共有プロトコルとの違いと強み

FTP.ファイルをダウンロードしないと編集できない。 SMB.名前解決などファイル共有以外の機能もあり、ヘッダーが大きくなってしまう。

root_squash

NFSにおいてはNFSクライアントのrootユーザーがNFSサーバー上で「nobody」として扱われる設定です。もしNFSサーバーが root_squash を無効にしている場合(no_root_squash 設定がされている場合)、クライアント側の root ユーザーがそのままサーバーの root 権限で操作できることになります。

no_root_squash時の攻撃例!

SUIDを設定したbashファイルを使った攻撃
①クライアント側でroot権限で実行されるSUIDのbashファイル"bash"作成。
②NFSを使って"bash"をNFSサーバーに保存する。
③SSHなどを使ってuserとしてNFSサーバーに接続して、"bash"を実行
④"bash"のSUIDがNFSサーバーのrootだと誤認し、NFSサーバーのルート権限で実行してしまう。
⑤root権限でやりたい放題。

もし、root_squashが設定されていれば、④でNFSクライアントのrootユーザーが設定したSUIDはnobodyとして認識される。その結果"bash"はnobodyの権限で実行されるため権限昇格はされない。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?