Au-delà des problèmes génériques de listage, de traversée et de téléversement, des produits de serveur de fichiers spécifiques ont livré leurs propres vulnérabilités graves, fréquemment non authentifiées et donnant une exécution de code directe. Les schémas notables :
- HFS (HTTP File Server) : l'injection de template et d'expression dans le traitement de ses requêtes a donné une exécution de code à distance non authentifiée ; son moteur de macros/templates en est le siège.
- Interfaces web de NAS : les interfaces web des NAS grand public et PME ont véhiculé à plusieurs reprises des failles de contournement d'authentification, de traversée de chemin et d'injection de commande atteignables sans authentification, menant au root de l'équipement.
- Applications de serveur de fichiers générales : injection de commande dans les fonctionnalités qui invoquent un shell (gestion d'archives, traitement de médias) et failles de traversée/téléversement au-delà des cas génériques.
Dresser l'empreinte et faire correspondre#
# identify the product and version, then match to its advisory
curl -sI http://<target>:<port>/ # Server header and app-specific headers
curl -s http://<target>:<port>/ | grep -iE 'hfs|version|powered by'
whatweb http://<target>:<port>/ 2>/dev/null
Identifiez le produit et la version exacts à partir de l'en-tête Server, du contenu de la page et de l'empreinte, puis faites correspondre à la vulnérabilité connue pour ce build. Beaucoup de ces failles sont non authentifiées, de sorte qu'atteindre l'interface est la principale condition préalable ; l'exploit propre au produit (injection de template, injection de commande, contournement d'authentification) constitue alors la voie directe.
Notes d'exploitation#
- L'identification du produit est l'étape clé : les surfaces génériques (listage, traversée, téléversement) s'appliquent partout, mais la voie à plus fort impact est souvent une RCE non authentifiée propre au produit qu'une correspondance de version révèle.
- HFS et les serveurs légers similaires dotés de moteurs de macros/templates sont sujets à l'injection dans ce moteur ; les interfaces web de NAS sont sujettes à la traversée et à l'injection de commande sans authentification.
- Combinez avec les techniques génériques : un produit peut ne pas avoir de CVE connue tout en tombant par son comportement de téléversement ou de traversée, voir Téléversement de fichier vers RCE et Traversée de chemin.