L'accès aux données d'un back-end SQL est souvent considéré comme le point final d'un pentest sur une application web, mais avec des back-end SQL de plus en plus riches en termes de fonctionnalités et l'essor des web services, les bases de données ne sont plus cantonnées au fond du SI dans une dmz isolée, mais sont devenues de véritables nœuds d'interconnexion entre SI. Il ne faut donc plus considérer l'accès au SGBD comme une fin en soi, mais comme un point d'appui pour pénétrer en profondeur dans les SI.Nous verrons comment un attaquant partant d'une simple injection SQL peut rapidement transformer une base de données Oracle en un proxy http, ainsi que les outils qui sont à sa disposition pour faciliter cette tâche. Nous terminerons par quelques recommandations pour pallier de tels risques.
1. Introduction
Jusqu'où peut-on aller à partir d'une injection SQL dans un select s'exécutant dans un SGBD Oracle avec les privilèges par défaut ?
Bien souvent, un pentest sous Oracle consiste en une escalade de privilèges, et à récupérer le hash du mot de passe du DBA en guise de trophée, on va rarement plus loin parce que le périmètre établi ne le permet pas, ou tout simplement parce qu'un dump des données de la base est une preuve suffisante. Mais pour un attaquant, c'est plutôt une vision à court terme.
Les solutions offertes aux clients pour enrichir les interconnexions entre leurs SGBD historiques et les autres systèmes par le biais de web services et autres technologies XML ont changé la donne. L'agrégation de données en provenance de plusieurs systèmes jadis indépendants pousse l'évolution du rôle des SGBD dans ce sens. Il suffit de regarder l'ensemble des fonctionnalités offertes par les grands noms de la base de données pour s'en rendre...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première