Pentest web et test d'intrusion de site internet

Tests d'intrusion d'applications web

Il peut s’agir de votre site vitrine, de votre site de e-commerce tel que PrestaShop ou Magento, ou de toute autre application web : ils contribuent tous à l'exposition publique d’une partie de votre système d'information. Cela peut vous faire courir des risques en termes de sécurité informatique ou d'image de marque. En opérant une prestation de tests d’intrusion sur ces plateformes, nous cherchons à comprendre leur fonctionnement et les mécanismes intégrés afin d’en déceler les potentiels défauts, menant à des vulnérabilités.

L’objectif de ce type d’audit d’audit est d’évaluer la robustesse de votre application web face aux menaces suivantes :

  • Vol d'informations sensibles ou confidentielles
  • Altération de données
  • Contournement de l'authentification
  • Attaque par rebond sur votre réseau interne
  • Élévation de privilège (déplacement latéral et horizontal)
  • Usurpation d'identité
  • Scénarios métier spécifiques

Test d'intrusion de site web

En instaurant systématiquement des équipes de deux pentesters pour chaque audit, les chances de découvrir les failles de sécurité de votre périmètre qui vous intéresse sont grandement augmentées en partageant l’expérience et la façon de penser de deux auditeurs.

Contexte et prérequis

Un pentest d'application web peut s'affectuer dans différents contextes, selon la nature des menaces que vous souhaitez évaluer.

boite-noire

Le pentest en boite noire permet d'évaluer les menaces liées à un attaquant ayant accès à l'application, mais n'ayant pas de compte sur celle-ci. Nous cherchons donc à reproduire le comportement d'un attaquant qui découvre l'application, sans autre information supplémentaire.

boite-grise

Le pentest en boite grise permet d'évaluer les menaces liées à un attaquant possédant un compte administrateur disposant de privilèges élevés sur l'application. Nous cherchons donc à reproduire le comportement d'un utilisateur de l'application, ou d'un attaquant ayant subtilisé les accès d'un utilisateur.

boite-blanche

Enfin, le pentest en boite blanche permet d'évaluer les menaces liées à un attaquant possédant un compte d'utilisateur disposant de privilèges standards sur l'application. Cela peut également inclure des connaissances spécifiques sur le fonctionnement de l'application ou son architecture. Nous cherchons donc à reproduire le comportement d'un administrateur de l'application, ou d'un attaquant ayant subtilisé les accès d'un administrateur.

Le prérequis commun est donc de pouvoir accéder à l'application. Si celle-ci n'est pas exposée publiquement, vous pouvez ajouter nos adresses IP à une liste de contrôle d'accès, nous pouvons passer par un moyen de rebond (VPN, Citrix, RDP...) ou nous déplacer dans vos locaux.

Processus de pentest d'application web

Le processus de nos audits et tests d'intrusion est basé sur le PTES (Penetration Testing Execution Standard), et a pour objectif la réalisation d’un audit dans l’optimisation du temps imparti. Par ailleurs, nous respectons le périmètre que vous nous imposez, que cela soit en termes de cibles, de plage temporelle, ou de type d’attaques.

reconnaissance

Nous débutons par une phase de reconnaissance et d'énumération, durant laquelle nous récoltons autant d'informations que possible sur l'application et ses points d'entrée. Pour la reconnaissance, nous pouvons être amenés à utiliser des Google Dorks, des moteurs de référencement de services ouvertes type Censys et Shodan, des protocoles et outils réseau classiques (whois, dig), ainsi que la découverte de sous-domaines éventuels. Pour la prise d'empreinte, nous utilisons principalement l'outil bien connu nmap pour les scans de ports, mais également d'autres outils et scripts de notre conception permettant d'accélérer cette étape. Nous cherchons à identifier les technologies faisant fonctionner l'application web (CMS type WordPress, Joomla, Drupal, Magento, Liferay...), les briques de socle (Apache, Tomcat, nginx...) et les langages de programmation (Java, PHP...).

exploitation

Une fois en possession d'une cartographie synthétique des services ouverts sur la machine et d'une meilleure connaissance du fonctionnement de l'application web, nous cherchons à dénicher les vulnérabilités qui peuvent s'y trouver. C’est la phase qui requiert le plus d’expertise, car deux auditeurs peuvent trouver des défauts différents selon leur domaine de prédilection. Des outils connus tels que Burp Suite nous permettent de manipuler le contenu des requêtes et provoquer un fonctionnement non prévu par les développeurs de l'application, ce qui peut révéler des vulnérabilités. Nous allons mettre en oeuvre des techniques pour tenter de découvrir et d'exploiter des injections SQL, des failles Cross-Site Scripting, Cross-Site Request Forgery.

redaction

À la fin de l'audit, nous prenons un moment pour échanger avec vous sur les principaux résultats. L'idée est de vous donner une vision synthétique des principaux risques qui pèsent sur l'application web : quels sont les principaux impacts des vulnérabilités découvertes sur la sécurité de vos données et de votre infrastructure, le niveau requis pour l'attaquant et la complexité des attaques à mener. Nous poursuivons alors par la rédaction du rapport.

presentation

Une fois que le rapport vous est parvenu, nous planifions ensemble une restitution des résultats. L'objectif de cette étape est de présenter à la fois une vision managériale des résultats de l'audit, mais également une vision technique détaillée. C'est pourquoi nous vous encourageons à convier vos équipes techniques à cet échange, afin qu'ils soient informés des défauts de sécurité et des actions correctives que nous préconisons pour les corriger.

Bien entendu, les auditeurs restent à votre disposition même après la restitution, par email ou par téléphone, afin de répondre à vos questions ou vous conseiller sur la mise en place des actions correctives. Nous visons à établir une relation de confiance ainsi qu'un accompagnement sur le long-terme.

Focus sur les rapports

Nos rapports sont composés d'une synthèse managériale, qui nous permet d'aborder les résultats au travers d'une approche par les risques. Puis vient le détail technique, dans laquelle l'intégralité des défauts est détaillée : le mode opératoire utilisé pour exploiter une faille, avec des captures d'écran si nécessaire, ainsi que les scripts et codes d'exploitation que nous aurions pu développer pour une vulnérabilité spécifique.

Chaque défaut est évalué selon l'échelle de notation de l'ANSSI dans son référentiel d'exigences PASSI, systématiquement intégrée en annexe de nos rapports :

Echelle de classification des vulnérabilités de l'ANSSI

De plus, une ou plusieurs recommandations sont fournies pour chaque défaut, évaluées selon deux critères subjectifs que nous indiquons d'après notre expérience : facilité de mise en oeuvre, et impact sur la sécurité. Par ailleurs, lorsque nous sommes en mesure de le faire, ces recommandations ne s'arrêtent pas à de vagues conseils, mais mentionnent précisément les options de configuration à spécifier, ou les outils à utiliser.

Principaux outils utilisés

Nous utilisons durant nos audits des outils principalement open-source, bénéficiant d'un haut niveau de qualité et d'une forte réputation auprès de la communauté cybersécurité. Nous pouvons citer de manière non exhaustive :

Vous avez activé l'option "Do Not Track" dans votre navigateur, nous respectons ce choix et ne suivons pas votre visite.