Connect the dots #2: Reconnaissance

Connect the dots #2: Reconnaissance

Lors de mon article précédent (Connect the dots…) j'ai indiqué par quelle méthode (CELIO) on pouvait extraire et valider des points significatifs pour une activité donnée, avec l'exemple de la cyber-sécurité. Dans cet article nous allons "relier les points entre eux" et obtenir une "image" qui indiquera en quoi consistent la plupart des cyber-attaques et comment les bloquer avant qu'elles n'anéantissent notre système d'informations. Nous allons nous concentrer sur les attaques externes qui visent à paralyser notre informatique pour percevoir une rançon. Ces attaques ont frappé la plupart des grandes entreprises dans le monde (et probablement beaucoup de petites, mais qui ne sont pas médiatisées) et ont encore augmenté en intensité et en nombre en 2020, surtout grâce au confinement et l'essor du télétravail liés au COVID-19.  

Les attaquants suivent un mode opératoire semblable dont voici les grandes lignes. En repérant les signaux propres à chaque phase de l'attaque on pourra alors la bloquer, le plus tôt étant le mieux. Notez que nous n'allons pas parler de la fuite de données et d'une variante des attaques par ransomware, qui non seulement demandent une rançon pour obtenir la clef de déchiffrement et ainsi débloquer nos données, mais aussi publient des échantillons sur internet de manière à créer une atteinte à l'image de l'entreprise qui n'aura pas su protéger les données de ses clients ou ses données internes. De cette manière ils créent une pression supplémentaire sur le paiement de la rançon. Nous n'allons pas non plus évoquer les attaques en "spear phishing" visant une personne donnée (souvent le président de l'entreprise) pour obtenir un virement ou bien les attaques visant à pomper des données pour les revendre dans le darkweb ou, enfin les attaques en "inondation" visant un déni de service informatique pour porter préjudice à la cible. Toutes ces attaques sont certes très intéressantes à étudier mais elles ne couvrent pas l'essentiel des attaques actuelles systématiques qui sont basées sur un ransomware de chiffrement des données de la cible et l'obtention d'un gain financier par le paiement d'une rançon.

Voici donc le processus de la plupart des cyberattaques par ransomware en 2020:

1. Préparation de l'attaque: Dépôt de domaines et création du portefeuille de cryptomonnaie.

Les pirates déposent un ou plusieurs noms de domaines qui vont leur servir plus tard pour rediriger des flux provenant de la cible attaquée. Il peuvent également déposer des "typo" (un domaine ressemblant à celui de la cible mais avec une faute dans le nom), par exemple l0real.com, avec un zéro à la place du "o". Ce dépôt de domaines va se faire dans des pays et sur des sites peu regardants sur l'identité du déposant et vont même jusqu'à anonymiser le déposant pour le protéger. Il est clair que ce ne sera pas dans le pays correspondant à la zone des entreprises cibles. Ils auront également besoin d'emails spécifiques qui leur permettront notamment de percevoir les Bitcoins de la rançon ou d'échanger avec leur cible dans une négociation. Là aussi ils se tourneront vers des systèmes gratuits ou très grand public (gmail, hotmail), pour ne pas éveiller des soupçons. Mention spéciale pour le "domain fluxing" que nous allons étudier un peu plus loin. La création d'une "wallet" pour recevoir les rançons est également très simple et le système protège complétement à la fois l'anonymat du bénéficiaire et de l'expéditeur, y compris fiscalement…

Pour parer les attaques à ce niveau initial, il faut mettre en œuvre trois éléments:

A- Un système de "threat intel" (intelligence sur les menaces) qui est une veille sur les groupes d'attaquants et sur les méthodes d'attaque. Au fur et à mesure, les attaquants utilisent de nouvelles failles, sont repérés par leur mode opératoire, et ainsi de suite: 

(c) Kaspersky

B- Un système de veille sur les noms de domaines de l'entreprise et les possibles usurpations ou "typo-squatting"

(c) Domaintools.com

Ce dispositif sera également valide pour lutter contre les "arnaques au président" ou "faux ordres de virement". 

