Arrête-moi si tu peux : techniques d'évitement et de défense en matière d'hameçonnage
L'hameçonnage est un type d'attaque à multiples facettes, visant à recueillir des noms d'utilisateur et des mots de passe, des informations personnelles ou parfois les deux. Pourtant, ces attaques ne fonctionnent que si le kit d'hameçonnage reste lui-même caché. L'hameçonnage est une loterie et le temps est un facteur. Plus un kit d'hameçonnage peut rester actif et non détecté, plus l'escroquerie peut s'exécuter longtemps. Plus l'escroquerie dure longtemps, plus le nombre de victimes ne fait qu'augmenter.
Les kits d'hameçonnage utilisent de nombreuses techniques d'évitement et de défense pour contourner les contrôles de sécurité et éviter la détection. Cela permet au criminel qui déploie ces kits d'éviter que les chercheurs en sécurité ne les recherchent manuellement et que les fournisseurs de solutions de sécurité utilisent l'apprentissage automatique pour la détection prédictive ou l'analyse d'Internet à la recherche de domaines suspects.
Cet article de blog examine plusieurs techniques d'évitement et de défense qui ont été développées et utilisées sur des milliers de sites Web et des centaines de kits. Certaines de ces techniques sont courantes, d'autres peuvent être plutôt sophistiquées. La différence est généralement déterminée par le kit lui-même, son utilisation et la fonctionnalité prévue.
Fraude basée sur le contenu
Dans le secteur de la sécurité, le blocage des kits d'hameçonnage via la détection basée sur la signature sur le site Web d'hameçonnage (également appelée page d'arrivée) est une technique courante depuis de nombreuses années. Cependant, les développeurs de kits d'hameçonnage ont continué à se concentrer sur des techniques rendant plus difficile la détection et la prévention des attaques par hameçonnage pour les solutions basées sur des signatures. Pour gérer les contournements de kit, les fournisseurs de solutions de sécurité ont dû adopter une approche à plusieurs niveaux. Voici quelques exemples récents de techniques d'évitement basées sur le contenu.
Génération de contenu aléatoire
Sur les images ci-dessous, le contenu en question se concentre sur une page PayPal frauduleuse. Cette attaque d'hameçonnage est principalement à la recherche de noms d'utilisateur et de mots de passe PayPal de la victime, mais s'étend parfois à des informations personnelles et financières supplémentaires.
La figure 1 est ce à quoi ressemble la page d'arrivée pour la victime, tandis que la figure 2 est le code source HTML qui restitue la page elle-même. Sur la figure 2, l'image de droite a été prise quelques secondes après l'image de gauche. Même si le code HTML source est complètement différent des deux côtés, la page d'arrivée principale reste inchangée. La génération de valeurs HTML aléatoires oblige les entreprises de sécurité à conserver des signatures pour chaque itération du code source chargé, ce qui est presque impossible.
Lorsque la victime charge la page pour la première fois, il y a des chances pour le criminel qu'il n'y ait pas de signatures préexistantes enregistrées pour la page. Si la réputation du domaine est neutre ou inconnue, ou pire, s'il s'agit d'un domaine compromis avec une réputation positive, les attaques comme celles-ci ont un meilleur taux de succès que la moyenne.
Figure 1 : Aspect de la page d'hameçonnage générée de manière aléatoire
Figure 2 : Même boîte à outils avec deux contenus HTML différents générés de façon aléatoire
Contournement du codage HTML
Une autre technique couramment utilisée est de remplacer les valeurs de texte ASCII par une combinaison de codage ASCII et HTML. Bien que cette opération ne modifie pas la façon dont le texte sera rendu et présenté par le navigateur, de telles combinaisons peuvent échapper aux contrôles de sécurité qui n'évitent pas le HTML sur la page, avant d'essayer de faire correspondre les signatures textuelles.
Figure 3 : Valeur du titre du site Web d'hameçonnage avec combinaison de codage ASCII et HTML
Contournement de polices CSS
En janvier 2019, les chercheurs de Proofpoint ont découvert un kit d'hameçonnage qui utilisait des polices Web pour encoder du texte. Lors de l'examen d'une page d'arrivée, les chercheurs de Proofpoint ont découvert que le code source était codé, mais cela n'avait pas d'impact sur le rendu de la page. Lors d'un examen approfondi, les chercheurs ont découvert le chiffrement responsable du décodage du code source dans le code CSS de la page.
Le CSS effectuait des recherches dans un dossier de polices qui n'existait pas et a chargé à la place deux fichiers de polices WOFF et WOFF2 au format base-64. Personnalisés, les fichiers de polices contenaient des lettres dans le mauvais ordre et, une fois la page rendue, le navigateur traitait les polices comme si elles étaient dans l'ordre alphabétique, remplaçant le code source par du texte lisible.
URL générées de manière aléatoire
L'un des moyens les plus courants de partager des renseignements dans le secteur de la sécurité est par l'intermédiaire de flux de renseignements. Ces flux circulent sous de nombreuses dénominations communes, comme les "listes génériques" ou "les listes noires", mais le but est de distribuer des informations à des pairs, afin qu'ils puissent se défendre contre les menaces précédemment observées. Il y a beaucoup de flux en matière d'hameçonnage, les criminels en sont bien conscients, et ils cherchent à les éviter à tout prix.
De nombreux kits d'hameçonnage utilisent des chaînes générées de manière aléatoire pour modifier l'URL de la page d'arrivée, à chaque fois que quelqu'un accède à la page. Cela empêche le blocage du kit lorsque les listes noires utilisent l'URL complète, plutôt qu'un simple domaine. La randomisation entre également en jeu comme moyen d'ajouter de la légitimité à l'attaque d'hameçonnage elle-même, puisque des chiffres et des lettres aléatoires distraient souvent la victime et donnent à la page une apparence plus officielle.
Voici un exemple d'URL générées par un kit récemment observé :
http://whiteohio{.}ga/secure/santos/4a19123eb1279a47c524bb5610c04eb2fc9f4af3/
http://whiteohio{.}ga/secure/santos/f1236dff5933eac286085df87abcac581b12a7de/
http://whiteohio{.}ga/secure/santos/4fa97942c5059d10bfa08e7cc61cbdba566e52c9/
Dans ce kit, chaque fois que le site Web a été chargé par une victime, un nouveau dossier et une nouvelle URL ont été générés, en utilisant très peu de code (voir la figure 4).
Figure 4 : Code d'hameçonnage générant une URL aléatoire
Paramètres d'URL aléatoires
Les paramètres générés de façon aléatoire sont apparentés aux URL générées de manière aléatoire. Là encore, l'objectif se divise entre l'ajout de légitimité à la page d'arrivée et l'évitement de la détection. À de nombreuses reprises, les sites Web de connexion affichent une longue chaîne de caractères et de chiffres apparemment aléatoires au visiteur. Ainsi, lorsque les kits d'hameçonnage veulent procéder ainsi, ils utilisent simplement la commande rand() à chaque chargement de page. Voici quelques exemples de paramètres générés de façon aléatoire.
- hxxps://chicagocontracts{.}tk/files/adobeproject/952cdca7aae137e22d7e1eedc7cc81a1/login.php?cmd=login_submit&id=f44b5e2fe6bb7f972a476a386cbf7626f44b5e2fe6bb7f972a476a386cbf7626&session=f44b5e2fe6bb7f972a476a386cbf7626f44b5e2fe6bb7f972a476a386cbf7626
- hxxps://chicagocontracts{.}tk/files/adobeproject/00e0b678a385a1f097044f8953fa0be1/login.php?cmd=login_submit&id=653af29587971f829e7d45ecb72c2860653af29587971f829e7d45ecb72c2860&session=653af29587971f829e7d45ecb72c2860653af29587971f829e7d45ecb72c2860
- hxxps://chicagocontracts{.}tk/files/adobeproject/e130e2f6df8ae2f5b9be01a8edaeaa7a/login.php?cmd=login_submit&id=4ec8655cab2e9c4b0119c2c6ca9c80274ec8655cab2e9c4b0119c2c6ca9c8027&session=4ec8655cab2e9c4b0119c2c6ca9c80274ec8655cab2e9c4b0119c2c6ca9c8027
Figure 5 : Code source de kit randomisant les paramètres
Sous-domaines générés de manière aléatoire
Une autre méthode pour éviter les centres de détection est l'utilisation de sous-domaines aléatoires. Cela ne fonctionne vraiment que si le domaine racine lui-même n'est pas filtré ou bloqué directement. Avec cette méthode, le criminel crée une liste de sous-domaines pouvant être utilisés en fonction de la façon dont la victime accède à la page de renvoi.
Figure 6 : une liste partielle de sous-domaines randomisés utilisés
En outre, les kits d'hameçonnage tentent d'éviter la détection en limitant l'accès à des victimes sélectionnées. Ces méthodes sont généralement repérées dans presque tous les kits, et bien que leur succès soit modéré dans l'ensemble, elles ne sont pas infaillibles. La plupart du temps, ces méthodes sont conçues pour bloquer les acquisitions automatisées, les blocs et les chercheurs.
Inverser l'exclusion PTR
Les criminels cherchent à bloquer les domaines connus en prenant l'adresse IP d'un visiteur et en effectuant une requête DNS PTR - une requête DNS qui réconcilie une adresse IP à son domaine associé. Dans l'exemple ci-dessous, vous pouvez voir que le code source cherche à bloquer les indexeurs, les fournisseurs connus (cyveillance, phishtank, sucuri.net) et les fournisseurs d'hébergement dans le cloud comme Amazon ou Google. En outre, quelques fournisseurs de sécurité sont mentionnés directement, notamment Message Labs et Trend Micro.
Figure 7 : Code source à exclusion PTR
Filtrage de l'agent utilisateur HTTP
Dans cette méthode (Figure 8), les kits d'hameçonnage filtrent un visiteur de la page d'arrivée en examinant l'agent utilisateur HTTP et en recherchant les mots-clés qui indiquent le trafic des bots ou l'analyse automatisée.
Il est clair que les bots constituent un problème pour les sites Web légitimes, mais également pour les criminels. La plupart des bots filtrés par kits d'hameçonnage sont liés à un moteur de recherche ou à des utilitaires de récupération de contenu. Cependant, les kits vont également chercher à bloquer les indexeurs automatisés utilisés par les chercheurs et les entreprises de sécurité. L'effort de blocage de bot est destiné à garder le kit d'hameçonnage caché aussi longtemps que possible, afin que seules les victimes du kit puissent accéder à son emplacement.
Il existe également des contournements basés sur le FAI et la visite IP (pour empêcher la même adresse de visiter le kit d'hameçonnage plusieurs fois). Les filtres basés sur les FAI sont utilisés pour garder les victimes du kit d'hameçonnage verrouillées dans une région spécifique, ou si le kit cible directement un FAI, ne ciblent que les clients de ce service.
Figure 8 : Code source montrant le filtrage de l'agent utilisateur
Configuration personnalisée .htaccess
Sur les serveurs Web, les fichiers .htaccess sont utilisés pour contrôler le trafic des visiteurs, comme les redirections vers des pages d'erreur personnalisées, le contrôle d'index ou la prévention de hotlinking. Pour les kits d'hameçonnage, les fichiers .htaccess sont utilisés pour bloquer par IP. La plupart des fichiers .htaccess couramment utilisés par les kits d'hameçonnage actuels bloquent des plages IP entières appartenant à des fournisseurs de sécurité, des fournisseurs de cloud, des nœuds Tor connus, des chercheurs connus, des universités, etc.
Conclusion
L'hameçonnage consiste à jouer au chat et à la souris. Les chercheurs et fournisseurs en sécurité développent des méthodes de détection, et les développeurs de kits d'hameçonnage créent un moyen de les éviter. Comme nous l'avons montré dans cet article, la plupart des kits utilisent des méthodes simples, mais efficaces pour l'évitement. Les progrès réalisés par les défenseurs, notamment l'apprentissage automatique et la détection algorithmique, désavantagent quelque peu les développeurs de kits d'hameçonnage.
Essayer d'arrêter l'hameçonnage de façon permanente est une impasse, les gens cliqueront toujours sur un lien ou auront leur curiosité attirée par quelque chose. Par contre, se concentrer sur la détection et la réduction de la durée de vie d'un kit d'hameçonnage donné est une victoire possible dans l'univers de sécurité. Comme l'hameçonnage n'est pas seulement un problème de messagerie électronique, des défenses doivent exister en dehors de la boîte de réception. C'est là qu'interviennent la sensibilisation, l'analyse proactive et basée sur les kits plutôt que l'empreinte basée sur le domaine.
Alors que les frontières s'estompent entre les techniques défensives et offensives, étant donné que les deux parties les utilisent, les spécialistes de la sécurité sont obligés de veiller à ce que nous connaissions parfaitement la menace et à ce que nous en sachions plus sur les murs construits par les agresseurs afin de s'assurer que nous ne restions pas à l'extérieur de cette enceinte.