Pentest 100 % Black Box : « Tous les coups sont permis »

Pour évaluer la sécurité d’un système d’information, une approche très pragmatique consiste à reproduire une cyberattaque de la façon la plus réaliste possible. Un auditeur sécurité peut-il se mettre vraiment dans la peau d’un « bad guy » ? Est-il possible de ne pas biaiser les tests en évitant de communiquer des informations au préalable ?

Black Box Pentest

C’est effectivement possible avec un audit de sécurité « 100 % Black Box ». Dans ce cas de figure, le pentester démarre l’audit en ayant pour seule information le nom de l’entreprise. À lui de découvrir quel est le périmètre exposé à des attaques, puis de conduire des attaques en essayant de maximiser l’impact des tests dans le temps qui lui a été imparti.

Les avantages pour l’entreprise qui commandite ce type d’audit black box sont :

  • Pas besoin de transmettre la moindre information sur son SI à l’entreprise chargée de conduire l’audit de sécurité.
  • Le pentest black box apporte de vraies réponses à la question « mon SI est-il sécurisé ? » puisque les conditions de tests sont au plus proches du réel (simulation d’attaque externe).
  • Comme l’entreprise cliente ne définit pas le scope du pentest black box, cela permet d’éviter de concentrer les tests uniquement sur ce que le client perçoit comme potentiellement vulnérable (et donc on évite le risque de ne pas tester certains pans simplement parce que le client les perçoit comme sécurisés, ou a oublié qu’il s’agissait de portes d’entrée exposées à des attaques externes).
  • L’audit black box est simple et rapide à mettre en place, sous réserve de signer les autorisations nécessaires et d’assurer une communication en cas d’urgence.
  • Les équipes de l’entreprise cliente ne sont pas informées qu’un pentest black box aura lieu, ce qui permet de constater leur réaction face aux attaques dans des conditions réalistes.

Ce type d’audit de sécurité peut mixer attaques techniques et attaques par ingénierie sociale, afin de tester tous les types de menaces sur le SI. Ainsi, pour le pentester, « tous les coups sont permis ». Ce sera à lui de prioriser les attaques en fonction du contexte qu’il découvre au fur et à mesure de l’audit. Il est possible de définir des objectifs généraux avec le client (par exemple : détourner de l’argent), ou de privilégier les objectifs classiques d’une cyberattaque : détourner de l’argent, obtenir des informations confidentielles, obtenir un accès au SI interne, nuire à l’activité et à l’image de l’entreprise ciblée.

Pour remplir ces objectifs, le pentester suit les étapes décrites ci-dessous, de la même manière que pourrait le faire un attaquant mal intentionné. La principale différence est que le pentester dispose d’un temps délimité (forfait temps défini en amont avec le client) et qu’il sera joignable par le commanditaire de l’audit en cas de détection d’un incident chez le client (pour définir si les attaques détectées sont liées au pentest black box ou à une attaque réelle, et pour interrompre l’audit et conseiller le client en cas de besoin).

La reconnaissance

La reconnaissance est une phase capitale dans l’évaluation de l’exposition d’une entreprise et de ses produits. Elle comprend à la fois la recherche de données techniques et celle de données liées au personnel. Elle consiste entre autres en la recherche de tous les domaines, sous-domaines et enregistrement DNS liés à l’entreprise cible d’une part, et la collecte d’adresses email, des mots de passe et login – qui auraient été mis en ligne suite au hack d’une autre entreprise – d’autre part. Toutes ces informations sont récupérées légalement sur internet en utilisant par exemple le Google hacking et en cherchant aussi bien dans le présent que dans les versions passées de la plateforme web visée.

De la reconnaissance active, pendant laquelle le pentester entre directement en contact avec la cible, est également menée. Il s’agit ici en particulier de scan de port pour déterminer les services utilisés par la cible.
Nous expliquons dans cet article en détail le déroulement d’un audit de reconnaissance.

La phase de découverte

Une fois le plus de cibles possibles identifiées, le pentester regarde si les versions des serveurs et services sont récentes et si elles ont des failles connues. Les composants vulnérables et les mauvaises configurations font partie des entrées les plus facilement utilisables par un attaquant.

Des scans automatiques sont lancés sur les sites web, applications web et autres interfaces. Ces scans apprennent aux pentesters quels genres d’attaques sont possibles sur les cibles. Des outils comme Burp permettent de lancer des scans pour détecter tout ce qui pourrait présenter un risque pour la plateforme. Parmi les vulnérabilités détectables par Burp, on retrouve notamment les vulnérabilités présentes dans le Top 10 de l’OWASP (ressource en anglais).

En parallèle, des tests manuels sont effectués, car les scans automatiques ont leurs limites. Les faux positifs sont courants et certains types de failles échappent aux scanners. Par exemple, ils ne détectent pas des informations sensibles écrits en clair dans les commentaires d’une page HTML ou ne voient pas les failles logiques.
Contrairement aux outils automatiques, les pentesters ne suivent pas de règles mais font appel à leur expérience et à leur raisonnement pour repérer les failles les mieux cachées.

L’exploitation

Dans cette phase de l’audit, le pentester va utiliser les informations qu’il a recueillies jusqu’alors pour atteindre ses objectifs.

Si le client accepte des attaques par ingénierie sociale, le pentester met en place des scénarios de phishing et vishing (voice phishing), pour ne citer que deux exemples.
Une attaque par ingénierie sociale courante peut être menée lorsqu’une faille de type XSS est repérée sur une application web. Le pentester crée tout d’abord une copie de la page de login de l’application, y lie un « listener » pour récupérer les informations rentrées dans la fausse page de login. Ensuite, en se faisant passer pour un collègue ou un supérieur, il envoie par email un lien vers le faux formulaire. La cible s’y connecte alors et envoie sans le savoir ses identifiants au pentester.
Nous détaillons dans cet article d’autres attaques par ingénierie sociale que nous conduisons lors des audits de sécurité.

Si le client ne souhaite pas d’attaque d’ingénierie sociale, l’exploitation des vulnérabilités techniques commence. Pour prendre un exemple, après un scan, le pentester a trouvé qu’une page sur un site marchand est vulnérable aux attaques par injections SQL. Il décide alors d’essayer d’en profiter en testant, à la main ou avec un outil dédié, s’il est possible de récupérer des informations d’une base de données. Il peut parvenir à récupérer la base de données avec les logins et mots de passe des utilisateurs et des administrateurs.

En conclusion, bien que l’audit en boite noire soit fait dans les mêmes conditions qu’une attaque malveillante et que les pentesters utilisent les mêmes outils que les attaquants, il n’y a généralement pas de risques majeurs pour la cible. Les vulnérabilités sont exploitées de manière à ne rien altérer ou supprimer.