Tests de pénétration

Qu'est-ce que le Pentesting ?

Pentesting, également connu sous le nom de test d'intrusion, est une évaluation de sécurité, une analyse et une progression d'attaques simulées sur une application (Web, mobile ou API) ou un réseau pour vérifier sa posture de sécurité. L'objectif est de pénétrer les défenses de sécurité applicatives ou réseau en recherchant les vulnérabilités. Il s'agit généralement de faiblesses ou de défauts qu'un attaquant pourrait exploiter pour affecter la confidentialité, l'intégrité ou la disponibilité. Cet objectif est le même, que vous effectuiez des tests d'intrusion d'applications ou des tests d'intrusion sur le réseau. Le résultat d'un pentest est une liste de vulnérabilités, les risques qu'elles présentent pour l'application ou le réseau, et un rapport final avec un résumé des tests ainsi que des informations sur sa méthodologie et des recommandations de correction. Les vulnérabilités découvertes lors d'un test d'intrusion peuvent être utilisées pour affiner vos politiques de sécurité, corriger vos applications ou vos réseaux, identifier les faiblesses communes aux applications et, en général, renforcer l'ensemble de votre posture de sécurité.

Qu'est-ce que le Pentesting manuel ?

Les tests d'intrusion manuels sont une approche des tests de sécurité qui associe l'expertise humaine à des logiciels et outils de test d'intrusion professionnels, tels que l'analyse binaire statique automatisée et l'analyse dynamique automatisée. Les logiciels de pentesting sont excellents pour découvrir les problèmes avec les classes de vulnérabilité standard, mais sont incapables de détecter certains défauts de conception.

Un pentest manuel effectué par un pentester qualifié est nécessaire pour fournir une couverture complète, y compris la conception, la logique métier et les risques de défauts composés qui ne peuvent être détectés que par des tests manuels (humains).

Notre approche

Phase 1. Préparation

La première étape du Pentesting en tant que processus de service consiste à préparer toutes les parties impliquées dans l'engagement. Côté Client, il s'agit de déterminer et de définir le périmètre du test et de créer des comptes sur la plateforme de Test d'intrusion. L'équipe SecOps affecte un responsable principal et des experts de domaine dont les compétences correspondent à la pile technologique du client. Un canal Slack est également créé pour simplifier la communication à la demande entre le client et l'équipe Pentest.

Phase 2. Coup d'envoi

La deuxième étape est le lancement du pentest. Cela impliquera généralement un appel téléphonique de 30 minutes avec les équipes client et Pentest. L'objectif principal de l'appel est d'offrir une introduction personnelle, de s'aligner sur la chronologie et de finaliser la portée des tests.

 Phase 3. Tests

La troisième étape est celle où le pentesting aura lieu. Les étapes 1 et 2 sont nécessaires pour établir une portée claire, identifier l'environnement cible et configurer les informations d'identification pour le test. Il est maintenant temps pour les experts d'analyser la cible des vulnérabilités et des failles de sécurité qui pourraient être exploitées si elles ne sont pas correctement atténuées. Pendant que l'équipe Pentest effectue les tests, le Core Lead assure la profondeur de la couverture et communique avec le client selon les besoins via la plate-forme et le canal Slack. C'est également là que le véritable pouvoir créatif des experts du domaine principal entre en jeu.

Phase 4. Rapports

La quatrième étape est la phase de rapport, qui est un processus interactif et continu. Les résultats individuels sont publiés sur la plate-forme au fur et à mesure qu'ils sont découverts, et à la fin d'un test, le Core Lead examine tous les résultats et produit un rapport de synthèse final. Une fois le rapport terminé, il est envoyé au client.

Le rapport n'est pas statique ; c'est un document évolutif qui est mis à jour au fur et à mesure que des modifications sont apportées (voir Nouveau test dans la phase 5).

 

Phase 5. Nouveau test

Il est important d'identifier les vulnérabilités de vos applications, mais le plus important est de résoudre les problèmes détectés afin d'améliorer la sécurité et la qualité du code. Une fois que le client a pris connaissance des problèmes de sécurité identifiés lors du pentest, la résolution de chaque problème se déroule au cours des semaines et des mois suivants. Lorsque le client marque un résultat comme « Prêt pour un nouveau test » sur la plate-forme, le responsable principal vérifie le correctif et le rapport final est mis à jour.

Phase 6. Rétroaction

