
OWASP ZAP : Description de l'outil, fonctionnalités clés et ressources utiles
Les pentesters utilisent divers outils au cours d'un audit pour gagner du temps et identifier le plus d'erreurs de sécurité possible. Certaines activités ne peuvent pas être effectuées manuellement dans un délai raisonnable. Un exemple est la détection de toutes les sous-pages d'un site web. Il existe des outils payants et gratuits qui permettent de le faire. Des scanners de vulnérabilités sont également créés et développés activement. Ils incluent des solutions qui soutiennent le pentesting.
Qu'est-ce qu'un scanner de vulnérabilités ?
Les scanners de vulnérabilités sont des outils qui automatisent le processus de détection des vulnérabilités de sécurité. Ils incluent des scanners statiques - SAST, des scanners dynamiques - DAST, et des scanners interactifs - IAST. Ils fonctionnent en utilisant des modèles connus et populaires pouvant causer des bugs, tels que Cross-site scripting, SQL Injection, Command Injection, Path Traversal, et d'autres. Il existe de nombreux scanners, payants et gratuits, chacun ayant ses forces et ses faiblesses. Vous pouvez utiliser différentes solutions pour comparer les outils - les plus populaires sont OWASP Benchmark et WAVSEP. Les résultats de ces benchmarks peuvent vous en dire beaucoup sur l'adéquation d'un outil particulier. Lorsque vous choisissez un scanner, je recommande de lire les résultats de comparaisons, d'analyser les avantages et les inconvénients des solutions disponibles, et de faire un choix éclairé.
Je vais maintenant vous donner un aperçu du fonctionnement des scanners en me concentrant sur l'un d'entre eux. Ce sera OWASP ZAP - outil de test de sécurité des applications dynamiques (DAST).
Qu'est-ce que OWASP ZAP ?
ZAP (Zed Attack Proxy) est un outil gratuit, open source et multifonctionnel pour tester la sécurité des applications web. Il est simple à installer et à utiliser, ce qui en fait l'un des meilleurs choix pour ceux qui débutent avec ce type de logiciel. OWASP ZAP est disponible pour Windows, Linux, et Mac OS.
Principales caractéristiques du scanner ZAP
ZAP est un mandataire 'man-in-the-middle'. Cela signifie qu'il fonctionne derrière le navigateur, mais avant l'application auditée. Toutes les informations échangées entre le navigateur et l'application passent donc d'abord par ZAP.

