Le piratage du Comité national démocrate, récemment rendu public, a remis sous les feux de l'actualité une forme extrêmement courante de vol de données : les intrusions visant les e-mails. La réaction instinctive face à de telles failles consiste souvent à préconiser des mesures de sécurité telles que le chiffrement des messages et l'authentification à deux facteurs. En réalité, prévenir, détecter et réagir à ces attaques est bien plus compliqué. Un réseau d'entreprise classique offre aux pirates une multitude d'occasions de voler des e-mails, qu'il s'agisse d'une opération très ciblée touchant un petit nombre d'utilisateurs ou d'une tentative de collecte de données en masse sur une longue période.
Au cours des sept dernières années, j'ai collaboré avec de nombreuses organisations qui ont perdu des e-mails confidentiels à la suite d'attaques ciblées. Dans cet article de blog, je vais aborder plusieurs techniques couramment utilisées par les attaquants, analyser l'impact de l'authentification et du chiffrement, et mettre en avant les moyens dont dispose Tanium pour détecter ces méthodes et y répondre.
Hypothèses sous-jacentes
Dans le cadre de cet article, nous partirons de quelques hypothèses que je considère comme des « conditions indispensables » pour toute intrusion ciblée dans un environnement Windows. Commençons par préciser que l'organisation victime utilise Microsoft Exchange, qui reste la plateforme de messagerie d'entreprise la plus répandue. Supposons également que l'attaquant ait déjà accédé au réseau interne de la victime et qu'il puisse par la suite opérer depuis à partir d'au moins un des points d'observation suivants :
- Accès via un navigateur à un serveur de messagerie Web accessible depuis l'extérieur, tel qu'Outlook Web Access
- Une voie d'accès aux serveurs Exchange internes passant soit par (1) des systèmes précédemment infectés par un cheval de Troie au sein du même réseau interne, soit par (2) un VPN compromis ou une autre solution d'accès à distance
- Accès détourné à un poste de travail d'utilisateur final appartenant à une personne ciblée dont les e-mails présentent un intérêt
Enfin, nous supposerons que le pirate a réussi à s'emparer d'au moins l'un des types d'identifiants suivants :
- Un compte Active Directory doté de privilèges, appartenant à un administrateur Exchange ou à un administrateur de domaine
- Un compte d'administrateur local courant pouvant être réutilisé pour effectuer des mouvements latéraux entre les ordinateurs des victimes
- Un compte de domaine sans privilèges appartenant à une personne ciblée dont les e-mails présentent un intérêt
Dans cette optique, passons en revue quelques cas de figure courants.
Les pirates ciblent souvent Outlook Web Access (OWA)
Les pirates ciblent souvent Outlook Web Access (OWA) au cours de la phase post-compromission d'une intrusion, c'est-à-dire après avoir réussi à voler des identifiants. Il est particulièrement facile d'accéder à OWA si celui-ci ne nécessite pas d'authentification à deux facteurs ou s'il n'est pas accessible via un VPN qui impose cette authentification. Une fois qu’un compte de domaine, voire tous les comptes de domaine, ont été piratés, il suffit alors de se connecter comme n’importe quel utilisateur lambda. Détecter ce type d'activité à grande échelle au sein d'une grande organisation multinationale peut s'avérer difficile, d'autant plus que l'attaquant peut utiliser un accès via un navigateur depuis n'importe quelle adresse source ou en passant par n'importe quel point de transit à sa disposition.
Même si le service de messagerie en ligne est protégé par un VPN, il peut tout de même être exposé à un pirate informatique qui aurait réussi à s'introduire dans le réseau interne. Les pirates cherchent souvent à déterminer s'il est possible d'accéder à l'instance de messagerie Web accessible en interne à l'aide d'identifiants de domaine à authentification à un seul facteur. Si tel est le cas, ils peuvent utiliser un logiciel malveillant de type « tunneling » pour passer par un hôte déjà compromis par une porte dérobée et s'authentifier en tant qu'utilisateur cible.
Le chiffrement serait-il utile ?
Si l'entreprise utilise S/MIME avec Outlook Web Access, seul Internet Explorer permet de consulter les e-mails chiffrés. De plus, la clé privée nécessaire au déchiffrement des messages doit être installée dans le magasin de certificats du terminal local. L'attaquant doit donc soit se procurer la clé privée de l'utilisateur victime, soit utiliser un accès à distance à l'ordinateur de cette dernière pour consulter ses e-mails en son nom. Aucun de ces deux éléments ne constituerait un obstacle majeur en cas de compromission à l'échelle du domaine.
Si l'organisation utilise d'autres méthodes de chiffrement, telles que PGP, l'attaquant devrait là encore récupérer les clés privées et les phrases de passe à partir du système de l'utilisateur ciblé. En cas de compromission à l'échelle du domaine, il peut s'avérer difficile d'empêcher un attaquant d'accéder au système d'un utilisateur spécifique. Cependant, cela oblige l'attaquant à passer d'un comportement opportuniste (« Je peux obtenir l'adresse e-mail d'Adam depuis n'importe quel point d'accès ») à un comportement ciblé (« Je dois d'abord compromettre le système d'Adam… »).
Il convient de garder à l'esprit que les utilisateurs choisissent souvent la solution la plus simple lorsqu'ils utilisent un service tel que la messagerie en ligne. Cela se traduit souvent par l'échange de messages non chiffrés lorsqu'ils utilisent leur propre ordinateur ou d'autres navigateurs, ce qui facilite le vol de données, même si celui-ci ne concerne qu'un nombre plus restreint d'e-mails.
Comment Tanium a-t-il pu détecter cela ?
Il est évident qu’une organisation n’aurait aucune visibilité sur un terminal appartenant à un pirate et utilisé pour accéder directement à OWA via Internet à l’aide d’identifiants volés précédemment. Cela limite les sources de données disponibles au trafic réseau et aux données de journalisation provenant des serveurs de messagerie eux-mêmes. La centralisation des événements d'authentification d'Outlook Web Access dans un système SIEM, ainsi que des journaux du serveur Web, peut grandement faciliter les enquêtes a posteriori. En fonction de l'architecture du réseau, vous devrez peut-être également recouper plusieurs sources de données afin d'obtenir l'adresse IP d'origine réelle des requêtes de messagerie Web entrantes.
Tanium propose une solution Copy Tools permettant de collecter et de distribuer automatiquement les journaux des terminaux vers un emplacement centralisé en vue de leur ingestion et de leur post-traitement. Dans le cadre d'affaires précédentes, j'ai collaboré avec des enquêteurs qui ont réussi à distinguer les accès malveillants des accès légitimes à OWA pour un compte compromis, en s'appuyant sur les agents utilisateur des navigateurs enregistrés dans les journaux d'accès, ainsi que sur l'heure d'accès et les adresses sources.
Si l'attaquant accède à la messagerie en ligne via un système interne compromis, cela fournit beaucoup plus d'éléments de preuve concernant les terminaux utilisés pour le « pivotage ». En fonction du mode d'accès, Tanium fournit des capteurs capables de rechercher des entrées du **journal des événements de sécurité** local**, l'historique du navigateur, ainsi que les processus exécutés , qui incluent le contexte utilisateur pour les événements historiques.** Par exemple, un pirate utilisant Internet Explorer via une porte dérobée sur le système d'un utilisateur infecté peut créer des entrées dans l'historique du navigateur sous le profil du contexte système, plutôt que sous le profil utilisateur de l'utilisateur lui-même. Ces entrées présentent souvent des anomalies suffisantes pour justifier une enquête plus approfondie.
Extraction d'e-mails depuis un serveur Exchange à l'aide de PowerShell
Étant donné que PowerShell trouve son origine dans la gestion des serveurs Microsoft Exchange, il n'est pas surprenant qu'il puisse être utilisé pour accéder aux boîtes aux lettres des utilisateurs et pour récupérer ou envoyer des messages. J'ai été témoin de plusieurs intrusions au cours desquelles des pirates ont utilisé des scripts PowerShell malveillants pour collecter des adresses e-mail. Cette approche nécessite toutefois une bibliothèque, à savoir la bibliothèque Exchange Web Services (EWS)[1], qui n'est pas fournie par défaut avec PowerShell.
Concrètement, l'utilisation d'EWS consiste simplement à inclure une seule DLL, « Microsoft.Exchange.WebServices.dll », avec le code PowerShell. Un message utile sur Stack Overflow[2] montre à quel point il est facile pour un script de récupérer des messages de cette manière.
Le chiffrement serait-il utile ?
Si l'attaquant exécute le script PowerShell à partir du système de l'utilisateur ciblé et sous le contexte de son compte de domaine, il aurait alors accès à la clé privée stockée dans le magasin de certificats Windows, nécessaire au déchiffrement S/MIME. Comme indiqué précédemment, si une autre méthode de chiffrement, telle que PGP, venait à être utilisée, l'attaquant devrait effectuer des étapes supplémentaires pour récupérer la clé et la phrase de passe nécessaires à la consultation des messages récupérés.
Comment Tanium a-t-il pu détecter cela ?
Tanium Trace enregistre en continu l'activité des connexions réseau, ainsi que le contexte associé au processus et à l'utilisateur. L'un de nos tableaux de bord de détection utilise le capteur Trace Network Connections pour fournir une vue filtrée de toutes les instances de PowerShell ayant établi des connexions vers les ports 80 et 443. À l'exception des administrateurs Exchange, cette utilisation de PowerShell serait inhabituelle sur la plupart des systèmes des utilisateurs finaux ou sur d'autres types de serveurs. Nos clients utilisent généralement la fonctionnalité « Computer Groups » de Tanium, en association avec ce type de tableaux de bord de surveillance, afin de détecter ce type d'activité malveillante avec une plus grande précision.
Une autre approche consisterait à rechercher la présence ou l'utilisation de la bibliothèque « Microsoft.Exchange.WebServices.dll » sur les terminaux. Les utilisateurs de Tanium peuvent exécuter les capteurs suivants : « » (), « Index Query » ( Index Query), «» () et « » () afin d'effectuer en quelques secondes une recherche sur l'intégralité du disque dur de tous les systèmes pour trouver cette bibliothèque par son nom ou son hachage. De plus, les commandes « » (), « Loaded Modules » () et «» ( ) permettent d'identifier tous les systèmes ayant chargé cette bibliothèque en mémoire. Une fois encore, les groupes informatiques peuvent apporter un éclairage supplémentaire permettant de distinguer l'utilisation prévue de cette bibliothèque de son utilisation imprévue.
Outils de l'interface de programmation d'applications de messagerie (MAPI)
MAPI/RPC est le protocole standard utilisé par Outlook pour prendre en charge les serveurs Exchange. Comme il est documenté et accessible via diverses API, d'autres applications Windows peuvent l'utiliser. Par exemple, « MAPIGET.EXE », l’un des utilitaires mis en avant dans le rapport 2010 de Mandiant sur APT1, se connecte aux serveurs Exchange via MAPI et à l’aide d’identifiants NTLM volés afin de récupérer les messages et les pièces jointes d’un compte ciblé. Sur les systèmes sur lesquels Outlook est installé, les langages de script tels que VBS et VBA peuvent également utiliser son espace de noms MAPI pour interagir avec la boîte de réception et récupérer des e-mails – sous réserve toutefois de restrictions pouvant varier en fonction de la version d'Outlook installée et de ses paramètres.
Du point de vue de la surveillance du réseau, veuillez noter que l'utilisation du protocole RPC par MAPI a pour conséquence que les clients se connectent aux serveurs Exchange via un large éventail de ports à numéros élevés, plutôt que via un seul port de service fixe. Si Exchange est configuré avec la fonctionnalité « Outlook Anywhere », les clients peuvent se connecter via RPC sur le port HTTPS 443.
Le chiffrement serait-il utile ?
De nombreux outils basés sur MAPI se contentent de récupérer les messages chiffrés S/MIME sous la forme de la pièce jointe « smime.p7m” ». Comme nous l'avons déjà indiqué dans nos autres scénarios, si l'attaquant agit depuis le terminal de l'utilisateur victime et dispose de privilèges suffisants, il peut accéder au magasin de certificats Windows.
Comment Tanium a-t-il pu détecter cela ?
Les capteurs « » (), «Established Connections» (), « » et « » () ainsi que «TraceNetwork Connections» () permettent de générer des résultats cumulables qui permettent aux analystes de comparer immédiatement le nom, le chemin d'accès et le hachage de tout processus se connectant aux adresses et plages de ports des serveurs Exchange. Les analystes peuvent approfondir leur analyse à l'aide des outils suivants : , , Trace Executed Processes,et afin d'obtenir les lignes de commande et l'historique de tout événement suspect. Le suivi de ces données peut permettre à une organisation de détecter les applications non autorisées qui tentent de communiquer avec l'infrastructure des serveurs de messagerie.
Vol de fichiers de boîte aux lettres et d'archives Outlook locaux
Presque tous les utilisateurs d'Outlook connaissent les fonctionnalités de travail hors ligne et de boîte aux lettres d'archivage de l'application. Du point de vue d'un pirate, ces fichiers ne diffèrent en rien des autres fichiers présents sur le terminal : ils peuvent être copiés, archivés et transférés à l'aide des commandes natives du système d'exploitation ou en utilisant des fonctionnalités courantes à de nombreuses portes dérobées. Deux facteurs limitants peuvent être la taille de ces fichiers et le fait que l'utilisateur ait ou non choisi de les protéger par un mot de passe.
Le chiffrement serait-il utile ?
Si vous avez lu jusqu'ici, vous avez sans doute déjà deviné la réponse. Si l'attaquant a accès aux archives Outlook de la victime sur son propre ordinateur, il est probable qu'il puisse accéder à tout ce qui se trouve dans le magasin d'identifiants de Windows ou qu'il utilise un enregistreur de frappe ou d'autres techniques pour récupérer d'autres identifiants.
Comment Tanium a-t-il pu détecter cela ?
Le capteur « » () « Trace File Operations » () ( ) peut être utilisé pour créer une recherche filtrée ou un tableau de bord permettant de suivre la création ou la modification de fichiers de boîte aux lettres Outlook situés dans des emplacements atypiques – ou générés par des processus anormaux. De même, les capteurs « » , « Index Query »et « » de Tanium permettent de rechercher des fichiers de boîte aux lettres au repos dans l'ensemble de l'entreprise.
Enregistrement des frappes et capture d'écran
Tout logiciel malveillant s'exécutant avec des privilèges suffisants sur un système infecté peut enregistrer toutes les frappes au clavier et capturer périodiquement le contenu des fenêtres ou l'intégralité de l'écran. Bon nombre de ces outils peuvent être configurés pour ne capturer que les données correspondant à des modèles définis par l'attaquant ou provenant d'applications spécifiques ou de titres de fenêtres particuliers. Le contenu de tout e-mail consulté par l'utilisateur final pourrait être divulgué de cette manière. Bien sûr, cette approche n'est pas idéale si l'attaquant souhaite collecter rapidement un grand nombre d'e-mails, et sa portée est limitée : le système de chaque utilisateur victime doit être infecté, et le logiciel malveillant peut, à terme, collecter une quantité importante de données superflues.
Le chiffrement serait-il utile ?
Non. Si c'est affiché à l'écran ou saisi au clavier, cela est visible.
Comment Tanium a-t-il pu détecter cela ?
Il existe d’innombrables façons de mettre en place des portes dérobées, des enregistreurs de frappe, des outils de capture d’écran ou de collecte de données, ainsi que d’autres logiciels malveillants du même type ; il n’existe donc pas de technique unique permettant de tout détecter. Cependant, j'ai souvent constaté que l'analyse des mécanismes de persistance constituait un moyen efficace de s'attaquer au plus petit dénominateur commun de ces logiciels malveillants. Si l'attaquant souhaite collecter des données à partir d'un terminal sur la durée, son logiciel malveillant doit survivre au redémarrage.
De nombreux clients de Tanium utilisent nos capteurs liés à la persistance, tels que Détails sur les programmes à exécution automatique, Suivi des pilotes chargés, Recherche de détournement de l'ordre de chargement des DLL, Détails sur les modules de service, et Détecteurs d'événements WMI afin de détecter les fichiers binaires et les scripts suspects au sein de l'entreprise.
Une fois qu'un enquêteur a identifié un logiciel malveillant qui enregistre les frappes au clavier ou effectue des captures d'écran, il peut également constater que celui-ci utilise une convention de nommage cohérente pour ses fichiers de sortie. Le capteur « » () « Trace File Operations » () permet d’identifier les opérations historiques sur les fichiers correspondant à un nom ou à un format de chemin d’accès particulier ; les capteurs « » () « Index Query » () permettent quant à eux de détecter les fichiers au repos correspondant à un modèle – voire à une séquence d’octets d’en-tête – n’importe où sur le disque.
Autres méthodes et conclusions
Cet article n'aborde que très brièvement les différentes méthodes utilisées par les pirates pour voler des e-mails depuis l'ordinateur d'une victime ou depuis un réseau d'entreprise compromis. Parmi les autres techniques, on peut citer :
- Configuration d'Exchange pour transférer à l'insu d'un utilisateur ses e-mails vers une adresse tierce
- Les utilisateurs qui, de manière intentionnelle , redirigent leurs propres e-mails vers une adresse e-mail personnelle qui est ensuite piratée
- Les frameworks d'exploitation de navigateurs, tels que BEEF[3], qui permettent de surveiller discrètement l'activité de messagerie en ligne et d'autres données au sein du navigateur.
- Cible les logiciels internes utilisés pour l'archivage interne des e-mails (notamment à des fins de contentieux et d'audit)
- Inciter les victimes, par la ruse, à utiliser une application mobile malveillante qui se fait passer pour un client de messagerie légitime
- … et bien d’autres encore …
La sécurisation de la messagerie d'entreprise, comme celle de tout autre actif, nécessite une modélisation minutieuse des menaces. Gardez à l'esprit que les attaquants choisissent généralement la voie de la moindre résistance pour atteindre leurs objectifs ; par conséquent, toutes les voies d'attaque ne constituent pas nécessairement des vecteurs probables ou réalistes nécessitant un investissement équivalent en matière de contre-mesures.
Dans un réseau Windows classique à structure plate, des compromissions localisées sur quelques systèmes peuvent rapidement dégénérer en une faille plus importante touchant l'ensemble du domaine ; en revanche, infecter des utilisateurs spécifiques peut s'avérer « suffisant » pour un intrus intéressé par un ensemble de données plus restreint. De même, le chiffrement des messages ne constitue pas une solution miracle contre tous ces vecteurs d'attaque. Mais cela peut contraindre un attaquant à opérer à partir d'un ensemble plus restreint de systèmes de la victime, plutôt que de lui permettre d'accéder de manière opportuniste aux messages de n'importe quel compte à partir de n'importe quel point d'appui sur le réseau.
La diversité des techniques disponibles pour pirater des e-mails est stupéfiante, et cette menace ne touche pas uniquement les cibles très médiatisées. Une visibilité complète sur les terminaux, permettant de les détecter et de les contrer, constitue le meilleur moyen de garantir la sécurité de vos e-mails.
[1] https://github.com/officedev/ews-managed-api
[2] http://stackoverflow.com/questions/4454165/how-to-check-an-exchange-mailbox-via-powershell
[3] http://null-byte.wonderhowto.com/how-to/hack-like-pro-hack-web-browsers-with-beef-0159961/
À propos de l'auteur : En tant qu'architecte en chef de la sécurité chez Tanium, Ryan Kazanciyan apporte plus de 14 ans d'expérience dans les domaines de la gestion des incidents, de l'analyse judiciaire et des tests d'intrusion. Ryan supervise la conception et la feuille de route des offres de Tanium en matière de réponse aux menaces, et dirige l'équipe EDR (Endpoint Detection and Response) de Tanium. Avant de rejoindre Tanium, Ryan a supervisé les opérations d'enquête et de remédiation chez Mandiant, en collaboration avec des dizaines d'entreprises du classement Fortune 500 victimes d'attaques ciblées. En tant que formateur pour Black Hat et la brigade cybercriminalité du FBI, Ryan a formé des centaines de spécialistes de la gestion des incidents. Il est l'un des auteurs de l'ouvrage « Incident Response and Computer Forensics, 3e édition » (McGraw-Hill, p. 2014). Ryan travaille également en tant que consultant technique pour la série télévisée « Mr. Robot », où il collabore avec les scénaristes et l'équipe de production afin de concevoir les piratages informatiques mis en scène dans la série.