Une fois les tests terminés, le rapport envoyé au client et la correction en cours, une équipe de réussite client contacte le client pour obtenir des commentaires. Les clients fournissent initialement des commentaires via une enquête en cinq questions qui leur permet d'évaluer le processus global, les résultats et le rapport complet. Au cours d'un appel de rétroaction planifié, les clients approfondissent leurs réponses à l'enquête selon les besoins et s'alignent avec l'équipe de réussite client de Cobalt sur les mesures à prendre et les attentes à venir. Ces commentaires aident l'équipe Cobalt à continuer d'améliorer le processus pour les tests à venir et à façonner la feuille de route des produits de la plate-forme à l'avenir.

Pentesting en tant que service

Sans appliquer une approche de cycle de vie à un programme Pentest, une organisation est condamnée à traiter la sécurité comme un projet ponctuel plutôt que comme une fonction continue. De par sa nature, un projet a une date de début et de fin. Lorsque le projet est terminé, tout le monde passe à la chose suivante. Il est important de traiter un programme Pentest comme un processus continu. L'étape 6, la phase de rétroaction, devrait toujours mener à la préparation du prochain pentest, qu'il ait lieu la semaine, le mois, le trimestre ou l'année suivant. Brandvakt et Cobalt veilleront à ce que les bonnes préparations soient faites pour l'itération du cycle.

Aperçu

Qu'est-ce qu'un pentest ?
Les tests d'intrusion, également connus sous le nom de test d'intrusion, test d'intrusion de sécurité et test de sécurité, sont une forme de piratage éthique. Il décrit le lancement intentionnel de cyberattaques simulées par des testeurs d'intrusion "chapeau blanc" utilisant des stratégies et des outils conçus pour accéder ou exploiter des systèmes informatiques, des réseaux, des sites Web et des applications. Bien que l'objectif principal des tests d'intrusion soit d'identifier les problèmes exploitables afin que des contrôles de sécurité efficaces puissent être mis en œuvre, les professionnels de la sécurité peuvent également utiliser des techniques de test d'intrusion, ainsi que des outils de test spécialisés, pour tester la robustesse des politiques de sécurité d'une organisation, sa conformité réglementaire, la sensibilisation de ses employés à la sécurité et la capacité de l'organisation à identifier et à répondre aux problèmes de sécurité et aux incidents tels que l'accès non autorisé, au fur et à mesure qu'ils surviennent.

En tant que cyberattaque simulée, les techniques de piratage éthique aident les professionnels de la sécurité à évaluer l'efficacité des mesures de sécurité de l'information au sein de leurs organisations. Le pentest tente de percer l'armure des cyberdéfenses d'une organisation, en vérifiant les vulnérabilités exploitables dans les réseaux, les applications Web et la sécurité des utilisateurs. L'objectif est de trouver les faiblesses des systèmes avant que les attaquants ne le fassent.

Quand avez-vous besoin de Pentests ?

Les cadres de conformité sont les déclencheurs les plus courants pour un pentest tiers. Presque chaque industrie en a un. Par exemple, considérez comment le commerce électronique tourne autour de PCI DSS et les fournisseurs SaaS démontrent une bonne sécurité avec des rapports SOC 2 et des certifications ISO. Il existe de nombreux autres frameworks, et le pentesting fait partie de la plupart d'entre eux. PCI DSS appelle à un pentest au moins une fois par an, tandis que SOC 2 et ISO 27001 l'incluent dans le cadre d'une exigence plus large, généralement des évaluations de sécurité régulières.

Qu'il s'agisse d'acquérir ou d'acquérir une autre entreprise, vous constaterez que les évaluations de sécurité font désormais partie intégrante du processus de diligence raisonnable. 100% de cadres et de conseillers dans une enquête de 2019 (ISC)2 ont déclaré que les audits de sécurité sont devenus une pratique courante dans les fusions et acquisitions. Les pentests sont une composante commune de ces audits, à la fois en tant qu'instantané ponctuel et dans le cadre d'un programme de test continu.

Si votre auditeur ne demande pas un pentest, il y a de fortes chances que vos clients le fassent. Les services numériques ont créé un réseau complexe où une violation réussie peut avoir un impact sur plusieurs entreprises connectées à la cible, comme en témoignent les incidents FireEye et SolarWinds fin 2020. En conséquence, les entreprises sont de plus en plus préoccupées par l'engagement de leurs fournisseurs en matière de sécurité et avant qu'ils signer, ils demandent des documents tels qu'un rapport SOC 2 ou un rapport de pentest émis au cours des 6 derniers mois.

De toute évidence, la pression est forte pour la cybersécurité. Pour atténuer les risques et faire mûrir leurs programmes, les équipes diversifient de plus en plus leurs approches. Un exemple est la combinaison d'outils de sécurité automatisés et de pentests manuels. Lorsqu'ils sont correctement configurés, les scanners peuvent capturer les signatures de logiciels malveillants, les erreurs de codage et les comportements suspects. Les pentests peuvent agir comme une couche de défense supplémentaire, validant la précision de ces outils et recherchant des failles plus complexes qui nécessitent une réflexion créative : failles de logique métier, incohérences d'autorisation, exploits enchaînés et conditions de concurrence.

