Burp Suite : LE proxy web

To the non-french speaker, note that you can translate the articles using the Google Trad widget situated at the bottom of all pages.


Je vous avais déjà parlé de burp suite dans l’article sur le protocole HTTP mais j’ai décidé de faire un article à part entière car je ne vous ai pas tout dit dessus et franchement, cet outil nous simplifie grandement la tâche quand on part à la recherche de failles sur le web.

Donc Burp Suite est une suite d’outils développée en Java par la société PortSwigger Ltd. Il existe trois versions de Burpsuite : la version community (free), la version professional et la version enterprise (les deux dernières sont payantes et assez chères).

Pour ce qui est de l’installation je vous invite à lire la page d’installation du site officiel. Pour lancer l’outil, ouvrez un terminal et entrez cette commande :

burpsuite

Cette page devrait apparaître :

preburp.png

Cliquez sur « Next » puis sur « Start Burp ». Vous atterrirez sur la page principale de Burp :

accueil.png

Sur la barre du dessus vous avez les différents outils disponibles. Au cours de cet article nous verrons comment utiliser le proxy, le repeater, le spider, l’intruder et le decoder.

I/ Proxy

C’est l’outil le plus utilisé de la suite et pour cause, il nous permet d’intercepter toutes les requêtes envoyées depuis notre navigateur, de les modifier et de réceptionner la réponse du serveur. Pour cela il va falloir configurer notre navigateur pour qu’il envoie toutes les requêtes au Burp Proxy. Personnellement je travaille exclusivement sur Firefox donc je vais vous expliquer comment configurer ce navigateur.

Allez dans les « Paramètres » puis dans « Préférences » > « Avancés » et enfin « Réseau ».

settings

Cliquez sur « Paramètres » et complétez le panel de configuration de la façon suivante :

config

En faisant ça on dit juste à Firefox que nous voulons que toutes les requêtes soient envoyés au proxy qui tourne sur le localhost et qui écoute sur le port 8080.


Note : il existe plusieurs plugins pour Firefox et Chrome qui permettent de switcher la configuration des proxys. Pour ma part j’utilise le plugin Proxy SwitchyOmega disponible ici.


Retournez sur Burp Suite, allez dans l’onglet « Proxy » et assurez vous que le proxy est configuré pour intercepter les requêtes :

interceptison

Voilà ! Notre Burp Proxy est configuré. Maintenant si vous lancez une requête sur Firefox vous allez recevoir une notification qui vous dit que la requête à été intercéé…

error

Oh wait ! On ne pourra pas se rendre sur des sites en HTTPS à cause des règles HSTS ! Eh oui, nous essayons de contacter le site http://www.facebook.com mais le certificat que nous recevons est celui de Burpsuite donc notre navigateur bloque la connexion !

Pour régler ce problème on va devoir télécharger le certificat d’autorité de Burp et l’installer dans Firefox. Pour cela rendez vous ici en ayant le proxy activé. Puis cliquez sur CA Certificate et téléchargez le certificat.

Maintenant rendez vous dans l’onglet « Avancées » puis « Certificats » dans les paramètres Firefox. Cliquez sur « Voir les certificats ». Un onglet va s’ouvrir, allez dans « Autorités » :

autorities

Cliquez sur « Importer » puis sélectionnez le certificat que vous avez téléchargé tout à l’heure. Pour finir cochez « Faire confiance à ce CA pour identifier les sites web » :

finalimport.png

A partir de là vous ne devriez plus avoir de problèmes. Les requêtes HTTP et HTTPS seront captées par Burp et vous pourrez les modifier.

Problèmes encore, si vous êtes en train de tester les sécurités d’un site en écoutant de la musique sur YouTube vous allez recevoir les requêtes du site que vous testez et celles venant de YouTube (et YouTube va vous flooooooder au max). Donc on va voir comment restreindre notre scope à un ou plusieurs sites. Pour cela allez dans l’onglet « Target » sur Burp Suite :

scopetotal

Sur la gauche vous avez tous les sites pour lesquels des requêtes ont été réceptionnées par Burp.

Attention, pour que le site apparaisse il faut que vous vous y soyez rendus avec le proxy actif.

Si vous voulez que Burp ne se concentre que sur un site il faudra le sélectionner, faire un clic droit et cliquez sur « Add to scope ». Ensuite retournez dans la section proxy puis « Options » et modifier les règles d’interception comme ceci :

rules.png

Voilà ! Les seuls requêtes que vous recevrez seront celles que vous avez placé dans votre scope.

Une fois que vous avez intercepté une requête, burp vous affichera son contenu :

reqest

Vous pouvez tout modifier. Absolument tout et comment bon vous semble. Ensuite vous n’avez plus qu’à la forwarder (i.e : l’envoyer au serveur) et si vous voulez réceptionner la réponse du serveur il vous suffira de cliquer sur « Action » puis sur « Do intercept > Response to this request ».

Bon c’est cool, on intercepte, modifie et renvoie des requêtes mais n’y aurait-il pas moyen de rejouer une requête sans avoir à se retaper toutes ces actions ? Eh bien si, la suite burp propose un outil qui permet de rejouer une requête très simplement : Repeater.

II/ Repeater

Burp Repeater c’est clairement là où vous passerait le plus de temps. Par défaut il n’y a rien dans cet onglet :

repeater

C’est tout à fait normal, c’est à vous de dire quelle requête vous voulez envoyer dans le repeater. Pour cela choisissez une requête dans le proxy, cliquez sur « Action » puis « Send to Repeater » puis rendez vous dans la section Repeater et … Tadaa :

repeaterfilled

Maintenant vous pouvez modifier votre requête puis l’envoyer. Vous obtiendrez la réponse du serveur automatiquement :

repeaterend

Pour ma part je me sers de cet outil quand j’ai déjà repéré une faille et que je chercher à l’exploiter au mieux ou encore lorsque je fuzz des paramètres afin d’analyser le fonctionnement de l’application.

III/ Spider

Burp Spider est un outil bien sympas puisqu’il permet de mapper un site. C’est en fait un scanner qui va parcourir tous les liens qu’il trouve sur le site web que vous lui avez spécifié.

Pour le lancer c’est très simple, rendez vous dans l’onglet Target, sélectionner le site que vous voulez mapper, clic droit > Spider This Host. Vous trouverez les résultats du scan dans l’onglet Site Map :

pages.png

Ensuite c’est à vous de faire l’analyse des liens. Certains peuvent être intéressants dans le cadre d’une exploitation 😉 !

IV/ Decoder

Le dernier outil que je trouve intéressant c’est le burp decoder. Il permet très rapidement d’encoder/décoder une chaîne de caractères (on s’en sert beaucoup pour bypass des filtres par exemple) :

decoder

Je ne vais pas vous expliquer comment il fonctionne, je pense que c’est assez explicite eheh.

Voilà voilà pour Burp Suite. Cet outil est clairement le couteau suisse du pentester web 😉 !

Un commentaire

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s