Source : Zaproxy.org
Examinons maintenant quelques caractéristiques sélectionnées de cet outil.
Scan Actif
Le scan actif recherche des vulnérabilités potentielles en utilisant des attaques connues. Il est important de noter que le Scan Actif ne peut trouver que certaines vulnérabilités. Les erreurs dans la logique de l'application ne peuvent pas être détectées par un scan de vulnérabilité actif ou automatique. Cela n'est possible que lors d'un audit manuel.
Scan Passif
ZAP scanne par défaut toutes les requêtes et réponses HTTP envoyées et reçues par l'application. Le scan passif n'affecte pas leur contenu. Dans ce cas, nous pouvons ajouter des balises ou des alertes qui nous informeront des erreurs potentielles. Cela est activé par défaut, mais - comme pour la plupart des fonctionnalités - cela peut être configuré.
Spider
Le Spider est un crawler, un outil qui vous permet de découvrir et de mapper tous les liens disponibles dans l'application. La liste des liens découverts est ensuite enregistrée et peut être utilisée pour découvrir des informations supplémentaires sur l'application auditée ou pour des scans passifs ou actifs supplémentaires.
Fuzzer
C'est une technique qui consiste à envoyer beaucoup de données incorrectes ou inattendues à l'application testée. OWASP ZAP permet le fuzzing. Nous pouvons choisir l'une des charges utiles intégrées, télécharger celles fournies par la communauté ZAP et disponibles dans les modules complémentaires, ou en créer de nouvelles.
Modules complémentaires
ZAP dispose de modules complémentaires qui augmentent ses capacités. Les modules complémentaires ont un accès complet à toutes les fonctionnalités du programme principal et peuvent fournir des fonctionnalités vraiment intéressantes. La liste des modules complémentaires est disponible sur le Marketplace des Modules complémentaires dans la fenêtre de gestion des modules complémentaires.
API
ZAP fournit une API qui permet à d'autres programmes d'interagir avec elle. Elle accepte les formats JSON, HTML et XML. ZAP présente une page simple où nous pouvons voir la fonctionnalité de l'API. Par défaut, seule la machine sur laquelle ZAP est en cours d'exécution peut se connecter à l'API, mais vous pouvez autoriser d'autres machines à le contacter dans les options de configuration.
Authentification
Si l'application attaquée nécessite une authentification, elle peut être configurée. ZAP prend en charge différents types de méthodes d'authentification. La liste inclut l'authentification manuelle, l'authentification basée sur un formulaire, l'authentification basée sur JSON ou HTTP/NTLM, et l'authentification basée sur un script.
Analyse approfondie - sources de connaissances sur OWASP ZAP
Si vous souhaitez tout savoir sur l'utilisation de ZAP, j'ai préparé une liste de ressources qui vous aideront à comprendre et maîtriser chaque aspect de l'outil et vous permettront de rejoindre la vaste communauté qui s'est formée autour de lui.
Communauté
- Groupe d'utilisateurs - Questions relatives à l'utilisation du scanner.
- Groupe de développeurs - Questions relatives au développement du programme.
- Groupe HUD - Questions sur l'affichage tête haute de ZAP.
- IRC - C'est là que vous trouverez le contact avec les développeurs de ZAP sur le canal #zaproxy.
- Évangélistes - Liste de personnes familières avec l'outil ZAP prêtes à partager leurs avis et connaissances à son sujet.
Dépannage
- Problèmes - Si vous rencontrez un problème, vous pouvez le signaler ici.
- Programme de Bug Bounty - C'est ici que vous pouvez signaler des vulnérabilités.
Votre contribution
- Guide de contribution - Un guide décrivant comment vous pouvez aider à développer le projet.
- Code source - Code source de ZAP.
- Crowdin (GUI) - Aidez à la traduction de l'interface graphique.
- Crowdin (Guide de l'utilisateur Desktop) - Aidez à la traduction du Guide de l'utilisateur de ZAP pour le bureau.
Matériaux d'instruction
Il y a beaucoup de matériel éducatif sur le site Zaproxy.org. Je recommande tout particulièrement ces endroits :
- Le Blog ZAP - Nouvelles du monde de la sécurité et du programme lui-même, ainsi que des sujets liés à sa communauté.
- Zap Deep Dive - Une série de vidéos décrivant différentes fonctionnalités du programme.
- ZAPCon 2021 - Vidéos de la conférence ZAPCon avec des conférences d'experts sur l'outil et la sécurité en général.
- ZAP en dix - Une série de courtes vidéos sur ZAP.
- Atelier d'authentification ADDO - Une autre collection de matériaux sur ZAP, centrée sur les aspects liés à l'automatisation et à l'authentification.
- Tout en un - Index contenant tous les matériaux officiels sur ZAP.
Outil OWASP ZAP – Résumé
Les tests de sécurité des applications, soutenus par des outils qui automatisent ce processus, sont la voie pour détecter le plus grand nombre d'erreurs sur le site audité. Certaines étapes prennent trop de temps pour être effectuées manuellement. La communauté du pentesting a créé des outils gratuits qui font gagner du temps. Il vaut la peine de les utiliser. De plus, le temps passé à apprendre le programme est un bon investissement qui vous permet ensuite de rejoindre une communauté de personnes intéressées par la sécurité des applications. ZAP est l'un des programmes les plus populaires de ce type. De plus, il est gratuit et open source, donc tout le monde peut contribuer à son développement.
J'utilise cet outil, par exemple, lors du contrôle de la sécurité des applications dans Drupal. Si vous avez besoin d'aide pour auditer ce système, faites connaissance avec notre équipe de support Drupal.