La Bible du Phishing
Transcription
La Bible du Phishing
La Bible du Phishing Bonjour à toi, heureux détenteur de la Bible du Phishing. Sache d’abord que j’ai mis des semaines avant de mettre en place les méthodes qui suivent, et que tu à entre les mains un outil extrêmement puissant et dangereux. Pour apprendre le phishing, tu n’auras besoin d’aucunes connaissances particulières, bien qu’il soit préférable d’avoir des notions dur le web (serveur, nom de domaine, dns, hébergement…) et la connaissance de certains langages (html, css, php). Cependant tout cela est facultatif et même les plus noob d’entre vous pourront s’en servir, cependant si vous avez ces connaissances vous irez plus vite pour maîtriser ce type de hack (tout de même relativement complexe), pour les autres je vous préviens des notions assez pointues abordées mais ne vous inquiétez pas j’expliquerai tout dans les moindres détails. Qu’est-ce que le phishing ? Le phishing est le fait de se faire passer pour une entreprise afin de récupérer des informations de la victime, pensant avoir affaire à celle-ci. Toute la difficulté du phishing est donc d’être en tout point identique avec l’entreprise, de ne pas alerter l’esprit de la victime afin qu’il ne se rende pas compte du début jusqu’à la fin qu’il s’agissait d’un faux échange. Le plus dur reste de contourner toutes les méthodes employées par les navigateurs, boites mails… Pour empêcher leurs clients de tomber dans le piège, ce qui fait du phishing une méthode compliquée et réservée pour ceux qui ont un minimum d’expérience, seulement tout vous sera dévoilé ici ! Concrètement comment ça marche ? Pour que ce soit plus concret on va partir du principe que vous cherchez à obtenir des identifiants Google pour la suite de cette partie, mais comprenez que cela fonctionnera de la même façon pour tout. Sachez aussi que les techniques de phishing n’ont de limite que l’inventivité de ceux qui a pratiquent, donc ce que je vais vous expliquer ici est ma méthode, il se peux que vous ne la suiviez pas à la lettre ! Ce que voit la victime Je vais vous montrer le déroulement d’un hameçonnage typique avant de vous apprendre à le mettre en place vous-même. Voilà comment ça se déroule : -vous envoyez un email à la victime qui ressemble à celui de Google Vous remarquerez que l’expéditeur du mail en haut à gauche apparait comme [email protected] ce qui n’est pas l’adresse de google mais qui pourrait se faire passer pour, nous verrons par la suite les raisons de tous ces détails. -la victime pensant son compte hacké ou une erreur s’empresse de cliquer sur le bouton -elle est redirigée vers un site web que vous possédez dont l’url ressemblera à : De même il ne s’agit pas de l’url de google (mais il y ressemble fortement), et la page ressemblera à : Et là pour le coup elle est strictement identique. -après avoir rentré ces identifiants l’utilisateur se verra affiché : Ceci vise à le rassurer et à le dissuader de modifier son mot de passe et lui faisant comprendre que son compte est « protégé » et la prétendue modification de mot de passe (qui n’a jamais eu lieu évidemment) a été annulée. -il clique sur j’accepte, et il est alors redirigée vers la vrai page de connexion de google : Entre temps il nous il nous a gentiment fourni ces identifiants ! Vous avez vu comment cela se passe côté client, chacun des détails de ces étape est crucial (url des pages, expéditeurs du mail…) pour une crédibilité maximale mais aussi pour être indétectable, sachez aussi que j’ai choisi ces étapes après avoir fait de nombreux tests (ainsi le popup pour confirmer la protection du compte a été rajouté car de nombreuses personnes ne savaient pas si la prétendue « modification » de leur mot de passe avait été effectivement annulée et changeaient donc leur mot de passe par sécurité). Je vais donc maintenant vous apprendre à mettre en place tout ceci. La page de phishing Nous allons tout d’abord commencer par créer notre page de phishing (rappelez-vous, nous sommes dans le cas de google mais rien ne vous empêche de faire de même de pour n’importe quoi comme steam, hotmail, uber, cdiscount… Bref tout ce qui nécessite un mot de passe et qui vous intéresse ! NB : Cependant je vous conseille de tout particulièrement vous pencher sur les adresses mails car ce sont souvent des mines d’or, mais nous verront cela plus en détails dans la partie « Exploiter ses logs ». Les carrés bleus comme suivent sont dédiés à ceux qui ne connaissent pas le développement web ou ceux qui veulent des rappels. Pour réaliser une page de phishing il est préférable d’avoir des notions en HTML5 et CSS3, je vous invite pour cela à suivre le tuto du site Open Classroom qui est très abordable, de la même façon quelques notions en PHP sont souhaitables. 1. Sauvegarder la page Dans un premier temps vous allez vous rendre sur la page que vous désirez copier, par exemple https://accounts.google.com/ServiceLogin pour google (faites-le en navigation privée afin que la page soit comme si vous y alliez pour la première fois : pas de comptes préenregistrés…) Faites Ctrl+S afin de sauvegarder la page quelque part sur votre disque dur, sauvegardez-la au nom « index » par exemple. Si vous vous rendez dans le répertoire où vous l’avez sauvegardé vous devriez voir ceci : Le fichier .html contient la page, tandis que le dossier contient tous les fichiers utilisés par la page, ils peuvent être des images, des fichiers javascript (.js), des feuilles de style (.css), des images… La pour l’instant c’est ce que vous aurait dit n’importe quel mauvais tuto sur le phishing, seulement ce n’est pas aussi simple, effectivement si vous double cliquez sur index.html vous obtenez une page identique à celle de google, seulement si vous uploadez ces fichiers sur un hébergement, le site sera directement détecté par les navigateurs et vous obtiendrez une alerte horrible de ce style : Il est impossible de connaitre les algorithmes exacts qui permettent aux navigateurs de détecter la page mais on peut tout faire pour la rendre indétectable, ainsi dans les explications qui suivent, certaines pourraient être inutiles mais en tout cas l’ensemble marche ! Avant tout, je vous conseille de vous munir d’un éditeur de texte, sachant que notre travail va ressembler à celui d’un développeur web je vous conseille Brackets que vous trouverez facilement. 1. Retirer les scripts Vous allez ouvrir la page avec l’éditeur, pour rappel la structure html d’une page est en gros : Les balises <script></script> contiennent du code javascript, celui-ci peut être utilisé pour de nombreuses choses par la page, notamment une éventuelle vérification, il faut toutes les supprimer (de toute façon elles n’entrent pas en compte pour la partie visuelle du site), vous allez donc devoir supprimer ces balises et leur contenu dans toute la page, pour les cibler vite utilisez la recherche (ctrl+f). Les scripts peuvent aussi être importés comme ceci : Supprimez ceux-ci aussi (vous pouvez aussi supprimer tous les fichiers .js contenus dans le dossier index_files). 2. Modifiez la balise title Dans le head de la page, modifiez le titre original, par exemple si le titre est « Gmail » remplacez le par « Connexion » ou « Boîte de Réception » 3. Supprimez les balises meta Supprimez les balises de ce type : La seule balise qui peut être utile est celle pour définir l’icône de le page (celle-là Si il n’y en a pas définissez la juste avant le </head> par : ) <link rel="icon" type="image/png" href="index_files/logo.png" /> L’icône affichée sera donc l’image logo.png que vous aurez placé dans le dossier, vous n’aurez pas de mal à trouver l’image correspondante à votre site sur internet. 4. Supprimez tout lien externe Il va vous falloir remplacer tout ce qui vient de l’extérieur, pour cela rien de plus simple, recherchez « http » dans la page : - Ex : Avant : Si il s’agit d’une image, allez à l’adresse dans votre navigateur, sauvegardez l’image dans le dossier index_files au nom « 1.png » par exemple, puis remplacez le lien vers l’image dans le code par « index_files/1.png » J’ai téléchargé l’image à cette adresse : https://ssl.gstatic.com/accounts/ui/wlogostrip_230x17_2x.png dans mon dossier en l’appelant « 1.png » Après : Si il s’agit uniquement de liens dans un attribut « href » ou « action » supprimez le. Une dernière chose si des feuilles de style (autre quand dans les balises <style> de la page sont importées, renommez les si elles le sont depuis le dossier index_files, ou téléchargez les de la même façon que pour les images. 5. Supprimez toute référence à l’entreprise en question Dans notre exemple pour Google, il ne faut pas que les mots « Google » ou « Gmail » etc.. N’apparaissent, il faut alors user de stratagèmes : comme souvent pour éviter qu’une chaîne de caractère puisse être détectée par les algorithmes de détection, on peut utiliser les images : Par exemple sur la page de connexion de Google, les phrases « Tout Google pour un seul compte » et « Connectez-vous pour accéder à Gmail » sont facilement repérables, pour la seconde on peut doubler la lettre i dans Gmail, ce qui est gère visible, mais pour « Google » c’est plus compliqué, il suffit alors de se rendre sur la page, de faire une capture de la phrase, et de sauvegarder l’image dans le dossier, on remplace ensuite dans le code la phrase : Par : Pour la capture vous pouvez utiliser l’outil Capture de windows : Ca y’est ! Votre page est indétectable par tous les navigateurs (si par la suite vous vous rendez compte que votre page est détectée, faites tourner votre logique et réfléchissez à tous ce qui pourrait être détecté, une chaîne de caractère particulière, rappelez-vous que rien ne doit sortir de votre page, aucune requête). C’était un peu long et fastidieux mais votre page est prête, NB : Un détail qui a son importance, dans certains cas le fait de supprimer tous les scripts peut avoir une conséquence, notamment lorsque la page de connexion n’est pas statique, c’est-à-dire que des animations ont lieu lors de la connexion (pour ma part je n’ai vu cela que sur la page de connexion de Google justement). Pour pallier à ce problème il vous faudra refaire l’animation vous-même ce qui va nécessiter l’usage de Javascript, j’utilise pour ma part le Framework jQuery qui a l’avantage d’être accessible si vous débutez, et qui permet d’obtenir l’effet voulu assez simplement. Le but de ce tutoriel n’étant pas de vous apprendre à utiliser jQuery je vous encourage à suivre un tutoriel sur Open Classrooms, sachant qu’une fois que vous maitrisez bien HTML et CSS, jQuery est vraiment très simple à assimiler. Avant tout vous devez l’importer, placez le avant tout autre script juste avant la balise fermante « </body> » comme ceci : Je vous montre comment j’ai rétabli l’animation pour la page de Google par exemple (vous pouvez voir le code an entier fourni avec le tuto): Une dernière chose sur cette page, la popup de confirmation n’est pas présente à l’origine (tout simplement car une « annulation de réinitialisation » n’est pas une procédure qui existe chez google, c’est donc qu’il faut la créer soi-même, on en parlera plus en profondeur dans la partie « Ajouter des éléments inexistants (et récupérer des CC) ». Vous l’aurez compris un bon phisheur est un bon développeur web ! C’est merveilleux vous avez votre page, mais il va maintenant faire la partie serveur, pour l’instant votre page ne contient que la partie graphique, il va falloir gérer l’envoi des identifiants pour que vous puissiez y accéder. L’envoi des données Lorsque l’utilisateur rempli les champs email et mot de passe, il le fait via un formulaire, les informations sont alors envoyées à un page de connexion au clic sur « Connexion » avec la valeur des champs. Nous nous allons envoyer la valeur de ces champs à une page php pour nous les envoyer par mail. En html un email ça ressemble à peu près à ça : Notez que c’est la version simplifiée, dans votre page le formulaire sera probablement plus long, et les éléments peuvent avoir pleins de classes etc… Un petit rappel si vous avez oublié, on va décortiquer certains attributs importants : - Action : le fichier à qui on envoie la valeur des champs Method : la méthode utilisée pour envoyer ces données Name : le nom de la variable envoyée, c’est ce nom qui sera utilisé dans la page en PHP pour récupérer les variables Vous allez donc trouver la balise form dans votre page index.html, et modifier l’attribut action par « email.php » par exemple, il va aussi vous falloir repérer les 2 input correspondants à l’email et au mot de passe. Pour cela il est plus rapide d’utiliser la console développeur de Chrome ou Firefox, ouvrez votre page index.html, faites un clic droit sur l’un des 2 champs et cliquez sur inspecter l’élément, un panel s’ouvre. Le fichier html apparait entre autre, et un élément est sélectionné, l’élément input (si ce n’est pas le cas, essayez de chercher dans les éléments enfants ou parents). Notez la valeur de l’attribut Name et faites de même avec le champ mot de passe. Maintenant les variables sont envoyées à la page « email.php », fichier que vous allez créer au même endroit que index.html . Attention, il est possible que votre page ne contienne pas de balise form, ou que les input n’aient pas d’attribut name, cela signifie que les données n’étaient pas envoyées via html mais en javascript (comme le page de connexion de Google par exemple). Dans ce cas vous pouvez ajouter un attribut id, ou le noter s’il est déjà présent, sur les 2 balises input et faire l’envoi en jQuery comme cela par exemple : Ici « Email » et « Passwd » sont les ids que j’ai rajouté aux 2 input, un autre rappel pour envoyer des variables en get (c’est-à-dire via l’url), on fait comme cela : Maintenant qu’on a géré l’envoi, créons la page email.php, voilà le contenu : Notez que ce qui se trouve entre les crochets des $_GET correspondent aux attributs name, ou bien les variables dans l’url si la redirection à été faite en javascript. Voilà, la partie serveur est terminée ! Upload et URL Il va maintenant falloir uploader votre site sur un hébergeur et obtenir un dom de domaine vers lequel rediriger votre victime avec le mail. Pour cela vous avez le choix, soit un hébergeur gratuit, soit un hébergeur payant. Voilà leurs avantages et inconvénients. Hébergeur gratuit : -c’est gratuit -vous pouvez souvent commander un nom de domaine gratuitement Mais : -il y’a des limites de CPU, (vous ne pouvez pas envoyer 1000 visiteurs par jour dessus par exemple) -il doit gérer les sous-domaines -il faut en trouver un qui accepte la fonction mail() mais ceux-ci sont rarement instantanés et assez limités -il y’a de forte chances que votre email arrive dans les spams -le mails avec des liens pour des domaines gratuits sont souvent bloqués Mon préféré est 000webhost, notez qu’il faut immédiatement réinitialiser le mot de passe FTP pour y accéder (si vous ne savez pas ce que c’est vous allez bientôt savoir). Hébergeur payant : -aucune limite de CPU (enfin si mais pas du tout la même échelle) -fonction mail() acceptée, quotas plus avantageux -les emails arrivent rarement dans les spams Mais : -c’est payant Mon préféré est un mutualisé chez OVH, à 3 e/mois. Au moment de choisir votre hébergement il va vous falloir choisir un nom de domaine, c’est un moment délicat car le nom de domaine est généralement ce qui va permettre à la victime de savoir si elle est sur le vrai site ou non. Afin de tromper la majorité des néophytes je vais vous expliquer mon astuce pour un nom de domaine incroyablement ressemblant au vrai. Il vous faut commander un nom de domaine commençant par « fr- », observez l’url de la vraie page de connexion : Vous allez par exemple prendre le nom de domaine : « fr-service-login8service-mail0passive-true8rm-false.fr » Vous allez par la suite créer un sous-domaine « accounts.google » ce qui fera l’url suivante : Notez que tout ce qui est après le « ? » n’est pas compté pour charger votre site, avec un url très long vous êtes sûr que la victime ne se doutera de rien. Attention, chez les hébergeurs payants il est très déconseillé de prendre un URL de ce type (qui commencent par « fr- » et qui sont bizarre après, ils le détectent et vous empêchent de le commander, prenez plutôt un domaine quelconque en attendant, je vous expliquerai la procédure par la suite pour en avoir un quand même. Lorsque vous avez commandé votre hébergement et domaine, vous recevez un mail avec les identifiants FTP, il va vous falloir un client FTP pour vous y connecter. Si ce n’est déjà fait installez en un comme FileZilla par exemple, et connectez-vous à votre FTP, il y’a un dossier, généralement « www » ou « public_html », ne transférer pas encore votre site dedans, il vous faut soit : -créer un sous-domaine si vous avez votre nom de domaine -commander un nom de domaine en « fr- » si vous ne l’avez pas encore. Sous-domaine : Il est très simple d’en créer un dans le panel de votre hébergeur, créez en un au nom de votre site, par exemple « accounts.google » ou « amazon », le site créé alors un dossier dans « www » dédié à ce sous-domaine, transférez les fichiers de votre page à l’intérieur de ce dossier via le client FTP. Commander un domaine : Si votre hébergeur payant est regardant, il vaut faut commander un nom de domaine via un service tiers. J’utilise amen.fr pour ma part, j’ai eu mon nom de domaine pour 1 euros, payez le a rendezvous sur votre espace client (il peut y avoir quelques délais), allez dans la section « Domaine et DNS » et créez un nouveau sous domaine comme je vous l’ai expliqué, par exemple « accounts.google ». Maintenant allez sur le panel de votre hébergeur dans la section multisite. Pour OVH c’est dans hébergement/nomdevotre1erdomaine/Multisite. Cliquez sur : Puis sélectionnez « Ajouter un domaine externe ». Dans la fenêtre qui suit renseignez le nom du dossier ou vous compter placer les fichiers du site de votre nouveau nom de domaine, par exemple « google », et entrez l’url de votre nouveau nom de domaine (en incluant le sous-domaine). Sur la page suivante, OVH nous explique la procédure à suivre pour la configuration : Retournez sur le panel de amen.fr, créez le sous-domaine « ovhcontrol » en plus de votre ancien, allez dans Domaine et DNS/Configuration DNS. Supprimez tous les champs A ou CNAME qui correspondent à vos sous-domaine (ancien + ovhcontrol) dans la liste et créez un champ A qui redirige votre sous-domaine (le premier) vers l’ip de votre hébergement fournie par OVH (pour moi 2013.186.xx.xx). Allez dans Gestion avancée, faites « ok » si un pop-up apparait, et supprimez les champs liés au sous domaine « ovhcontrol ». Ajoutez en un de type TXT avec pour nom « ovhcontrol » et pour valeur la clé donnée par OVH, pour moi « xxxxxxxxxxxxxxxxxxxx ». Faites l’upload de votre site dans un dossier à côté de « www » avec votre client FTP, le nom du dossier est celui que vous avez précisé OVH tout à l’heure (pour moi « google »). Cette fois c’est tout bon ! Normalement si vous vous rendez sur l’url il vous affiche votre page, le plus dur est fait ! Passons maintenant au mailing. Créer l’email Pour créer l’email on va être confrontés à peu près aux mêmes problématiques que pour la page quant à la détection par les algos des boîtes de réception. Pour cette partie je vais me concentrer sur Gmail mais sachez qu’elles n’ont pas toutes les mêmes algos, donc il est difficiles d’être certains de toute les bypass, une autre raison de se concentrer sur une seule boîte de réception est la gestion de l’affichage dans les emails : en effet les emails utilisent encore des vielles versions d’HTML et CSS, une vraie galère… Plusieurs choses peuvent être détectées faisant de votre mail un mail dangereux qui n’apparaîtra même pas dans la boîte de réception, soit un spam. 1. L’envoyeur Le service qui envoie le mail doit être reconnu comme fiable, comme OVH si vous envoyez le mail via l’hébergement, ou un service SMTP connu (nous verrons cela ensuite). 2. L’adresse de l’expéditeur Si vous comptiez choisir « [email protected] » pour signer votre email de phishing vous pouvez mettre une croix dessus, choisissez plutôt un truc générique style [email protected] ou [email protected] 3. Le contenu du mail Votre email sera en html, n’espérez pas réussir votre phishing avec un simple texte, sauf rare exceptions personne ne se fait avoir, non il faut un email vraiment identique à l’original. Cependant il est assez rare que les mails soient bloqués pour leur contenu en soi. Passons maintenant à la création du mail, pour récupérer des logs, une technique consiste à faire croire à la victime que son mot de passe a été réinitialisé, elle va donc penser qu’elle s’est fait pirater son compte. Un tel mail existe, et les sites en envoient souvent lorsque le mot de passe d’un compte est réinitialisé sur leur site, seulement ils proposent immédiatement de le remodifier dans le cas où l’utilisateur n’est pas au courant de la réinitialisation. Nous, nous allons simplement remplacer ce lien par un prétendu lien pour annuler la modification, la victime doit être suffisamment en confiance pour ne pas vouloir modifier à nouveau son mot de passe après avoir cliqué sur le lien d’annulation. Par exemple un mail de Facebook (je change d’exemple dans ce cas, pour Google ce sera un peu plus complexe je vous explique par la suite). Pour récupérer l’email désiré, ouvrez le dans votre navigateur, cliquez droit sur un élément du mail puis inspectez l’élément. Dans la liste des éléments HTML remontez à l’élément parent qui englobe tout le mail (souvent <tbody>), puis faites ctrl+c pour copier l’élément (avec tous ceux qu’il contient, tout le mail quoi). Un autre moyen est de cliquer sur ce bouton : Puis « Afficher l’original », une page s’ouvre avec un texte qui contient l’email en html, copiez allors tout ce qui se trouve entre <html> et </html>. Créez un fichier html avec votre éditeur avec une structure html d’email basique : Et collez votre email entre les balises body. Vous allez maintenant supprimer tous les liens (ctrl+f « http » pour les trouver plus vite). Ensuite ciblez le lien que vous souhaitez remplacer, remplacez le par un lien vers l’url de votre fausse page, si il s’agit d’un bouton « Réinitialiser votre mot de passe » vous avez tout intérêt à le changer en « Sécuriser mon compte » ou « Annuler la réinitialisation ». Il semble que les boîtes de réceptions ne détectent pas les emails de phishing en ciblant les chaînes de caractères, donc pas besoin de supprimer toute allusion au nom de l’entreprise comme on a pu le faire pour la page web, la seul fois où cela m’est arrivé était pour l’email de phishing de google justement, donc leur propre mail : dans ce cas il détectent que l’email est dangereux. Comme pour la page web un moyen de contourner cette sécurité est d’utiliser une image, faites une capture de l’email dans la meilleure définition possible après avoir modifié le mail via la console développeur. Par exemple j’ai trouvé ce mail de google : J’inspecte alors plusieurs éléments pour : -retirer tout ce qui réfère au compte (afin que le mail soit générique, puisse fonctionner avec n’importe qui) -changer le texte du bouton Une fois que l’on a tout modifié avec la console ça donne ca : On prend donc une capture de l’email et au lieu de copier le contenu du mail dans le <body> de notre page html on créé un lien vers votre page de phishing qui contient votre image : Le seul problème c’est qu’un email ce n’est qu’une page html, il ne peut pas contenir de fichier donc pas d’image, il faut uploader l’image ailleurs, sur votre hébergement par exemple, créez un dossier img à côté de index_files, et mettez dans le code dans « src » : « http://votreurl.com/img/votreimg.png ». Quelques remarques pour être sûr que le mail est bien reçu, il s’agit d’un document html, à ce titre la Boite de Réception filtre aussi le contenu de l’email. Mes toutes récentes recherches m’ont mené à faire ces observations sur la détection : - - Faites attention tout particulièrement aux liens, votre email ne doit pas comporter de liens vers un nom de domaine gratuit (comme ceux proposés sur 000webhost), d’où l’intérêt de posséder un vrai nom de domaine Il semble qu’on ne puisse pas mettre un lien contenant une seule image, une astuce consiste alors à la faire suivre d’une phrase (comme sur le texte plus haut), et de mettre cette phrase en blanc pour qu’elle soit invisible (comme sur l’image plus haut). En plus la phrase apparaît à coté de l’objet du mail dans la boîte de réception comme sur l’original : Ca y’est ! Votre email est prêt, que ce soit un mail normal en html ou une image dans un lien vous êtes prêt à l’envoyer. Envoyer l’email Pour envoyer vos emails vous avez plusieurs possibilités, soit via la fonction mail de php, je vous laisse le soin de trouver un mailer (c’est-à-dire une page php qui vous permet d’envoyer des emails en html que vous pourrez uploader sur votre site), faites attention à ce que vous ayez la possibilité de modifier l’adresse de l’expéditeur. Dans ce cours nous allons nous pencher sur une autre méthode qui consiste à envoyer des mails via un serveur SMTP. Avec ce cours vous avez reçu le logiciel Bulk Mailer, il s’agit d’un logiciel permettant d’envoyer des emails en masse via plusieurs méthodes. Le logiciel est relativement intuitif et facile d’utilisation. Installez le (un readme est fourni pour le crack), puis configurez l’envoi de mails. Créez un nouveau mail : définissez l’adresse de l’expéditeur comme vous le désirez, dans le champ « To » inscrivez l’email de votre victime ou la mailinglist (un chapitre est dédié aux mailing lists par la suite). Dans l’onglet source sélectionnez le code html déjà présent, supprimez le et remplacez le par le code html de votre email de phishing. Précisez l’objet du mail en copiant l’objet original, du genre : « Modification de votre mot de passe Google ». Sachez que l’objet du mail n’est pas du tout analysé par la boîte de réception pour la détection d’emails frauduleux. Vous pouvez maintenant sauvegarder votre email et fermer la fenêtre d’édition de celui-ci. Ouvrez la section réglages, et veuillez à ce qu’ils soient comme suit : Vous allez maintenant devoir vous inscrire sur un service smtp, les adresses mails classique proposent souvent de se connecter via SMTP mais elles ont généralement de fortes limitations. Pour envoyer un grand nombre de mail certains services sont spécialisés, pour les trouver vous pouvez rechercher « smtp bulk mail », mais ces entreprises sont en général assez contraignantes, leur service est payants et elles demandent souvent à voir un site web pour prouver que vous récoltez vos emails sur le site de votre entreprise, et puis si ils détectent que vos emails sont du phishing vous avez des chances d’avoir payé le service pour rien. Une alternative consiste à créer un compte gratuit sur des sites comme smtp2go.com, pour chaque compte vous allez pouvoir envoyer une centaine d’emails avant qu’ils ne détectent que vous en envoyez de très nombreux sur une courte période et suspendent votre compte. Vous pouvez créer 2 comptes par ip, il vous faudra donc changer d’ip via un proxy ou vpn régulièrement. Pour chaque compte créé vous nécessiterez une adresse email, vous pouvez les créer sur mail.com car ils ne demandent pas de numéro de téléphone, donc vous pouvez créer des comptes de façon illimitée. De la même façon vous avez le droit à 3 comptes par ip il me semble. Je vous déconseille d’utiliser plusieurs comptes sur ce genre de services smtp pour envoyer vos emails, en effet ils détectent que les emails proviennent de la même ip. Lancez l’envoi le soir, il semble que plus de mails sont envoyé avant qu’ils ne bloquent le compte. Allez dans la section « smtp servers » dans les paramètres, et ajoutez en un, vous allez devoir fournir plusieurs paramètres qui vous ont normalement été précisés par votre serveur SMTP : -l’url du serveur (ex : smtp.smtp2go.com) -le port de connexion au serveur (2525 pour smtp2go.com, pas de SSL) -l’adresse email de l’expéditeur (choisissez en un quelconque avec smtp2go) -identifiant et mot de passe -sélectionnez 1 thread, renseignez-vous sur les quotas de votre serveur (25 mails par heure pour smtp2go) Testez la connexion et veillez à ce que la réponse du serveur soit OK, puis fermez et cochez ce serveur. Vous pouvez maintenant procéder à l’envoi. Faites toujours des tests avant d’envoyer le mail à vos victimes. Les mailing lists A partir du moment où vous comptez faire du phishing à grande échelle vous allez avoir besoin de mailing lists importantes, pour cela je vais vous donner mes astuces. Vous allez tout d’abord avoir besoin d’une base de départ, quelques centaines d’emails pour commencer, il est assez facile de les obtenir, grâce à Facebook par exemple. Facebook est un outil merveilleux car il concentre la plupart des gens, et que vous pouvez cibler votre public. En effet si vous cherchez à obtenir des comptes Facebook pour booster votre page par exemple, vous allez voir la possibilité de cibler un public jeune par exemple, ou si vous cherchez à obtenir des logs PayPal ou des cc vous allez pouvoir cibler un public plus âgé : laissez-moi vous expliquer comment je procède. Créez un compte facebook en inventant une identité, puis invitez des personnes par centre d’intérêt pour cibler votre public, invitez en à la pelle mais prenez garde facebook porte une attention toute particulière aux robots donc n’en abusez pas trop ou vous risquez de voir votre compte bloqué. Le seul problème de Facebook est que l’email des amis n’apparaît pas, à part si on en fait la demande Une technique pour bypasser cette limitation est de créer un compte Yahoo mail, dans la section contact on peut alors les importer depuis facebook, et là magie toutes les adresses emails apparaissent ! Seulement impossible de les exporter pour en faire une mailing list : cliquez alors sur imprimer/tous les contacts. Une fenêtre et le popup d’impression apparait dans chrome. Cliquez sur « Annuler », tous les contacts sont sous forme de tableau, copiez l’ensemble (ctrl+a, ctrl+c) et collez le dans un email extractor (très simple à trouver sur internet), ça y’est vous avez récupéré votre première mailing list ! Lorsque vous obtenez de nouveaux logs, allez sur leurs comptes dans Google contacts, cliquez de même sur imprimer les contacts, sélectionnez à chaque fois le tableau de contacts ainsi généré et faites le passer dans un extracteur d’email. Supprimez tous les contacts de votre compte Yahoo, déconnectez le compte Facebook lié précèdent, hackez le compte Facebook lié à votre log mail et répétez l’opération du paragraphe précédent. Vous avez toutes les clés pour faire grossir votre mailing list de façon exponentielle, plus vous obtiendrez de logs plus vous y ajouterez des contacts ! Le phishing mobile Aujourd’hui la consultation d’Internet sur mobile a dépassé celle sur ordinateur, pour nous les phisheurs cela signifie qu’il peut être très intéressant de rendre nos fausses pages web et emails compatibles sur mobile. La gestion d’une version mobile d’une page de connexion est gérée en CSS à l’aide des media-queries, si vous ne savez pas ce que c’est je vous invite à vous renseigner sur cellesci (sur le tutoriel HTML et CSS sur le site d’OpenClassrooms par exemple). Normalement lorsque vous avez sauvegardé la page de connexion ces media-queries ont été sauvegardées avec, votre page est donc lisible sur mobile mais n’hésitez pas à faire des modifications pour améliorer l’affichage. Quant au mail, les media queries sont bizarrement supportées sur les différentes Boîtes de Réceptions notamment Gmail. Aussi lorsque vous utilisez la technique de l’image pour un mail de Google par exemple, une technique peut être d’ouvrir le vrai mail depuis votre téléphone, et de faire une capture d’écran. Au lieu de placer une image dans votre email, placez en deux, l’une pour mobile et l’autre pour desktop. Vous allez pouvoir gérer l’affichage de l’une ou l’autre via les media queries comme ceci par exemple : Notez que les classes ne sont pas supportées sur l’email, j’utilise ici une astuce avec aria-labeldedby. Créer du contenu inexistant (et récupérer des CC) Dans certains cas, le phishing ne consiste pas uniquement à récupérer une page de connexion existante et de la rendre indétectable, mais il peut être nécessaire de créer du contenu qui n’existe pas soi-même. Par exemple au début du cours j’explique que sur ma page de connexion Google, un popup apparait pour lui notifier que son compte est effectivement sécurisé lorsqu’il a renseigné ses identifiants. Ce popup n’existe pas originellement et j’ai dû le créer moi-même. Pour réaliser des ajouts ou créer des pages entièrement qui n’existent pas il vous faut impérativement une très bonne maitrise de HTML et CSS, et éventuellement jQuery si des animations ont lieu (comme l’apparition du la popup). Lorsque vous créez des éléments, faites en sorte qu’ils corresponde à la charte graphique du site en question, et que les textes soient rédigés parfaitement pour faire croire à l’authenticité de votre rajout. Par exemple pour la popup : Je me suis inspiré d’une vraie popup provenant du site de Google : Ce qui donne une certaine crédibilité à celle-ci. Ce qui va en intéresser beaucoup, qui sont là principalement pour cette raison, c’est comment récupérer des CC ? Pour récupérer des CC vous avez plusieurs possibilités, en effet récupérer des données aussi sensible par phishing n’est pas évident, les gens sont tout particulièrement vigilants sur ce sujet. Aussi il faut donner un maximum de crédibilité à votre mail, et pour cela il faut que vous ayez déjà des informations sur la victime (dans l’idéal), par exemple pour afficher son Nom dans le mail, afficher les derniers chiffres de la CC que vous désirez récupérer, ou la date de fin de la carte. Pour récupérer ces informations vous pouvez pirater son adresse email par phishing justement. Si vous possédez son compte Amazon allez dans la section moyen de payement, y seront regroupées toutes les informations sur le payement : adresse de livraison, nom du détenteur, date d’expiration, 4 derniers chiffres de la CC… Bref autant d’infos qui feront croire à votre victime que vous êtes vraiment qui vous prétendez être. Pour récupérer le numéro de la CC et le CCV je vais vous expliquer ma méthode (très très efficace si vous prenez en compte le paragraphe précédent). Logiquement pour récupérer une CC vous allez devoir envoyer un mail de la part d’un Vendeur en ligne comme Amazon, et de trouver une excuse pour que la victime aie à entrer ces informations, il faut que vous sachiez que cette procédure n’existe en aucun cas, à part lors de l’achat de quelque chose les e-commerces ne demandent jamais ces informations. C’est d’ailleurs pour cette raison qu’il faut créer l’email et la page de phishing de toute pièce, et qu’il faut qu’elles soient parfaitement crédibles. On va donc utiliser la même technique que pour les logs, c’est-à-dire qu’on va faire croire à la victime qu’une commande a été faite avec son compte Amazon, que son compte bancaire va être bientôt débité et que la commande va être envoyée dans quelques jours. Un bouton « Annuler la commande » sera présent qui le redirigera vers notre page de phishing. Celle-ci lui proposera d’annuler la commande, et pour se faire elle doit s’authentifier en entrant le numéro et ccv. La page lui informe alors que la commande à bien été annulée et le redirige vers sa boîte de réception, et effectivement la carte de la victime ne sera pas débitée puisque cet achat n’a pas existé, entre temps vous aurez récupérer la CC. Pour que cette méthode marche à tous les coups vous devez porter attention à : - faire apparaître les informations de la victime dans l’email et la page web pour la mettre en confiance - faire en sorte que la victime pense vraiment s’être fait hacker, la peur la précipitera et empêchera toute méfiance, vous pouvez par exemple cliquer sur « J’ai oublié mon mot de passe » sur son adresse email, puis envoyer un SMS de récupération, elle pensera que quelqu’un tente d’accéder à sa boîte de réception et y verra le mail Je ne vous guiderai pas petit à petit pour créer ce système, avec les explications pour les logs et si vous avez de bonnes connaissances en HTML et CSS vous devriez y arrive sans trop de problème. Je vous mets quelques screens de mon travail pour vous inspirer : Je vous donne quelques indications toutefois pour vous faciliter la tache : - pour la page de phishing j’ai sauvegardé la page d’Amazon, l’ai rendu indétectable puis j’ai rajouté une couche avec une popup. Je me suis inspiré de diverses pages d’Amazon pour le style. - pour éviter d’avoir à modifier la page de phishing avec les informations de chaque victime, renommez la en index.php, et remplacez les informations que vous voulez pouvoir modifier dans le code html par : < ?= $_GET[‘mavariable’] ?> Il vous suffit maintenant de définir le lien vers la page de phishing dans l’email comme ceci : « http://urldemapage.com/?mavariable=valeur1&autrevariable=valeur2 », la seule chose à modifier à chaque fois est donc le mail, la page web ne change pas ! Vous êtes prêts à devenir un grand phisheur ! Cette fois ça y’est ! Je vous ai livré une grande partie de mon savoir, maintenant c’est à vous de progresser avec la pratique ! N’hésitez surtout pas à me solliciter si vous avez des questions. N’oubliez pas que développement web et phishing sont intimement liés, motivez-vous pour vous former. Lorsque vous aurez bien assimilé tout cela vous aurez peut-être la volonté d’améliorer la productivité de votre phishing, récupérer des logs et CC en très grandes quantités car vous êtes pour l’instant assez limité quant à la quantité d’emails envoyés, vos mailing lists etc… Pour cela j’ai travaillé pendant des semaines pour mettre au point l’outil de phishing le plus performant qui existe et pour mettre en place une véritable industrie de phishing. Je présente Mass Logs Factory, un outil qui va vous offrir : - Utilitaire avancé de mailing lists : extraire les emails, garder uniquement les gmails, enlever les doublons… Sender de mails juste incroyable : 500 mails envoyés par jour, phishing Google et Amazon (et plus à venir) en un clic (pages web fournies, mails préenregistrés) Mailing lists en ligne pour chaque phishing, vous pouvez l’agrandir en un clic, les emails sont envoyés à cette mailing list 500 par jour Taux de conversion de plus de 1/10, c’est absolument énorme pour du phishing (soit 50 logs/CC par jour pour 500 emails) et tout ça vous demandera seulement quelques secondes par jour Pour trouver ce logiciel rendez-vous sur mon shop ! Amusez-vous bien !