
Détecte les mutations actives de domaines pour prévenir le phishing et le smishing. Utilise les TLDs IANA, la validation DNS par blockchain et les rapports de malwares DoH. Produit des rapports JSON ou TXT.
Cet outil permet aux équipes bleues, aux SOC, aux chercheurs et aux entreprises de détecter les mutations actives de leurs domaines, empêchant ainsi l'utilisation de ces domaines dans des activités frauduleuses telles que le phishing et le smishing.
Pour cela, TypoDetect permet d'utiliser la dernière version disponible des TLD (Top Level Domains) publiée sur le site de l'IANA, la validation des domaines décentralisés dans la Blockchain DNS et les rapports de malwares dans les services DoH (DNS over HTTPS).
Pour la commodité de l'utilisateur, TypoDetect fournit le rapport au format JSON par défaut, ou au format TXT, selon la sélection de l'utilisateur, et affiche à l'écran un résumé des mutations générées, des domaines actifs et des rapports détectés comme contenant des malwares ou des domaines décentralisés.
Clonez ce dépôt avec :
git clone https://github.com/Telefonica/typodetect
Exécutez la configuration pour l'installation :
python3 pip install -r requirements.txt
Dans le répertoire TypoDetect :
python3 typodetect.py -h
usage: typodetect.py [-h] [-u UPDATE] [-t N_THREADS] [-d DOH_SERVER] [-o OUTPUT] domain
positional arguments:
domain specify domain to process
optional arguments:
-h, --help show this help message and exit
-u UPDATE, --update UPDATE
(Y/N) for update TLD's database (default:N)
-t N_THREADS, --threads N_THREADS
Number of threads for processing (default:5)
-d DOH_SERVER, --doh DOH_SERVER
Section DoH for use: [1] ElevenPaths (default) [2] Cloudfare
-o OUTPUT, --output OUTPUT
JSON or TXT, options of filetype (default:JSON)
Pour une analyse simple :
python3 typodetect.py <domain>
Pour mettre à jour la base de données IANA et analyser :
python3 typodetect.py -u y <domain>
Pour une analyse avec plus de threads :
python3 typodetect.py -t <number of threads> <domain>
Pour un DoH différent (actuellement seulement ElevenPaths ou CloudFare)
python3 typodetect.py -d 2 <domain>
Pour créer un rapport TXT :
python3 typodetect.py -o TXT <domain>
Dans le répertoire reports, le fichier de rapport est enregistré, par défaut au format JSON, avec le nom du domaine analysé et la date, par exemple :
elevenpaths.com2021-01-26T18:20:10.34568.json
Le rapport JSON a la structure suivante pour chaque mutation active détectée :
{ id:
"report_DoH" : <string>
"domain": <string>
"A": [ip1, ip2, ...]
"MX": [mx1, mx2, ...]
}
Les champs contiennent les informations suivantes :
id: Integer id of mutation
"report_DoH": "" - Domain of Descentralised DNS
"Malware" - Domain reported as dangerous for DoH
"Good" - Domain reported as good for DoH
"domain": Mutation detected as active.
"A": IP's address of A type in DNS of the mutation.
"MX": IP's or CNAME of MX type in DNS of the mutation.