Comment ça fonctionne

Brandvakt propose Pentesting-as-a-Service avec Cobalt. Notre approche est une approche agile avec un temps d'initiation court, généralement de 24 à 48 heures. Une fois le périmètre défini, le test d'intrusion se déroule sur une durée de deux semaines. Contrairement aux tests d'intrusion traditionnels, vous n'avez pas à attendre des semaines pour le rapport, mais vous pouvez plutôt suivre dans un tableau de bord au fur et à mesure que les tests d'intrusion se produisent et que les vulnérabilités sont dévoilées. Parallèlement aux découvertes, des recommandations sur la manière de remédier aux problèmes sont fournies. 

Nos tests d'intrusion sont une approche agile qui suit les étapes suivantes Planifier -> Tester -> Remédier -> Rapporter -> Analyser -> Découvrir.

Que pouvons-nous tester ?

Pentest d'application Web

Internet est un aspect essentiel de nombreuses tâches quotidiennes. Des millions de personnes utilisent des sites Web et des applications pour effectuer des achats, effectuer des opérations bancaires et naviguer en toute sécurité. Comme les applications Web sont devenues de plus en plus populaires, elles sont constamment menacées par les pirates, les virus et les tiers malveillants.

Comme de nombreuses applications Web stockent ou envoient des données sensibles, les applications doivent être sécurisées à tout moment, en particulier celles utilisées par le public.

Le pentesting d'application Web fonctionne comme une mesure de contrôle préventive, vous permettant d'analyser tous les aspects de la sécurité de votre application Web.

Des experts suivent une application web pentesting best practices et avec pour objectifs :

  • Tester l'efficacité des politiques de sécurité existantes
  • Identifiez les vulnérabilités inconnues
  • Déterminer les zones les plus vulnérables pour une attaque
  • Testez tous les composants d'application exposés publiquement (routeurs, pare-feu et DNS)
  • Trouvez toutes les failles qui pourraient être exposées au vol de données
Examen de la configuration cloud

La différence principale et fondamentale dans les tests de pénétration du cloud est que votre organisation ne possède pas le matériel sous-jacent sur lequel vos systèmes/applications/services s'exécutent. Vous devez donc vous assurer que vous avez l'autorisation avant de tester votre infrastructure cloud ou de la faire tester par un tiers. Dans certains cas, c'est très simple, car de nombreux fournisseurs d'hébergement n'ont plus besoin d'autorisation pour effectuer des tests de pénétration au niveau du réseau de vos hôtes publics (par exemple, Azure, Digital Ocean, Google), tant que les tests n'incluent pas tout aspect de déni de service (DoS). 

Pentest assisté par code

Les pentests sont généralement effectués dans une perspective de «boîte noire» ou de «connaissance zéro»; ce qui signifie que les pentesters de sécurité ont peu ou pas de connaissances préalables sur les détails de mise en œuvre de l'application cible dans le champ d'application. Grâce aux tests d'intrusion en boîte grise assistés par code, nos pentesters ont accès au code source de l'application, ce qui permet à l'équipe d'utiliser efficacement le code parallèlement aux activités de test afin d'acquérir une compréhension approfondie de l'application cible et d'améliorer la précision. des trouvailles découvertes. Cependant, notre pentest assisté par code n'est pas une revue de code puisqu'il ne sert qu'à analyser les vecteurs d'attaque.

N'hésitez pas à contacter l'annuaire Nous afin que nous puissions discuter plus en détail des tests d'intrusion en tant que service et du fonctionnement de la plateforme Cobalt.

Types de tests de logiciels

Boîte noire: Aucun accès préalable n'est accordé lors d'un pentest de réseau externe, sauf indication contraire dans le champ d'application.

Boîte blanche: Un accès spécifique est donné lors d'un pentest réseau externe.

Boîte grise: Aucun accès n'est donné pour commencer, mais certains accès sont donnés après que certains tests aient été effectués.

De plus, ces détails peuvent être inclus dans la portée du pentest souhaité avec des tests en boîte grise et en boîte blanche :

  • Schémas de réseau
  • Schémas d'infrastructure
  • Comptes (même comptes temporaires pour les pentests)
  • Informations de l'utilisateur

Toute information fournie sur le système testé est utile pour les pentesters. Plus il y a d'opportunités et de capacités pour comprendre le logiciel que le serveur Web de quelqu'un exécute, plus il est efficace de trouver des exploits spécifiquement liés à cette version du logiciel plutôt que d'essayer une variété d'exploits pour voir ce qui colle.

