OdooMap - L'outil de pentest qui fait trembler les installations Odoo mal sécurisées
Imaginez pouvoir scanner votre propre installation Odoo comme un hacker éthique pour y débusquer toutes les failles en quelques minutes. Et bien c’est exactement ce que fait OdooMap créé par Mohamed Karrab et dispo sur GitHub. Avec plus de 7 millions d’entreprises qui utilisent Odoo dans le monde, les failles de sécurité peuvent coûter très cher, donc c’est super de s’y intéresser un minimum.
Pour ceux qui ne connaissent pas, Odoo c’est cet ERP open source hyper populaire qui gère tout dans une entreprise : ventes, stocks, comptabilité, RH, site web, et j’en passe. Le problème, c’est que beaucoup d’installations Odoo sont mal configurées ou pas à jour, ce qui les rend vulnérables. Et quand on sait que cet ERP contient littéralement toutes les données sensibles d’une boîte, ça fait froid dans le dos.
C’est là qu’OdooMap entre en jeu. Mohamed Karrab a développé cet outil de reconnaissance et de test de sécurité spécialement pour Odoo. Et c’est du sérieux car l’outil fait tout : détection de version, énumération des bases de données, vérification des permissions CRUD (Create, Read, Update, Delete), extraction de données, et même du brute-force sur les logins et le master password.
Ce qui est vraiment bien pensé, c’est que OdooMap couvre toutes les phases d’un test de sécurité. D’abord la reconnaissance pour identifier la version d’Odoo et récupérer les métadonnées. Ensuite l’énumération pour lister les bases de données accessibles et les modèles exposés. Puis l’authentification et la vérification des permissions pour voir ce qu’un utilisateur peut vraiment faire. Et enfin l’extraction de données depuis des modèles spécifiques si vous avez les droits.
L’installation est super simple. Vous clonez le repo GitHub, vous installez avec pipx (ou pip si vous préférez), et c’est parti. Le développeur recommande d’utiliser pipx pour éviter de polluer votre système Python, ce qui est une bonne pratique :
git clone https://github.com/MohamedKarrab/odoomap.git
cd odoomap
pipx ensurepath && pipx install .
odoomap -h
Les fonctionnalités de brute-force sont particulièrement intéressantes. Par exemple, OdooMap peut tester des credentials par défaut, utiliser vos propres listes de mots de passe, ou même attaquer le master password de la base de données. C’est exactement le genre d’attaques que les vrais hackers utiliseraient, donc autant les tester vous-même avant eux.
Pour un scan de base, c’est aussi simple que :
odoomap -u https://example.com
Mais la vraie puissance se révèle quand vous commencez à combiner les options. Par exemple, pour authentifier et énumérer les modèles :
odoomap -u https://example.com -D database_name -U admin -P pass -e -l 200 -o models.txt
Ou pour vérifier les permissions sur les modèles (ce qui peut révéler des problèmes de configuration critiques) :
odoomap -u https://example.com -D database_name -U [email protected] -P pass -e -p -l 10
L’outil a également la capacité d’extraire des données depuis des modèles spécifiques. Si vous avez accès à res.users ou res.partner par exemple, vous pouvez dumper toutes les infos comme ceci :
odoomap -u https://example.com -D database_name -U admin -P pass -d res.users,res.partner -o ./output.txt
D’après mes recherches, les vulnérabilités les plus courantes dans Odoo incluent les failles XSS (Cross-Site Scripting), les problèmes de contrôle d’accès, les IDOR (Insecure Direct Object References) et les SSRF (Server-Side Request Forgery). OdooMap permet donc de tester une bonne partie de ces vulnérabilités, notamment les problèmes d’accès et d’authentification.
Ce qui est intéressant aussi, c’est que l’outil peut faire du brute-force sur les noms de modèles internes. Odoo a des centaines de modèles, et parfois certains sont exposés alors qu’ils ne devraient pas l’être. OdooMap peut les découvrir automatiquement :
odoomap -u https://example.com -D database_name -U admin -P pass -e -B --model-file models.txt
Bien sûr, comme tout outil de sécurité, OdooMap doit être utilisé de manière responsable. Mohamed Karrab le rappelle clairement : c’est fait pour des tests autorisés uniquement. Utiliser cet outil sans permission, c’est illégal et vous risquez de gros problèmes avec la police (et pas la Municipale, hein ^^) !! Mais si vous gérez une installation Odoo ou si vous êtes mandaté pour faire un audit, c’est un must-have.
L’outil est sous licence Apache 2.0, donc totalement open source et gratuit et le code est en Python 3.9+, donc accessible si vous voulez comprendre comment ça fonctionne ou l’adapter à vos besoins.
Pour aller plus loin dans la sécurisation d’Odoo, je vous conseille de jeter un œil à la page officielle de sécurité d’Odoo. Ils prennent la sécurité au sérieux et encouragent la divulgation responsable des vulnérabilités.
Pour ceux qui cherchent d’autres outils de pentest, il y a évidemment les classiques comme Metasploit, Burp Suite ou Nessus mais l’avantage d’OdooMap, c’est qu’il est spécialisé pour Odoo. Il connaît les spécificités de cet ERP et peut donc aller beaucoup plus loin qu’un scanner générique.
Pour finir, un grand bravo à Mohamed Karrab pour cet outil !