Blog d'un Éternel Geek

DNSTWIST le script pour détecter le Typosquattage, le phishing et l'espionnage d'entreprise

http://vivageek.com/data/images/secu/typosquatting.png

 

Marcin Ulikowski a mis au point un script python qui permet de vérifier les noms de domaines à la recherche des petits fraudeurs qui utilisent la technique bien connue du Typosquattage, phishing dans le dessein avoué de détourner vos membres imprudents vers eux.

 

Quel fléau ce phishing, les jeunes pirates en raffolent et font énormément de dégâts avec cette technique crapuleuse.

 

Ce script vous permettra de vérifier si votre site n'est pas utilisé frauduleuses par un de ces pirates.

 

Simple comme bonjour, il ouvre un site qui aura un NDD légèrement diffèrent de celui d'origine. Ils choisissent bien entendu des cibles en particulier, comme de gros sites ou blogue (avec un fort trafic et connu), ou alors une société en vue d'espionner leur réseau.

 

Pour faire simple Wikipédia associe le Typosquattage comme :" Concrètement, il s'agit pour le typosquatteur d'acheter certains noms de domaine dont la graphie ou la phonétique est proche de celle d'un site très fréquenté ou d'une marque connue, afin que l'utilisateur faisant une faute d'orthographe ou une faute de frappe involontaire soit dirigé vers le site détenu par le pirate."

 

On peut vite faire la relation avec un tiers malveillant qui pourrait utiliser cette technique pour installer un site similaire, mais différent juste d'une lettre dans le NDD. Il attendrait que vienne se perdre des âmes qui auraient eu la maladresse de faire une faute d'orthographe, sauf qu'au lieu d'avoir un "404 not found", ils auront une copie du site.

 

Une fois mis en place leurs identifiants, il n'y aura plus à notre pirate qu'à effectuer un relevage des compteurs et d'aller cette-fois-ci lui-même se logguer sur le site originel et récolter les informations.

 

D'autres utilisent cette technique pour faire de la publicité monétisée. Tout est possible sur cette page, récolte de l'IP, de votre Géolocalisation et même pour les moins vernis leurs courriels s'ils se sont laissés berner.

 

Autant d'information qui seront traités dans l'unique cause du web dollar.

 

Imaginons une victime comme github.com, il est tiré de l'exemple donné par l'auteur du script :

 

 

http://vivageek.com/data/images/secu/dnstwist_v1.00.png

 

Vous vous retrouvez avec des clubs de fitness, des ventes par internet de produits exotiques, …

 

 

En clair, c'est un vrai commerce de l'ombre des NDD sur le dos des grosses structures. Le pire est que plus le trafic du site est important, plus les risques que des internautes se fassent piéger l'est aussi.

 

 

Comment fonctionne le script ?

 

Il fonctionne comme une énorme liste ou dictionnaire qui intègre votre nom de domaine et effectue des comparaisons pour vérifier la validité de chaque nouveau domaine créé à l'aide de plusieurs techniques :

 

  1. Bitsquatting : Transformation d'un bit [0, 1, …, 128] Transformer en ASCII, il retournera le NDD en changeant un caractère et un seule à chaque fois ex : github, fithub, cithub, eithub,…
  2. Homoglyphe : Le script va rechercher en se basant sur une liste tous les NDD se rapprochant de celui d'origine
  3. Hyphenation : technique où des traits d'union sont insérées automatiquement par une césure appelés hyphenation utility ou soft hyphens. Les traits d'union que vous ajoutez explicitement en entrant le tableau de bord de caractère sont appelés hard hyphens.
  4. Insertion : Va utiliser la aussi un dictionnaire rassemblant une pléthore de possibilités de groupes de lettres qui seront insérés dans le NDD.
  5. Omission : Tout simplement, il va enlever une lettre dans un endroit du NDD, exemple : gthub.com
  6. Répétition : Répétition d'une lettre dans le NDD, exemple : ggithub.com
  7. Replacement : A la différence d'Insertion cette fois ci on reprend le même dictionnaire mais on remplace une partie du NDD par notre groupes de lettres.
  8. Sous-domaine : Recherche de tous les sous-domaines affiliés à notre propre NDD, exemple : domain.com
  9. Transposition : Le script va modifier l'ordre des lettres de notre NDD.

 

Pas mal ce script. Pour aller plus loin l'auteur nous donnes les grandes lignes :

 

Principales caractéristiques

Il ya plusieurs très bonnes raisons de faire un essai:

 

  • Large gamme d'algorithmes de fuzzing de domaine efficace
  • Répartition de l'emploi multithread
  • Résout les noms de domaine à IPv4 et IPv6
  • Requêtes pour NS et enregistrements MX
  • Évalue page Web similitude avec des hashs floue pour trouver des sites de Phising direct
  • Tests si MX hôte (serveur de messagerie) peut être utilisé pour intercepter les courriels mal adressés (d'espionnage)
  • Génère variantes de domaine supplémentaires à l'aide des fichiers de dictionnaire
  • GeoIP informations de localisation
  • Grabs HTTP et les bannières de services SMTP
  • Les recherches WHOIS pour la création et la mise à jour
  • Affiches sortie au format CSV

 

 

Comment on l'utilise ?

 

 

Tout est expliqué mais sinon, il vous faudra installer si ce n'est déjà fait les dépendances suivantes :

 

 

 

 

Une fois lancé vous faite un helpdnstwist.py -h

 

dnstwist 1.01b by <> 
usage: dnstwist.py [-h] [-c] [-r] [-w] [-g] [-b] [-s] [-m] [-d FILE]
                   [-t COUNT]
                   domain 
Find similar-looking domain names that adversaries can use to attack you. Can
detect typosquatters, phishing attacks, fraud and corporate espionage. Useful
as an additional source of targeted threat intelligence. 
positional arguments:
domain               domain name or URL to check 
optional arguments:
-h, --help           show this help message and exit
-c, --csv             print output in CSV format
-r, --registered     show only registered domain names
-w, --whois           perform lookup for WHOIS creation/update time (slow)
-g, --geoip           perform lookup for GeoIP location
-b, --banners         determine HTTP and SMTP service banners
-s, --ssdeep         fetch web pages and compare their fuzzy hashes to
                       evaluate similarity
-m, --mxcheck         check if MX host can be used to intercept e-mails
-d FILE, --dictionary FILE
                       generate additional domains using dictionary file
-t COUNT, --threads COUNT
                        number of threads to run (default: 10)

 

 

Pour lancer votre premier NDD :

 

dnstwist.py nomdedomaine.com

 

Voyez le résultat et regardez ce qu'il en est. Vous serez surpris de la quantité de parasites de NDD, il y en a plus qu'on ne le pense, surtout sur les sites bancaires ou les plus connus.

 

Merci de m'avoir lu, à bientôt.






 Geek me     Je suis un Geek dans l'âme. 18 ans à silloner internet pour récolter des informations afin de comprendre son fonctionnement. Idéalement j'étudie également le comportement humain.

C'est afin de vous partager mes connaissances que j'ai ouvert ce blog alors je vous souhaite une bonne lecture.



À lire également


Écrire un commentaire

Votre adresse de messagerie ne sera pas publiée.

Quelle est la première lettre du mot ewsgt ? :