Netatalk est le serveur AFP open-source qui alimente l'AFP sur Linux et l'écrasante majorité des appliances NAS. Son code d'analyse des requêtes a porté à plusieurs reprises des bugs de corruption mémoire pré-authentification, des écritures hors limites et des failles connexes dans le traitement des requêtes AFP et des structures de données associées, qui donnent une exécution de code à distance avant toute connexion. Comme Netatalk tourne généralement en tant que root (ou service privilégié) sur les appliances, l'exploitation donne couramment root sur le NAS, faisant d'un Netatalk exposé et non corrigé l'une des cibles de service de fichiers à plus forte valeur.
# fingerprint Netatalk and its version
nmap -p548 --script afp-serverinfo <target> # server name/version string
# many NAS vendors bundle Netatalk; identify the device and its firmware version,
# then match the Netatalk version to the advisory for a pre-auth parsing bug
Notes d'exploitation#
- Ce sont des failles pré-authentification : atteindre le port 548 est la seule condition préalable, donc un Netatalk exposé à Internet ou au réseau avec une version en retard est directement exploitable.
- La prévalence de Netatalk sur les appliances NAS signifie qu'un seul bug affecte le firmware de nombreux fabricants d'un coup, et le privilège du service fait généralement que le résultat est root sur l'équipement.
- Identifiez la version de Netatalk/du firmware et faites-la correspondre à l'avis de sécurité spécifique ; ce sont des exploits de corruption mémoire propres à chaque version, le mappage de version est donc l'étape clé.
- Distinct des problèmes de configuration (accès invité, identifiants par défaut), cela ne nécessite aucun identifiant ni aucune mauvaise configuration, seulement une version non corrigée.