"J'ai remarqué que c'était ouvert ici". Comment se déroulent les tests d'intrusion des entreprises ?
Nous avons décidé de traduire pour vous la transcription du podcast Darknet Diaries - l'histoire d'un homme que les entreprises engagent pour vérifier si elles ont des failles de sécurité. Sa mission principale est de trouver une brèche et de s'y infiltrer pour pénétrer dans le bâtiment ou l'infrastructure de l'entreprise.
Mais commençons par une introduction lyrique sur Michael Fagan et sa surprenante histoire des « intrusions » au palais de Buckingham. Cela s'est passé en 1982 à Londres. La première fois, Michael est entré dans le palais en grimpant à une gouttière et en passant par une fenêtre ouverte. L'homme a marché près d'une heure dans le palais et a regardé les tableaux sur les murs. Et le service de sécurité ? Personne n'a remarqué l'intrus. Michael est même entré dans le bureau du secrétaire personnel de Charles et a bu environ la moitié d'une bouteille de vin qu'il y a trouvée.
L'histoire semble incroyable : l'homme a facilement pénétré dans le palais royal, a goûté au vin royal et a quitté le bâtiment comme si de rien n'était, sans même se faire attraper par les gardes. Mais l'histoire de Michael ne s'est pas arrêtée là. Quelque temps plus tard, tôt le matin, il se promenait dans les rues de Londres et l'envie de retourner au palais lui est revenue. Michael a salué des femmes de ménage qui se dépêchaient d'aller travailler et est entré avec elles dans le palais. L'homme a parfaitement réussi à trouver la chambre de la reine. Michael a voulu s'assurer qu'il se trouvait bien dans les appartements royaux, alors il a tiré le rideau pour mieux voir la reine. Soudain, la reine s'est réveillée et a demandé ce que cet homme faisait dans ses appartements, après quoi elle a chassé l'intrus.
Imaginez seulement : cet homme s'est infiltré deux fois dans le palais de Buckingham, la deuxième fois jusque dans la chambre de la reine pendant qu'elle dormait, et il n'a été inculpé que pour le vol d'une demi-bouteille de vin. Le jury l'a déclaré non coupable de l'infraction, et il n'a pas été condamné à une peine de prison.
L'histoire d'un autre pentesteur
L'introduction est terminée. Passons à un autre pentesteur. Le héros de cette histoire est Jeremy Rowe, architecte de solutions chez Synack. Les entreprises l'engagent pour vérifier si elles ont des failles de sécurité et s'il peut les trouver. Déjà enfant, Jeremy aimait créer de petits sites web - c'est ainsi qu'a commencé sa carrière technique. Après l'armée, Jeremy a travaillé chez Geek Squad, où il s'occupait de résoudre les problèmes sur les ordinateurs des clients. Il a ensuite décidé de chercher un autre emploi, a commencé à étudier les technologies et a finalement rejoint la cybersécurité en obtenant la certification OSCP. Il a ensuite été embauché par une organisation qui travaillait pour le gouvernement. Les tâches de Jeremy comprenaient les tests d'intrusion au niveau réseau et les tests d'intrusion d'applications web ; il a aussi essayé de trouver des vulnérabilités physiques dans les bâtiments.
Comme cette organisation était en lien avec le gouvernement, des attaquants pouvaient la cibler pour accéder aux réseaux gouvernementaux. Jeremy le savait et voulait donc examiner l'un des bureaux distants du sous-traitant pour essayer de trouver les brèches par lesquelles des attaquants pourraient frapper. Mais la direction de l'entreprise était contre, et Jeremy a dû les convaincre de l'importance de ces tests. L'argument était que les pentesteurs élaborent des scénarios correspondant à ceux que des attaquants pourraient potentiellement utiliser. Ainsi, Jeremy Rowe a reçu le feu vert de la direction pour effectuer le pentest. "La meilleure défense, c'est une bonne attaque", pensait le héros de cette histoire.
L'organisation a autorisé une tentative d'intrusion physique et réseau dans le bureau distant, mais avec certaines conditions. Il était interdit à Jeremy d'installer des portes dérobées ou des logiciels malveillants sur les appareils physiques. Ils ne voulaient pas qu'il installe des "outils de piratage" dans un réseau activement utilisé.
Jeremy et son équipe ont commencé à élaborer un plan pour examiner le bureau. Au terme des tests, ils voulaient obtenir des réponses aux questions suivantes :
- Selon quels scénarios les pirates pourraient-ils attaquer l'organisation ?
- Est-il possible d'accéder aux appareils et au réseau de l'entreprise ?
- Est-il possible d'obtenir des informations susceptibles de menacer les réseaux gouvernementaux ?
Jeremy voulait mener le pentest comme s'il était un attaquant ciblant des réseaux gouvernementaux. Bien qu'il travaillât pour cette entreprise, il n'avait jamais mis les pieds dans le bureau testé et n'avait pas l'intention d'utiliser des ressources internes pour obtenir des informations.
Plan A et Plan B
Jeremy a donc commencé par rechercher sur Google l'emplacement du bureau. Il a ainsi obtenu des informations sur ce qui entoure le bâtiment, s'il y avait des cafés attenants, combien d'entrées il possédait, etc. Il s'y est ensuite rendu en voiture pour observer l'environnement et étudier les lieux en détail.
Dans le podcast Darknet Diaries, Jeremy Rowe a raconté qu'il avait deux plans possibles. Le plan A consistait à faire le tour du périmètre du bâtiment et à vérifier quelles portes étaient ouvertes. C'était un plan judicieux, car l'entrée principale est souvent là où se trouve toute la sécurité, et en se faufilant par une porte latérale ou arrière, on peut éviter de la croiser. Le plan B consistait à entrer dans le bureau par l'entrée principale. Jeremy et son équipe ne savaient pas ce qui se trouvait à l'intérieur du bureau cible ; ils supposaient seulement qu'il pourrait y avoir un hall au rez-de-chaussée.
L'heure de passer à l'action
Jeremy travaillait avec un partenaire (BC). La veille du pentest, ils se sont fait couper les cheveux et se sont habillés de manière à se fondre parmi les employés du bureau. Jeremy et BC ont emporté des ordinateurs portables, un jeu de crochets, un Bash Bunny, etc. Jeremy a également installé sur son téléphone la version mobile de Kali Linux.
Le jour J, Jeremy et BC ont garé leur voiture sur le parking du bureau, dont l'entrée s'est avérée libre. Ils ont décidé de faire le tour du bâtiment et de vérifier les portes. Il s'est avéré qu'une porte était entrouverte à cause d'un défaut technique. Jeremy et BC se sont ainsi retrouvés dans la cage d'escalier. Les pentesteurs ont décidé de ne pas examiner le rez-de-chaussée, car les bureaux de leur sous-traitant se trouvaient aux deuxième et troisième étages. La porte du deuxième étage, à leur grande surprise, s'est avérée ouverte ; ils sont entrés dans le bureau de l'organisation, y ont pris des photos et sont retournés dans l'escalier. Au troisième étage, la porte n'était pas fermée non plus.
Après le succès du plan A, les héros de cette histoire ont décidé de vérifier s'il était possible d'entrer sans encombre dans le bâtiment par l'entrée principale. Jeremy s'attendait à ce qu'un obstacle se dresse sur leur chemin et les empêche d'entrer librement dans le bureau. Ils sont entrés dans le bâtiment par l'entrée principale et sont passés librement jusqu'aux escaliers et aux ascenseurs menant aux étages supérieurs.
Aux étages où se trouvaient les bureaux du sous-traitant se trouvaient des espaces détente avec des canapés - c'est là que Jeremy et son partenaire ont décidé de s'installer. Il s'est avéré qu'on ne pouvait accéder aux bureaux de l'organisation qu'avec une carte-clé possédée par les employés. Les pentesteurs ont allumé leurs ordinateurs portables, ont commencé à réfléchir à la suite tout en observant les alentours. Dans le hall avec les canapés, Jeremy a remarqué un petit ordinateur (une borne d'information) ; il lui a semblé étrange que cet ordinateur soit laissé sans surveillance.
Il s'est avéré que l'ordinateur exécutait un logiciel qui ne permettait aux employés d'accéder qu'à une seule application. Un port USB se trouvait sur le panneau arrière de la borne, par lequel Jeremy a branché le Bash Bunny. Dans le podcast Darknet Diaries, Jeremy Rowe a expliqué que le Bash Bunny ressemble à une clé USB ordinaire, mais que lorsqu'on le branche à un ordinateur, celui-ci le perçoit comme un clavier. Si l'on programme à l'avance un scénario d'actions dans le Bash Bunny, le PC pensera qu'un clavier lui a été connecté et commencera à recevoir des frappes. Jeremy avait préprogrammé un scénario selon lequel l'ordinateur devait ouvrir Word et commencer à taper à l'écran. Cela suffisait au pentesteur pour prendre une photo et prouver à la direction qu'il contrôlait cet ordinateur.
Après cela, Jeremy et BC ont décidé de refaire un tour du bureau pour vérifier que toutes les portes étaient bien fermées et que l'accès n'était possible qu'avec une carte-clé. Mais pour une raison quelconque, ce jour-là, certaines portes se sont avérées ouvertes.
Ensemble, Jeremy et BC sont entrés dans le bureau par l'entrée principale, ont monté les escaliers, ont tiré sur la poignée et sont tout simplement entrés dans le bureau, où se trouvaient de nombreuses informations d'entreprise. Ils y ont remarqué des ports réseau, des imprimantes, des projets sur lesquels travaillaient les employés ; ils ont aussi vu ce qui était écrit sur les tableaux, des étiquettes et diverses adresses IP.
Jeremy et son partenaire se déplaçaient librement dans le bureau, sans avoir ni badge ni laissez-passer. Ils croisaient de nombreux employés et les saluaient. À un moment donné, les pentesteurs sont même montés à la salle de repos des employés et ont bu un café.
En se promenant dans le bureau, les pentesteurs ont remarqué une salle de réunion ouverte avec plusieurs prises Ethernet sur les murs. Jeremy et BC avaient justement des câbles de connexion sur eux. Jeremy voyait qu'il y avait un réseau Wi-Fi ici et, bien qu'il n'en connaisse pas le mot de passe, il n'en avait pas besoin puisqu'ils se sont connectés via la prise Ethernet. Dans le podcast, Jeremy expliquait que les ports Ethernet peuvent être configurés de différentes manières. Ils peuvent donner un accès interne, ou ne donner aucun accès du tout. Ce n'est pas parce que vous êtes physiquement présent dans le bureau que vous pouvez forcément vous connecter et utiliser le réseau. Dans un bureau correctement configuré, il n'est pas possible de simplement se brancher sur n'importe quel port Ethernet. Mais ils ont branché leurs ordinateurs sur les prises Ethernet et ont constaté que les ports étaient actifs.
Jeremy a décidé d'examiner ce qui se trouvait sur ce réseau, mais il n'y avait pas d'autres ordinateurs dessus. Tout ce qu'il pouvait faire, c'était accéder à Internet. Jeremy en a conclu que cette entreprise utilisait le NAC ; ainsi, lorsqu'il a connecté son ordinateur au port, le routeur a vérifié son adresse MAC et a déterminé que cet ordinateur ne devait pas bénéficier d'un accès étendu. Jeremy a décidé d'essayer d'obtenir un accès étendu plutôt qu'un accès invité. Il voulait trouver une adresse MAC figurant dans la liste des adresses autorisées et modifier l'adresse MAC de son ordinateur pour qu'elle corresponde à l'une d'elles. Il avait remarqué plusieurs imprimantes dans le bureau. Dans le podcast, il a expliqué que la première partie d'une adresse MAC provient du fabricant : ainsi, si l'entreprise possède du matériel Cisco, chaque port Ethernet de tout l'équipement Cisco commence par l'adresse MAC 94:36:CC. La seconde moitié de l'adresse MAC, elle, sera différente pour chaque port Ethernet, ce qui les rendra distincts les uns des autres.
Jeremy a vérifié quels types d'imprimantes se trouvaient dans l'organisation et a regardé par quoi commençait l'adresse MAC de ce fabricant, puis il a modifié l'adresse MAC de son ordinateur pour qu'elle corresponde à celle des imprimantes. Il a ensuite essayé de rebrancher le câble Ethernet pour voir s'il obtiendrait une autre adresse IP. Cela a fonctionné, et Jeremy a obtenu un accès étendu au sein du réseau. Un autre objectif était atteint - ils avaient accès au réseau.
Après cela, les pentesteurs se sont déconnectés du réseau et ont décidé de refaire un tour du bureau pour chercher d'éventuelles vulnérabilités qu'ils auraient pu manquer. En se promenant, ils ont remarqué que de nombreux employés s'éloignaient de leurs ordinateurs portables sans verrouiller leur session. Jeremy et son partenaire ont pris plusieurs photos assis devant de tels ordinateurs. Ils ont ainsi démontré à la direction que les PC étaient déverrouillés et qu'on pouvait en faire absolument tout ce que l'on voulait.
Les pentesteurs se sont ensuite dirigés vers l'ascenseur, dans lequel se trouvait l'un des employés du sous-traitant. Dans l'ascenseur, ils l'ont salué et ont échangé quelques phrases anodines. Jeremy a décidé de suivre cet employé de manière improvisée et est donc sorti avec lui au même étage. L'employé s'est dirigé vers la porte, a sorti son laissez-passer et a tenu la porte pour Jeremy. Celui-ci a remercié l'employé et est entré dans le bureau. Jeremy a vu que son partenaire était resté dans le hall, il a donc décidé de contourner par une autre porte pour le faire entrer, mais lorsqu'il a tourné au coin, son partenaire était déjà dans le bureau. Il s'est avéré que cette autre porte ne nécessitait pas de laissez-passer. C'était une conclusion supplémentaire pour le rapport.
Pendant qu'ils étaient au troisième étage, les pentesteurs se sont concentrés sur la collecte de renseignements. Ils voulaient savoir s'ils avaient accès à des applications auxquelles ils n'auraient pas dû avoir accès. En se promenant dans le bureau, ils ont photographié des tableaux, des documents sur les bureaux, des fichiers, des noms de fichiers. Ils voulaient obtenir un maximum d'informations sur l'organisation, sur les propriétaires de ces fichiers et sur leur degré de confidentialité pour l'organisation. Jeremy et BC ont recueilli suffisamment d'informations pour le rapport et ont quitté le bureau du sous-traitant par la porte principale du bâtiment.
Et au final ?
Jeremy a pu mettre en scène des scénarios dans lesquels des attaquants potentiels pourraient facilement obtenir un accès sans entrave à l'organisation. Dans le podcast, Jeremy a raconté qu'il avait été difficile pour la direction d'accepter ce constat. Ils ont été surpris de voir avec quelle facilité Jeremy avait pris le contrôle de la borne d'information dans le hall. La direction a également été choquée de constater que les employés, en s'éloignant de leurs ordinateurs, les laissaient allumés.
Qu'a fait la direction après coup ? Jeremy a raconté qu'ils avaient fermé les portes et simplement retiré l'ordinateur du hall. L'organisation a été impressionnée par le travail de Jeremy et de son partenaire, si bien qu'ils ont été autorisés à effectuer des tests de sécurité supplémentaires.


