Awesome
<!--[![Travis](https://img.shields.io/travis/netevert/dnsmorph.svg?style=flat-square)](https://travis-ci.org/netevert/dnsmorph) [![Go Report Card](https://goreportcard.com/badge/github.com/netevert/dnsmorph?style=flat-square)](https://goreportcard.com/report/github.com/netevert/dnsmorph) [![Coveralls github](https://img.shields.io/coveralls/github/netevert/dnsmorph.svg?style=flat-square)](https://coveralls.io/github/netevert/dnsmorph)-->DNSMORPH is a domain name permutation engine, inspired by dnstwist. It is written in Go making for a compact and very fast tool. It robustly handles any domain or subdomain supplied and provides a number of configuration options to tune permutation runs.
DNSMORPH includes the following domain permutation attack types:
- Homograph attack (both on single and duplicate characters)
- Bitsquat attack
- Hyphenation attack
- Omission attack
- Repetition attack
- Replacement attack
- Subdomain attack
- Transposition attack
- Vowel swap attack
- Addition attack
- Doppelganger attack
Installation
There are two ways to install dnsmorph on your system:
-
Downloading the pre-compiled binaries for your platform from the latest release page and extracting in a directory of your choosing.
-
Downloading and compiling the source code yourself by running the following commands:
go get -v github.com/netevert/dnsmorph
cd /$GOPATH/src/github.com/netevert/dnsmorph
go get -v ./...
go build
An Arch Linux package is also available.
Usage
<details><summary>Usage menu output</summary> <p>dnsmorph -d domain | -l domains_file [-girvuw] [-csv | -json]
-csv
output to csv
-d string
target domain
-g geolocate domain
-i include subdomain
-json
output to json
-l string
domain list filepath
-n idna format homograph domain
-r resolve domain
-u update check
-v enable verbosity
-w whois lookup
</p>
</details>
<details><summary>Run attacks against a target domain</summary>
<p>
./dnsmorph -d amazon.com
</p>
</details>
<details><summary>Run attacks against a list of domains</summary>
<p>
./dnsmorph -l domains.txt
</p>
</details>
<details><summary>Include subdomain in attack</summary>
<p>
./dnsmorph -d staging.amazon.com -i
</p>
</details>
<details><summary>Run dns resolutions against permutated domains</summary>
<p>
./dnsmorph -d amazon.com -r
</p>
</details>
<details><summary>Run geolocation against permutated domains</summary>
<p>
./dnsmorph -d amazon.com -g
</p>
</details>
<details><summary>Run whois lookup against permutated domains</summary>
<p>
./dnsmorph -d amazon.com -w
</p>
</details>
<details><summary>Output results to csv or json</summary>
<p>
./dnsmorph -d amazon.com -r -g -csv
./dnsmorph -d amazon.com -r -g -json
</p>
</details>
<details><summary>Activate verbose output</summary>
<p>
./dnsmorph -d staging.amazon.com -v
</p>
</details>
<p></p>
License
Distributed under the terms of the MIT license, DNSMORPH is free and open source software written and maintained with ❤ by NetEvert.
This tool includes GeoLite2 data created by MaxMind, available from maxmind.com.
Versioning
This project adheres to Semantic Versioning.
Like it?
If you like the tool please consider contributing.
The tool received a few "honourable" mentions, including: