Typodetect : Detect The Active Mutations Of Domains

Typodetect is a tool gives blue teams, SOC’s, researchers and companies the ability to detect the active mutations of their domains, thus preventing the use of these domains in fraudulent activities, such as phishing and smishing.

For this, Typodetect allows the use of the latest available version of the TLDs (Top Level Domains) published on the IANA website, the validation of decentralized domains in Blockchain DNS and the malware reports in DoH services (DNS over HTTPS) .

For the ease of the user, Typodetect delivers the report in JSON format by default, or in TXT format, depending on how the user selects and shows on the screen a summary of the mutations generated, the active domains and the reports detected with Malware or decentralized domains.

Installation

Clone this repository with:

git clone https://github.com/Telefonica/typodetect

Run setup for installation:

python3 pip install -r requirements.txt

Running Typo Detect

Inside the TypoDetect directory:

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)

For a simple analysis:

python3 typodetect.py

For update IANA database and analysis:

python3 typodetect.py -u y

For more threads analysis:

python3 typodetect.py -t <number of threads> <domain>

For a different DoH (currently only has ElevenPaths o CloudFare)

python3 typodetect.py -d 2 <domain>

For create TXT report

python3 typodetect.py -o TXT <domain>

Reports

Inside the reports directory, the report file is saved, by default in JSON, with the name of the analyzed domain and the date, for example:

elevenpaths.com2021-01-26T18:20:10.34568.json

The JSON report has the following structure for each active mutation detected:

{ id:
“report_DoH” :
“domain”:
“A”: [ip1, ip2, …]
“MX”: [mx1, mx2, …]
}

The fields contain the following information:

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.

R K

Recent Posts

Shadow-rs : Harnessing Rust’s Power For Kernel-Level Security Research

shadow-rs is a Windows kernel rootkit written in Rust, demonstrating advanced techniques for kernel manipulation…

1 week ago

ExecutePeFromPngViaLNK – Advanced Execution Of Embedded PE Files via PNG And LNK

Extract and execute a PE embedded within a PNG file using an LNK file. The…

2 weeks ago

Red Team Certification – A Comprehensive Guide To Advancing In Cybersecurity Operations

Embark on the journey of becoming a certified Red Team professional with our definitive guide.…

3 weeks ago

CVE-2024-5836 / CVE-2024-6778 : Chromium Sandbox Escape via Extension Exploits

This repository contains proof of concept exploits for CVE-2024-5836 and CVE-2024-6778, which are vulnerabilities within…

3 weeks ago

Rust BOFs – Unlocking New Potentials In Cobalt Strike

This took me like 4 days (+2 days for an update), but I got it…

3 weeks ago

MaLDAPtive – Pioneering LDAP SearchFilter Parsing And Security Framework

MaLDAPtive is a framework for LDAP SearchFilter parsing, obfuscation, deobfuscation and detection. Its foundation is…

3 weeks ago