1. Qu’est-ce que le hacking éthique ?

Mon métier c'est de réaliser des tests d'intrusion pour les clients qui nous ont mandaté. Le principe c’est d’attaquer une partie de leur infrastructure ou de leurs services pour trouver les failles et leur expliquer ensuite comment les corriger.

Revenons sur les définitions. Un hacker c'est avant tout quelqu'un qui veut comprendre comment les choses marchent et qui est prêt à les détourner. Si vous démontez votre lave-vaisselle pour comprendre comment il marche et pour le transformer en lave-linge, vous êtes un hacker et vous avez fait de mal à personne. Appliqué à l'informatique, c'est essayer de comprendre comment fonctionne les logiciels, les réseaux, tout ce qui est informatique et peut-être le détourner de son usage, mais pas forcément de manière malveillante.

Un pirate informatique cependant va employer les mêmes techniques à des fins malveillantes ou illégales.

Un hacker éthique s’engage à ne pas porter préjudice à des gens, ne pas détruire du matériel, à appliquer les principes de « divulgation responsable » en cas de découverte d’une vulnérabilité. Le hacker éthique laisse un délai à l’éditeur pour qu’il ait l’opportunité de corriger la vulnérabilité avant divulgation.

2. Raconte-nous les erreurs que tu croises tous les jours et dont profitent les attaquants ?

Les vulnérabilités techniques
En tant qu’hacker pentester on va essayer d’exploiter les vulnérabilités connues chez nos clients. Celles qui ont fait l’objet de publication de patchs par les chercheurs en sécurité.
Les « attaquants » vont exploiter ces vulnérabilités soit de manière ciblée soit de manière opportuniste.
Dans le cas de l’audit du SI d’une organisation composé de 200 machines, on va s’attacher à tester ce qui est sorti récemment.
Notre valeur ajoutée c'est de connaître l'état de l'art sur les vulnérabilités.

Les vulnérabilités humaines
Ce qui me surprend toujours, c'est la manière dont les gens stockent leur mot de passe, et le nombre de fois où l’on trouve un fichier Excel sur le Bureau contenant les mots de passe.
Mieux, on découvre un coffre-fort avec un mot de passe fort. Mais à côté il y a un fichier texte contenant le mot de passe du coffre-fort.
Il s’agit d’une vulnérabilité humaine. Un défaut de sensibilisation des gens.
Pour minimiser ce risque il y a des outils qui peuvent déterminer la présence de fichiers sur les dossiers de partages, qui nécessiteraient de prendre des actions.

Les vulnérabilités liées au développement
On rencontre également les vulnérabilités qui sont liées au développement.
Si on fait un test sur un site web ‘’développé maison’’, les développeurs vont avoir potentiellement fait des erreurs dans le code et il n’y aura pas de patch puisque le vendeur est le client.
On va alors se mettre dans un état d'esprit de chercheur pour essayer de trouver des nouvelles vulnérabilités sur ce site web que personne n'a jamais regardé.

Les vulnérabilités liées aux erreurs de configuration
Ce qu’on observe régulièrement ce sont des droits définis qui sont trop laxistes.
Par exemple le fait que l’utilisateur ait un statut administrateur sur son poste peut aider l’attaquant soit à accéder à des informations directement, soit à réaliser des élévations de privilèges ou des déplacements latéraux.

Les vulnérabilités liées aux défauts sur l'architecture réseau

On rencontre également des défauts sur l'architecture réseau.
Un réseau bien segmenté est pourtant une bonne manière de freiner un attaquant même s'il arrive à compromettre le premier poste de travail.
Prenons un exemple qui aurait pu avoir lieu dans un hôpital que j’ai audité.

A la suite d’une campagne de phishing un infirmier exécute une pièce jointe. L'attaquant se retrouve avec les mêmes accès et privilèges que l'infirmier. Il peut alors directement contacter les baies de stockage contenant les disques durs de tous les serveurs et les effacer.
L’attaquant n’aurait pas pu accéder aux baies de stockage, même avec le mot de passe par défaut, si le travail de segmentation, qui consiste à définir qui a le droit d’accéder à quoi, avait été réalisé.

3. Ton métier de pentester est de passer au crible les systèmes. Comment fais-tu pour savoir ce qu’il faut aller chercher, pour détecter des comportements anormaux ?

Quand je vois les fichiers de log j'arrive à comprendre le chemin de l'attaquant.
A reconnaitre s’il s’agit de Password Spraying ou de brute-force.
J’ai un regard différent, j'essaye de remonter à la cause.
J’analyse si l’incident est un évènement isolé ou si c'est potentiellement un élément parmi une séquence plus grave, s'il y a d'autres événements qui se sont passés récemment ou en même temps. Pour cela, je pose des questions. Est-ce que vous avez regardé dans les logs du proxy ? Y avait-il d'autres machines qui ont accédé à cette URL là ?

4. Le piratage devient de plus en plus complexe. Comment fais-tu pour ne pas prendre de retard ?

Pour réaliser ma veille, je m’appuie beaucoup sur Twitter, mastodon ou des blogs.
On y trouve les résultats des chercheurs qui ont trouvé des nouvelles techniques ou qui ont publié des patchs pour des CVE.
Ensuite on essaye de les reproduire dans notre Lab, notre cyber range. Et puis dans les organisations que l’on va auditer.
Je m’entraine également en participant à des CTF ou en jouant sur des plateformes de challenges de sécu comme Hack the box ou root-me.

5. La mauvaise gestion des vulnérabilités constituerait l’une des causes principales de la généralisation de ces attaques ? Quel est ton point de vue côté hacker ?

Mon point de vue de hacker, c'est qu’il faudrait tout le temps patcher.

Mais la réalité fait que ça n'est pas si simple. Il y a des enjeux de production, il y a du legacy, cela implique parfois de devoir redévelopper et cela nécessite des moyens humains et financiers. Ce qui est important c'est d'avoir une stratégie et une politique de Patch management. Que fait-on en cas de vulnérabilité critique ? Et si on est pas en mesure de patcher pour des bonnes raisons, on a prévu un plan B. Dans les hôpitaux, typiquement il y a certaines machines qui ne peuvent être patchées parce qu’elles ne sont plus supportées par leurs éditeurs. On ne peut pas les remplacer car elles valent des millions.

La gestion de l'obsolescence, c'est du patch management mais pas seulement. C’est définir une architecture pour isoler les actifs dont on ne peut pas se passer.

Il faut bien cartographier les besoins de communication du système qu'on va isoler au maximum. Et ensuite on va mettre des firewall, et les configurer comme il faut.

 

6. Sur la base de ton expérience en tant que hacker éthique, quels conseils aimerais-tu transmettre aux équipes de sécurité informatique ?

Il y a 2 choses qui me semblent importantes.

La première c’est d’avoir une gouvernance avec des politiques liées à la sécurité, qui soient réfléchies et implémentées. Et la deuxième c’est l'audit.

L’un ne va pas sans l'autre parce que si on a une politique, mais qu’on ne vérifie jamais si elle est implémentée comme il faut, ça ne sert à rien. Le résultat de l'audit va présenter tout un tas de recommandations et ça va prendre du temps, éventuellement un peu d'argent pour réaliser les corrections. Il faut prévoir ces budgets dès que possible et dédier les ressources nécessaires du côté de l’équipe opérationnelle.