12 KiB
2049 - NFSサービスのペンテスト
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?または、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
- The PEASS Familyを見つけてください。独占的なNFTのコレクションです。
- 公式のPEASS&HackTricksのグッズを手に入れましょう。
- 💬 Discordグループまたはtelegramグループに参加するか、Twitterでフォローしてください🐦@carlospolopm。
- **ハッキングのトリックを共有するには、hacktricksリポジトリとhacktricks-cloudリポジトリ**にPRを提出してください。
基本情報
NFSは、ネットワーク上のファイルにアクセスし、それらをローカルのファイルディレクトリと同様に扱うためのクライアント/サーバーシステムです。SMBと同じ目的を持っていますが、SMBとは通信できません。
NFSプロトコルには、認証または認可のためのメカニズムはありません。認可は、サーバーがクライアントから提供されたユーザー情報をファイルシステムの情報に変換し、UNIXで必要な構文にできるだけ正確に変換することを担当します。
最も一般的な認証方法はUNIXのUID
/GID
とグループメンバーシップ
です。そのため、この構文がNFSプロトコルに適用される可能性が最も高いです。問題は、クライアントとサーバーが必ずしも同じUID/GIDのマッピングを持っている必要がないことです。サーバー側ではさらなるチェックは行われません。そのため、NFSは信頼できるネットワークでのみこの認証方法で使用する必要があります。
デフォルトポート: 2049/TCP/UDP(バージョン4を除く、TCPまたはUDPのみ必要)。
2049/tcp open nfs 2-3 (RPC #100003
バージョン
(From https://academy.hackthebox.com/module/112/section/1068)
バージョン | 特徴 |
---|---|
NFSv2 |
これは古いバージョンですが、多くのシステムでサポートされており、最初は完全にUDP上で動作していました。 |
NFSv3 |
変数サイズとより良いエラーレポートなど、より多くの機能を備えていますが、NFSv2クライアントと完全に互換性がありません。 |
NFSv4 |
Kerberosを含み、ファイアウォールやインターネットを介して動作し、ポートマッパーが不要になり、ACLをサポートし、状態ベースの操作を適用し、パフォーマンスの向上と高いセキュリティを提供します。また、最初のバージョンで状態を持つプロトコルを持っています。 |
列挙
便利なnmapスクリプト
nfs-ls #List NFS exports and check permissions
nfs-showmount #Like showmount -e
nfs-statfs #Disk statistics and info from NFS share
便利なMetasploitモジュール
Metasploitモジュールは、NFSサービスのペンテストに役立つさまざまな機能を提供します。
nfs_enum
このモジュールは、NFS共有の情報を列挙するために使用されます。以下のコマンドを使用して実行します。
use auxiliary/scanner/nfs/nfsmount
nfs_showmount
このモジュールは、NFSサーバーがエクスポートしている共有を表示するために使用されます。以下のコマンドを使用して実行します。
use auxiliary/scanner/nfs/nfs_showmount
nfs_version
このモジュールは、NFSサーバーのバージョンを特定するために使用されます。以下のコマンドを使用して実行します。
use auxiliary/scanner/nfs/nfs_version
nfs_mount
このモジュールは、NFS共有をマウントするために使用されます。以下のコマンドを使用して実行します。
use exploit/linux/nfs/nfs_mount
nfs_rpcbind
このモジュールは、NFSサーバーのRPCバインドサービスを検出するために使用されます。以下のコマンドを使用して実行します。
use auxiliary/scanner/nfs/nfs_rpcbind
これらのMetasploitモジュールを使用することで、NFSサービスのペンテストに役立つ情報を取得できます。
scanner/nfs/nfsmount #Scan NFS mounts and list permissions
マウント
サーバーがマウント可能なフォルダを知るために、次のコマンドを使用してサーバーに問い合わせることができます。
showmount -e <IP>
次に、次のコマンドを使用してマウントします:
mount -t nfs [-o vers=2] <ip>:<remote_folder> <local_folder> -o nolock
次の例では、バージョン2を使用するように指定する必要があります。なぜなら、バージョン2には認証や承認が一切ないからです。
例:
mkdir /mnt/new_back
mount -t nfs [-o vers=2] 10.12.0.150:/backup /mnt/new_back -o nolock
Permissions
もし、特定のユーザーにのみアクセス可能なファイルやフォルダ(UIDによって)が含まれているフォルダをマウントする場合、そのUIDを持つユーザーをローカルに作成し、そのユーザーを使用してファイル/フォルダにアクセスすることができます。
NSFShell
ファイルを簡単にリストアップ、マウント、UIDとGIDを変更してアクセスするためには、nfsshellを使用することができます。
Config files
/etc/exports
/etc/lib/nfs/etab
危険な設定
(From https://academy.hackthebox.com/module/112/section/1068)
オプション | 説明 |
---|---|
rw |
読み書きの権限を持つ。 |
insecure |
1024以上のポートが使用される。 |
nohide |
エクスポートされたディレクトリの下に別のファイルシステムがマウントされている場合、このディレクトリは独自のエクスポートエントリでエクスポートされる。 |
no_root_squash |
rootによって作成されたすべてのファイルは、UID/GID 0で保持される。 |
no_all_squash |
NFSの設定ミスを利用した特権昇格
NFS no_root_squashとno_all_squashの特権昇格
HackTricks自動コマンド
Protocol_Name: NFS #Protocol Abbreviation if there is one.
Port_Number: 2049 #Comma separated if there is more than one.
Protocol_Description: Network File System #Protocol Abbreviation Spelled out
Entry_1:
Name: Notes
Description: Notes for NFS
Note: |
It is a client/server system that allows users to access files across a network and treat them as if they resided in a local file directory.
#apt install nfs-common
showmount 10.10.10.180 ~or~showmount -e 10.10.10.180
should show you available shares (example /home)
mount -t nfs -o ver=2 10.10.10.180:/home /mnt/
cd /mnt
nano into /etc/passwd and change the uid (probably 1000 or 1001) to match the owner of the files if you are not able to get in
https://book.hacktricks.xyz/pentesting/nfs-service-pentesting
Entry_2:
Name: Nmap
Description: Nmap with NFS Scripts
Command: nmap --script=nfs-ls.nse,nfs-showmount.nse,nfs-statfs.nse -p 2049 {IP}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- サイバーセキュリティ会社で働いていますか? HackTricksで会社を宣伝したいですか?または、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
- The PEASS Familyを見つけてください、私たちの独占的なNFTのコレクション
- 公式のPEASS&HackTricksのグッズを手に入れましょう
- 💬 Discordグループまたはtelegramグループに参加するか、Twitterで私をフォローしてください🐦@carlospolopm.
- **ハッキングのトリックを共有するには、hacktricksリポジトリとhacktricks-cloudリポジトリ**にPRを提出してください。