Attention aux Listeners Oracle !
Date : 11 Juillet 2005
" TNS listener " est le composant Oracle permettant (au travers du protocole SQL*Net) d'interroger une base de données Oracle à distance. Il correspond à un démon réseau (" tnslsnr "), en attente sur le port TCP 1521 (cette valeur peut être changée), qui achemine vers la base de données les requêtes des utilisateurs distants.
Par défaut, le listener Oracle n'est pas protégé, et il est donc possible à n'importe qui pouvant établir une connexion TCP sur le port correspondant, de dialoguer avec ce processus. Cela ne donne pas à cet utilisateur un accès à la base de données (qui n'est accessible que si l'on dispose d'un compte Oracle valide), mais cela permet d'activer des commandes locales à ce processus comme :
- ping (test de présence du listener)
- version (version du listener)
- status (état du listener)
- service (liste des services Oracle disponibles)
Ces fonctions de base du listener ne sont pas (à notre connaissance) documentées par Oracle, mais des utilisateurs curieux ont exploré ce domaine. Il en ressort que ces fonctions peuvent permettre de :
- collecter des informations générales, comme le type de plate-forme, ou la version d'Oracle,
- récupérer des résidus d'informations envoyées au listener par des utilisateurs précédents (résidus qui peuvent contenir des noms de comptes Oracle valides),
- et éventuellement de lancer des attaques de type déni de service ou écrasement de fichier.
Ce sujet a déjà été abordé dans le bulletin Cert-IST du mois d'octobre 2000, mais alors qu'ils étaient jusqu'à présent assez peu connus, ces problèmes ont été à nouveau récemment discutés sur Internet. De plus, des outils ont été développés pour dialoguer avec le listener, et une documentation plus abondante est maintenant disponible sur ce sujet (voir à ce propos : http://www.jammed.com/~jwa/hacks/security/tnscmd/tnscmd-doc.html). Devant cette montée en puissance de la vulnérabilité, Cert-IST a donc décidé de publier un avis sur ce sujet (CERT-IST/AV-2001.116).
Il est probable que l'exploration des fonctions du listener, et des détournements possibles, continuent à susciter de l'intérêt dans la communauté Internet. Tant que le listener ne disposera pas de fonctions d'authentification des utilisateurs, le Cert-IST recommande donc de mettre en place un filtrage réseau pour limiter l'accessibilité de ce service. En particulier, ce service ne doit pas être accessible depuis Internet.