Anatomie d'un kit de phishing : ce qui se passe derrière la fausse page
Une page de phishing ne s'écrit presque jamais à la main. Dans l'immense majorité des cas, elle sort d'une archive toute prête, un kit de phishing : un fichier .zip qu'on télécharge, qu'on dépose sur un serveur loué ou piraté, et qui devient opérationnel en quelques minutes. Voici ce qui se cache sous le capot, de la façade jusqu'aux données volées.
Une boîte à outils qu'on pose en cinq minutes
La première pièce du kit, c'est la façade : une copie du code HTML, CSS et JavaScript d'un vrai site (une banque, un service de messagerie, l'administration fiscale…). Récupérer ce code est simple, n'importe quel navigateur permet de l'enregistrer. Le travail du kit consiste à le rendre fonctionnel : les champs de saisie sont reliés à un script qui capture tout ce qui y est tapé, au lieu de vérifier un mot de passe auprès du vrai service.
Pour survivre plus longtemps, le kit cache souvent son propre fonctionnement. Le script qui capture les données est fréquemment encodé (en Base64, par exemple), ce qui le rend illisible d'un simple coup d'œil et compliqué à repérer pour un robot d'indexation ou un scanner de sécurité automatisé qui parcourt le code à la recherche de mots-clés connus. Ce n'est pas un chiffrement solide : un humain qui prend le temps de décoder le script y arrive sans difficulté. C'est surtout une manière de gagner quelques heures ou quelques jours avant d'être repéré.
Ce que la page vérifie pendant que la victime tape
Un kit bien construit ne se contente pas d'enregistrer n'importe quoi. Il valide la saisie en direct, exactement comme le ferait le vrai site, pour deux raisons : donner l'illusion d'un formulaire sérieux, et surtout ne pas encombrer le pirate avec des données inutilisables.
- Le format de l'e-mail est vérifié au caractère près (présence d'un « @ », d'un domaine valide…).
- Le numéro de carte bancaire passe par l'algorithme de Luhn : une formule mathématique simple qui vérifie qu'une suite de seize chiffres pourrait correspondre à une vraie carte, sans rien savoir de la carte elle-même. Un numéro inventé au hasard échoue presque toujours ce test ; le kit rejette la saisie et redemande la carte, tout en donnant l'impression d'un site rigoureux.
La partie la plus efficace, et la plus discrète, concerne la double authentification (MFA / 2FA). Beaucoup de kits récents affichent, juste après la saisie du mot de passe, un écran de chargement du type « Vérification en cours… ». Pendant ce temps, en coulisses, le pirate se connecte en direct au vrai site avec les identifiants qui viennent d'être volés. Le vrai site envoie alors un vrai code par SMS à la victime, qui le tape sur la fausse page en toute confiance : le kit le transmet aussitôt au pirate, qui le rentre à son tour sur le vrai site. La victime ne voit qu'un écran qui tourne un peu longtemps ; le pirate, lui, vient d'obtenir un accès complet, code à usage unique compris.
Ce mécanisme reste un montage artisanal, à valider à la main par le pirate. Des versions bien plus automatisées existent, où un serveur intercale la fausse page entre la victime et le vrai site sans aucune intervention humaine : c'est le sujet du guide AiTM : quand le phishing vole votre session, pas seulement votre mot de passe.
Où vont réellement les données : trois portes de sortie
Une fois validées, les données doivent sortir du serveur pour arriver jusqu'au pirate. Trois canaux reviennent constamment dans les kits actuels :
- Les webhooks Telegram ou Discord : la méthode la plus utilisée aujourd'hui. Le kit envoie une simple requête vers un salon Telegram ou Discord privé, et chaque identifiant volé apparaît instantanément dans une conversation, sur le téléphone du pirate. Rapide, gratuit, et difficile à repérer sans regarder le code source de la page.
- L'envoi d'e-mails : le kit utilise la fonction
mail()du langage PHP pour transmettre chaque saisie sous forme de petit rapport texte, à une adresse choisie par le pirate. - Les fichiers de journal locaux : plus rudimentaire, le kit écrit chaque donnée volée dans un fichier caché (
.txtou.csv) directement sur le serveur, que le pirate viendra récupérer plus tard.
Ces trois canaux ne s'excluent pas : beaucoup de kits combinent un webhook instantané pour être averti tout de suite, et un fichier de secours au cas où le webhook cesserait de fonctionner.
Le rideau qui tombe : redirection et nettoyage
Une fois les données parties, la fausse page ne s'arrête pas net : elle redirige la victime vers la vraie page de connexion du service imité (par exemple login.live.com), souvent avec un message d'erreur discret. L'effet recherché est précis : la victime se dit qu'elle a dû se tromper de mot de passe, retape ses identifiants sur le vrai site, s'y connecte normalement… et ne se doute de rien.
Certains kits vont plus loin et se protègent eux-mêmes après un premier passage réussi : effacement des journaux qui pourraient trahir leur fonctionnement, ou blocage de l'adresse IP de la victime pour qu'un second passage (par exemple celui d'un chercheur qui reviendrait examiner la page) tombe sur une page vide ou une erreur, au lieu du piège complet.
Comment un montage aussi bien ficelé finit par tomber
Malgré tout ce soin, les kits laissent des traces exploitables. La plus fréquente est une erreur de configuration du serveur : un répertoire ouvert (directory listing), qui laisse n'importe qui parcourir le dossier du site et, avec lui, télécharger l'archive .zip du kit tel qu'il a été déposé. Une fois cette archive en main, un chercheur y trouve souvent, en clair ou à peine encodés, les identifiants qui comptent vraiment : le jeton (token) du bot Telegram, l'identifiant du salon Discord, ou l'adresse e-mail de réception.
Ces identifiants ne concernent pas qu'une seule page : le même token de bot est souvent réutilisé sur plusieurs campagnes du même pirate. Le signaler à Telegram ou à Discord peut donc couper d'un coup toute une série de sites, bien au-delà de celui qui a été trouvé. C'est le même principe que pour l'infrastructure d'envoi d'e-mails, détaillé dans le guide Analyser un phishing : du message à l'infrastructure : chaque élément retrouvé est aussi un levier, et le serveur qui héberge le kit reste signalable à son hébergeur comme n'importe quelle page de phishing (voir trouver la bonne adresse d'abus chez un hébergeur).
Avant d'en arriver là, le premier réflexe reste de vérifier le lien qui a mené jusqu'à la page. En collant l'e-mail suspect dans Baitback, l'outil suit les redirections, identifie le serveur d'envoi et son hébergeur, et prépare directement les messages de signalement à envoyer, sans avoir à fouiller soi-même le code du kit.
- Une page de phishing sort presque toujours d'un kit tout prêt, cloné puis obfusqué pour retarder sa détection.
- La vérification en direct (Luhn, format d'e-mail, MFA relayé en temps réel) sert à filtrer les données inutilisables et à voler des codes à usage unique.
- Les données volées partent le plus souvent par un webhook Telegram ou Discord, un e-mail PHP, ou un fichier journal local.
- La redirection finale vers le vrai site sert à endormir les soupçons de la victime.
- Un répertoire ouvert peut livrer l'archive complète du kit, et avec elle, les identifiants qui permettent de couper toute l'infrastructure du pirate d'un coup.