Nous pouvons rencontrer les clients là où ils veulent que nous soyons. Cependant, si les clients recherchent un impact maximal et/ou un test boîte blanche, voici ce que nous recommandons lors de la préparation de la portée du test :

  1. Déterminer les actifs à tester, tels que les parties du réseau externe
  2. Déterminez les adresses IP associées à ces actifs
  3. Présentez ces adresses IP comme étendue

Il est important de s'assurer que les adresses IP fournies appartiennent bien à l'entreprise et d'alerter également tout fournisseur tiers lié à ces actifs. Pour augmenter la valeur des évaluations externes, la surveillance des adresses IP publiques à partir desquelles des attaques sont parfois menées peut être utile pour mieux identifier et répondre aux attaques futures.

En ce qui concerne la liste typique des éléments que nous vérifions normalement lors d'un pentest de réseau externe, ils suivent des cadres et des meilleures pratiques telles que OWASP, ASVS, ou OSSTMM. Généralement, des activités d'analyse de port sont effectuées, suivies de la recherche de serveurs Web. Déterminer le logiciel et la version utilisés pour chaque service est également utile pour identifier les erreurs de configuration ou les vulnérabilités.

API Pentest

L'absence d'un protocole clair rend les évaluations de la sécurité des applications des API de microservice quelque peu précaires, car les outils d'évaluation de la sécurité Web typiques, les méthodologies d'évaluation de la sécurité prescrites et l'expérience générale des testeurs d'intrusion peuvent ne pas inclure la couverture ou le savoir-faire d'interaction pour un microservice particulier. Offre d'API ou comportement opérationnel.

Les tests de pénétration d'API impliquent tous les processus de vérification des vulnérabilités et de création de points de terminaison solides dans vos API. L'une des menaces les plus courantes pour les applications Web est l'abus d'API, qui peut entraver le bon fonctionnement de toute industrie numérique.

 

Les tests d'intrusion d'API sont très similaires aux tests d'intrusion d'applications Web et la méthodologie de test d'intrusion d'API est donc basée sur la même base - le Top 10 OWASP, l'OWASP ASVS et le Guide de test OWASP. Cobalt teste les API Web, les API REST et les API mobiles. Nos pentesters analysent l'API cible pour déterminer quel type d'authentification est utilisé, étudient les structures d'API, comprennent les méthodes de requête, les réponses, les rôles et exploitent les bugs sur une véritable API de production ou une API dans un environnement de staging.

Pentest réseau externe

Il est important de connaître les vulnérabilités de votre organisation et la façon dont les attaquants pourraient les exploiter. Le pentesting de réseau externe est un moyen d'y parvenir, en évaluant activement la sécurité de l'infrastructure périmétrique d'une organisation directement accessible depuis Internet. Ceci est fait pour identifier les zones potentielles d'opportunité pour les attaquants d'obtenir des informations sensibles et de compromettre l'infrastructure critique de l'entreprise.

Les réseaux externes incluent le serveur, la connexion VPN, un portail de messagerie Web et tous les portails accessibles à partir d'un navigateur Web. Lors d'un pentest de réseau externe, nos pentesters utilisent des vecteurs et des outils d'attaque du monde réel pour tenter de compromettre des systèmes externes et d'accéder à des informations ou à des systèmes sensibles.

Pentest d'application mobile

Nos pentesters vont au-delà de la simple recherche des vulnérabilités courantes de l'API et du Web. Nos testeurs examinent le risque d'une application mobile en s'appuyant sur l'OWASP Mobile Top 10 et d'autres méthodologies pour évaluer la sécurité.

La sécurité a toujours été une préoccupation majeure pour les entreprises, et cette préoccupation est encore plus grande lorsqu'il s'agit d'applications mobiles. Aujourd'hui, presque toutes les grandes marques ou produits disposent d'une application mobile pour se connecter plus facilement avec leurs clients.

Plus d'utilisateurs que jamais comptent sur les applications mobiles pour la majorité de leurs tâches numériques par rapport aux applications de bureau traditionnelles. Ces applications ont accès à de grandes quantités de données utilisateur, dont la plupart sont des données sensibles et doivent être protégées contre tout accès non autorisé.

Du point de vue d'un testeur de plumes, il existe un besoin croissant de pentesters mobiles qualifiés. Les applications mobiles sont une surface d'attaque importante à couvrir, et bien que toutes les plates-formes mobiles populaires (iOS et Android) fournissent leur propre ensemble de contrôles de sécurité conçus pour aider les développeurs à créer des applications sécurisées, c'est souvent au développeur de choisir parmi une variété de sécurité. options. S'ils ne sont pas correctement implémentés ou mal configurés, ils introduisent des failles de sécurité dans une application.