C- Un dispositif juridique ultra-rapide capable d'intervenir dans tous les pays où la fraude aura été constatée. Le mieux est d'avoir des accords avec des cabinets internationaux spécialisés: le droit Français et les poursuites juridiques seront difficilement applicables en Moldavie…  

2. Analyse des vulnérabilités de la cible, notamment de son infrastructure.

Les outils utilisés ici sont exactement les mêmes que ceux des pentesteurs (ceux qui pratiquent des tests d'intrusion) : scan des adresses publiques du réseau, énumération des vulnérabilités par les CVE manquants. Tout serveur exposé auquel il manque des patches (correctifs de sécurité) exploitables devient une cible. Notez que des dizaines de groupes dans le monde scannent la totalité des toutes les adresses Internet plusieurs fois par jour à la recherche de vulnérabilités…

Trois actions basiques ici : Patchez-Patchez-Patchez !!!  Appliquez les correctifs de sécurité. Cependant, il y a des contraintes empêchant de patcher immédiatement un serveur ou une station de travail: Incompatibilité de versions entre le logiciel et la base de données ou le middleware, obsolescence du système d'exploitation, régression fonctionnelle, etc. Vous pouvez alors envisager des dispositifs "retardants" comme le WAF (Web Application Firewall) qui vont s'interposer entre le serveur web et Internet de manière à analyser les requêtes entrantes. Par exemple, si le site est sensible à une attaque connue comme l'injection SQL ou le Cross Site Scripting, mais dont le code n'est pas corrigé, le WAF va repérer l'attaque et bloquer la requête qui n'affectera jamais le site web. Ce type de dispositif fonctionne en général avec les principales attaques listées dans un "hit parade" de l'OWASP top 10:  https://owasp.org/www-project-top-ten/

Vous pouvez également utiliser un autre "retardant" qui est le virtual patching, notamment avec les systèmes obsolètes. Au niveau de la station de travail ou du serveur, un module intercepte les entrées-sorties de requêtes de fichiers ou de mémoire et fait référence au code des correctifs manquants. Si le code correspond à l'exploitation d'une attaque référencée dans Metasploit alors il bloque son exécution. Voici un exemple:

(c) mitre.org 

La "Common Vulnerability and Exposures" 2008-4250 correspond à faille de sécurité trouvée en 2008 dans Windows et qui affecte notamment Windows XP dont les correctifs de sécurité ne sont plus disponibles gratuitement depuis le 8 Avril 2014. Et pourtant, dans beaucoup d'entreprises, il existe encore de nombreux postes fonctionnant sous ce système.

L'attaquant va alors repérer dans son scan que ces machines sous Windows XP n'ont pas le patch en question et il va exécuter alors son code d'attaque grâce à Metasploit:

(c) Rapid 7

Notez bien que n'importe qui peut utiliser gratuitement ces outils disponibles sur Internet. Il s'agit d'outils que toutes les équipes de pentest et de Red Team utilisent également dans leurs travaux. Du coup, cette simple machine obsolète va devenir le point d'entrée de tout le réseau de l'entreprise et permettre la suite du processus de piratage ! C'est là où le virtual patching intervient comme retardant, en attendant de remplacer cette machine obsolète. Ce module, souvent complémentaire de l'anti-virus, va repérer le payload (charge maligne) ms08_67_netapi et va bloquer son exécution. 

Une fois la plupart des machines à jour des correctifs de sécurité on a réalisé 90% du travail de protection. Cependant, c'est une tache répétitive, sans fin, car on découvre de nouvelles vulnérabilités sur les systèmes pratiquement chaque jour et les éditeurs envoient des giga-octets de patches à installer sur des milliers de machines, d'où la nécessité de compléter le dispositif de protection par un dispositif d'alerte et de remédiation. Si on prend l'image d'un hôpital, la chirurgie va permettre de soigner les gens, mais uniquement lorsqu'ils auront été stabilisés, après avoir été amenés aux urgences.  

Dans le prochain article nous allons examiner comment les attaquants exploitent un point d'entrée d'une seule machine mal patchée, pour finalement réussir à pirater tout le système. Et bien entendu, nous allons voir comment y remédier. Cela nous donnera une compréhension des cyberattaques et donc une vision globale de ce qu'il faut mettre en place en priorité. Nous allons continuer à "relier les points ensemble", à suivre…