{"id":17094334,"url":"https://github.com/netevert/dnsmorph","last_synced_at":"2025-04-07T08:20:33.237Z","repository":{"id":37430942,"uuid":"122243441","full_name":"netevert/dnsmorph","owner":"netevert","description":"Domain name permutation engine written in Go","archived":false,"fork":false,"pushed_at":"2023-08-08T06:38:59.000Z","size":212960,"stargazers_count":265,"open_issues_count":11,"forks_count":43,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-03-31T06:06:54.891Z","etag":null,"topics":["dns","domains","go","golang","penetration-testing","pentest-tool","permutation-algorithms","permutations","phishing","phishing-attacks","phishing-sites","threat-intelligence","threatintel","typosquatting"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/netevert.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-20T19:13:35.000Z","updated_at":"2025-03-30T15:15:22.000Z","dependencies_parsed_at":"2024-06-20T17:26:29.042Z","dependency_job_id":null,"html_url":"https://github.com/netevert/dnsmorph","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netevert%2Fdnsmorph","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netevert%2Fdnsmorph/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netevert%2Fdnsmorph/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netevert%2Fdnsmorph/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/netevert","download_url":"https://codeload.github.com/netevert/dnsmorph/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247615385,"owners_count":20967184,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dns","domains","go","golang","penetration-testing","pentest-tool","permutation-algorithms","permutations","phishing","phishing-attacks","phishing-sites","threat-intelligence","threatintel","typosquatting"],"created_at":"2024-10-14T14:22:36.223Z","updated_at":"2025-04-07T08:20:33.215Z","avatar_url":"https://github.com/netevert.png","language":"Go","readme":"![Icon](https://github.com/netevert/dnsmorph/blob/master/docs/icon.png)\n==================================================================\n[![baby-gopher](https://raw.githubusercontent.com/drnic/babygopher-site/gh-pages/images/babygopher-logo-small.png)](http://www.babygopher.org)\n[![GitHub release](https://img.shields.io/github/release/netevert/dnsmorph.svg?style=flat-square)](https://github.com/netevert/dnsmorph/releases)\n![GitHub All Releases](https://img.shields.io/github/downloads/netevert/dnsmorph/total.svg?style=flat-square)\n\n\u003c!--[![Travis](https://img.shields.io/travis/netevert/dnsmorph.svg?style=flat-square)](https://travis-ci.org/netevert/dnsmorph)\n[![Go Report Card](https://goreportcard.com/badge/github.com/netevert/dnsmorph?style=flat-square)](https://goreportcard.com/report/github.com/netevert/dnsmorph)\n[![Coveralls github](https://img.shields.io/coveralls/github/netevert/dnsmorph.svg?style=flat-square)](https://coveralls.io/github/netevert/dnsmorph)--\u003e\n\nDNSMORPH is a domain name permutation engine, inspired by [dnstwist](https://github.com/elceef/dnstwist). It is written in [Go](https://golang.org/) 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. \n\n![demo](https://github.com/netevert/dnsmorph/blob/master/docs/demo.gif)\n\nDNSMORPH includes the following domain permutation attack types:\n- Homograph attack (both on single and duplicate characters)\n- Bitsquat attack\n- Hyphenation attack\n- Omission attack\n- Repetition attack\n- Replacement attack\n- Subdomain attack\n- Transposition attack\n- Vowel swap attack\n- Addition attack\n- Doppelganger attack\n\nInstallation\n============\nThere are two ways to install dnsmorph on your system:\n\n1. Downloading the pre-compiled binaries for your platform from the [latest release page](https://github.com/netevert/dnsmorph/releases) and extracting in a directory of your choosing.\n\n2. Downloading and compiling the source code yourself by running the following commands:\n\n    - ```go get -v github.com/netevert/dnsmorph```\n    - `cd /$GOPATH/src/github.com/netevert/dnsmorph`\n    - `go get -v ./...`\n    - `go build`\n\nAn Arch Linux package is also [available](https://aur.archlinux.org/packages/dnsmorph/).\n\nUsage\n========\n\u003cdetails\u003e\u003csummary\u003eUsage menu output\u003c/summary\u003e\n\u003cp\u003e\n\n    dnsmorph -d domain | -l domains_file [-girvuw] [-csv | -json]\n      -csv\n            output to csv\n      -d string\n            target domain\n      -g    geolocate domain\n      -i    include subdomain\n      -json\n            output to json\n      -l string\n            domain list filepath\n      -n    idna format homograph domain\n      -r    resolve domain\n      -u    update check\n      -v    enable verbosity\n      -w    whois lookup\n\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\u003csummary\u003eRun attacks against a target domain\u003c/summary\u003e\n\u003cp\u003e\n\n    ./dnsmorph -d amazon.com\n\n![demo](https://github.com/netevert/dnsmorph/blob/master/docs/simple_permutation.gif)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\u003csummary\u003eRun attacks against a list of domains\u003c/summary\u003e\n\u003cp\u003e\n\n    ./dnsmorph -l domains.txt\n\n![demo](https://github.com/netevert/dnsmorph/blob/master/docs/list_permutation.gif)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\u003csummary\u003eInclude subdomain in attack\u003c/summary\u003e\n\u003cp\u003e\n\n    ./dnsmorph -d staging.amazon.com -i\n\n![demo](https://github.com/netevert/dnsmorph/blob/master/docs/subdomain_permutation.gif)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\u003csummary\u003eRun dns resolutions against permutated domains\u003c/summary\u003e\n\u003cp\u003e\n\n    ./dnsmorph -d amazon.com -r\n\n![demo](https://github.com/netevert/dnsmorph/blob/master/docs/resolution.gif)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\u003csummary\u003eRun geolocation against permutated domains\u003c/summary\u003e\n\u003cp\u003e\n\n    ./dnsmorph -d amazon.com -g\n\n![demo](https://github.com/netevert/dnsmorph/blob/master/docs/geolocation.gif)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\u003csummary\u003eRun whois lookup against permutated domains\u003c/summary\u003e\n\u003cp\u003e\n\n    ./dnsmorph -d amazon.com -w\n\n![demo](https://github.com/netevert/dnsmorph/blob/master/docs/whois_lookup.gif)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\u003csummary\u003eOutput results to csv or json\u003c/summary\u003e\n\u003cp\u003e\n\n    ./dnsmorph -d amazon.com -r -g -csv\n    ./dnsmorph -d amazon.com -r -g -json\n\n![demo](https://github.com/netevert/dnsmorph/blob/master/docs/write_to_file.gif)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\u003csummary\u003eActivate verbose output\u003c/summary\u003e\n\u003cp\u003e\n\n    ./dnsmorph -d staging.amazon.com -v\n\n![demo](https://github.com/netevert/dnsmorph/blob/master/docs/verbose_output.gif)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\u003cp\u003e\u003c/p\u003e\n\nLicense\n=======\n\nDistributed under the terms of the [MIT](http://www.linfo.org/mitlicense.html) license, DNSMORPH is free and open\nsource software written and maintained with ❤ by NetEvert.\n\nThis tool includes GeoLite2 data created by MaxMind, available from [maxmind.com](https://www.maxmind.com).\n\nVersioning\n==========\n\nThis project adheres to [Semantic Versioning](https://semver.org/).\n\nLike it?\n=========\nIf you like the tool please consider [contributing](https://github.com/netevert/dnsmorph/blob/master/CONTRIBUTING.md).\n\nThe tool received a few \"honourable\" mentions, including:\n\n- [KitPloit](https://www.kitploit.com/2018/05/dnsmorph-domain-name-permutation-engine.html)\n- [Seclist](http://seclist.us/dnsmorph-is-a-domain-name-permutation-engine.html)\n- [HackPlayers](https://www.hackplayers.com/2018/05/dnsmorph-permutacion-dominios.html)\n- [Segu-Info](https://blog.segu-info.com.ar/2018/05/dnsmorph-herramienta-de-permutacion-de.html)\n- [True Blue IT - Security Review](http://news.security-intelligence.info/?edition_id=c6f2e150-998f-11e9-a7d8-0cc47a0d15fd#/science)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetevert%2Fdnsmorph","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetevert%2Fdnsmorph","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetevert%2Fdnsmorph/lists"}