Burp, dans nos métiers de la sécurité, on dit souvent que c’est notre meilleur ami. Burp ne vous dit rien ? Il s’agit d’un logiciel dédié à l’audit de sécurité web, utilisé par une majorité de professionnels de la sécurité de l’information. Dans un premier temps, nous vous présentons l’outil Burp et quatre modules fondamentaux. Pour ceux qui sont déjà familiers avec l’outil, une deuxième partie plus technique présente quelques fonctionnalités et extensions pour gagner en efficacité.
Burp Suite brièvement
Burp Suite, appelé le plus souvent seulement Burp, est un outil dédié à l’audit de sécurité des plateformes web. Ses fonctions principales sont un proxy web et un scanner de vulnérabilité web. Ce logiciel est développé par l’entreprise PortSwigger. Burp Suite a une version gratuite, qui inclut le proxy, le repeater et l’intruder (de manière limitée). Nous vous parlons ci-dessous de ces trois modules ainsi que du scanner, qui est inclus dans la version payante.
Cet outil est le logiciel incontournable pour auditer une application web, car il répond au besoin premier d’un professionnel de l’audit : accéder aux échanges entre le navigateur et le serveur web, afin de comprendre l’architecture et le fonctionnement de la solution à auditer. Grâce à ses différentes fonctionnalités configurables facilement, il est le couteau suisse d’un pentester.
Burp Suite n’est pas le seul logiciel à proposer les fonctionnalités de scanner de vulnérabilité et proxy web. En effet, l’outil ZAP développé par l’OWASP ou encore VEGA proposent les mêmes fonctionnalités. Cependant, par sa modularité avec ses extensions, son ergonomie et sa communauté active (qui développe de nouvelles extensions et créée de la documentation détaillée sur les modules), Burp est devenu un outil de référence dans sa catégorie.
Le fonctionnement global de Burp est pensé de façon modulaire. Certains de ses modules sont installés par défaut sur le logiciel. Ce sont les modules essentiels à la conduite d’un audit. D’autres modules complémentaires nommés extensions sont disponibles au téléchargement via l’extender (le « catalogue » de Burp). L’article suivant « Fonctionnalités et extensions de Burp » détaille quelques extensions qui simplifient des tâches chronophages.
Nous allons maintenant détailler les principes de quatre modules essentiels de ce logiciel.
Le proxy HTTP
Le module proxy HTTP de Burp est un proxy d’interception, qui permet de se placer entre l’utilisateur et les applications HTTP, afin d’intercepter toutes les requêtes émises par l’utilisateur. C’est LA fonction principale pour un pentester web, parce que cela permet une compréhension totale du fonctionnement du site web. Le proxy offre deux possibilités :
- soit intercepter de façon bloquante les requêtes, dans le but de modifier à la volée toutes les requêtes émises par l’application web (onglet intercept) ;
- soit placer l’outil en mode passif, et dans ce cas un historique des requêtes émises par le site sera disponible dans l’onglet HTTP history ou WebSocket history (selon le protocole de communication).
Enfin, ce module propose plusieurs fonctions de configurations dans le but de modifier de façon automatique les requêtes qu’il reçoit.
Le scanner de vulnérabilités
Le scanner de vulnérabilités permet l’automatisation de certains tests. Lors d’un audit, un pentester n’a pas le temps suffisant pour tester de façon manuelle tous les paramètres des requêtes effectuées par un site web. Le scanner va l’aider dans cette tâche. Dans le but de scanner une requête, il suffit de sélectionner dans le proxy la requête à analyser. Burp va ensuite prendre la requête et la renvoyer avec différentes payloads malveillantes pour tous les paramètres qu’elle contient. Les comportements du serveur face à ces charges sont analysés par Burp, qui avertira lorsqu’une vulnérabilité semblera avoir été découverte.
L’intruder, l’outil d’intrusion
L’intruder de Burp est un module permettant le scan des requêtes avec des payloads personnalisées. Contrairement au scanner, l’intruder n’a pas de listes de payloads prédéfinies. C’est au pentester de renseigner une liste de payloads, ce qui permet de spécifier les paramètres à scanner et les tests à réaliser.
Ce module est utilisé pour les attaques par brute force, les énumérations d’objets ou encore les contournements de filtres. En effet, il est possible de fournir une liste de payloads spécifiques en fonction de la vulnérabilité ciblée.
Le repeater, le répéteur HTTP
Le repeater est un module envoyant des requêtes HTTP à un serveur. Il récupère les requêtes interceptées précédemment par le proxy et permet de les modifier manuellement, avant de les renvoyer individuellement au serveur.
Le repeater est particulièrement utilisé pour tester les failles logiques, car la précision des modifications des requêtes qu’il offre est appréciée pour analyser des processus logiques, comme le paiement d’un panier d’achats.
Après ce premier article, nous espérons que Burp n’est plus du ‘jargon technique’ et que cette présentation de quatre modules essentiels a illustré l’intérêt de Burp pour tester la sécurité des applications web.
Pour approfondir l’outil, nous vous expliquons dans l’article suivant des fonctionnalités et extensions pour aller plus loin dans votre usage de ce logiciel et gagner en efficacité.