Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
dnstwist — Движок перестановок доменных имен для обнаружения фишинговых атак с использованием омографов, тайпсквоттинга и подделки брендов | Kitploit
Инструменты/GitHubGitHub/elceef/dnstwist
OSINT (Разведка открытых источников)РазведкаПеречисление DNS и поддоменовСбор информацииФишингФаззингРазведка угрозАнализ DNS
GitHubelceef/dnstwist

dnstwist

Движок перестановок доменных имен для обнаружения фишинговых атак с использованием омографов, тайпсквоттинга и подделки брендов

Репозиторий
5.7k852481 год назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

dnstwist

Узнайте, в какую неприятность могут попасть пользователи, пытаясь набрать имя вашего домена. Найдите похожие домены, которые злоумышленники могут использовать для атаки на вас. Может обнаруживать тайпсквоттинг, фишинговые атаки, мошенничество и подделку бренда. Полезен как дополнительный источник целевой информации об угрозах.

Демо

DNS-фаззинг — это автоматизированный рабочий процесс, цель которого — выявить потенциально вредоносные домены, нацеленные на вашу организацию. Этот инструмент генерирует исчерпывающий список перестановок на основе указанного доменного имени и затем проверяет, используется ли какая-либо из этих перестановок. Кроме того, он может генерировать нечёткие хеши веб-страниц для обнаружения продолжающихся фишинговых атак или подделки бренда, и многое другое!

Нет времени? Попробуйте в веб-браузере: dnstwist.it

Ключевые возможности

  • Разнообразие высокоэффективных алгоритмов фаззинга доменов
  • Доменные имена в Unicode (IDN)
  • Дополнительные перестановки доменов из файлов словарей
  • Эффективное многопоточное распределение задач
  • Обнаружение действующих фишинговых веб-страниц:
    • Сходство HTML с помощью нечётких хешей (ssdeep/tlsh)
    • Визуальное сходство скриншотов с помощью перцептивных хешей (pHash)
  • Обнаружение мошеннических MX-хостов (перехват перенаправленных писем)
  • Геолокация GeoIP
  • Экспорт в CSV и JSON

Установка

Python PIP

$ pip install dnstwist[full]

В качестве альтернативы установите минимальный набор и добавьте остальные зависимости вручную в зависимости от ваших потребностей:

$ pip install dnstwist

Git

Если вы хотите запустить последнюю версию кода, вы можете установить её из Git:

$ git clone https://github.com/elceef/dnstwist.git
$ cd dnstwist
$ pip install .

Debian/Ubuntu/Kali Linux

Выполните следующую команду, чтобы установить инструмент со всеми дополнительными пакетами:

$ sudo apt install dnstwist

Fedora Linux

$ sudo dnf install dnstwist

Пользовательский репозиторий Arch Linux (yay)

$ yay -S dnstwist

macOS

Эта команда установит dnstwist вместе со всеми зависимостями, а бинарный файл будет добавлен в $PATH.

$ brew install dnstwist

Docker

Загрузите и запустите официальный образ из Docker Hub:

$ docker run -it elceef/dnstwist

В качестве альтернативы вы можете собрать свои локальные образы:

$ docker build -t dnstwist .
$ docker build -t dnstwist:phash --build-arg phash=1 .

Краткое руководство по началу работы

Инструмент прогоняет указанное доменное имя через свои алгоритмы фаззинга и генерирует список потенциальных фишинговых доменов вместе с DNS-записями.

Обычно генерируются тысячи перестановок доменов — особенно для более длинных входных доменов. В таких случаях может быть практично отображать только те, которые зарегистрированы:

$ dnstwist --registered domain.name

Убедитесь, что ваш DNS-сервер способен обрабатывать тысячи запросов за короткий промежуток времени. В противном случае вы можете указать внешний DNS-сервер или DNS-over-HTTPS сервер с помощью аргумента --nameservers.

Если доменных перестановок, сгенерированных алгоритмами фаззинга, недостаточно, передайте dnstwist файл словаря. Включены некоторые образцы словарей со списком наиболее распространённых слов, используемых в фишинговых кампаниях.

$ dnstwist --dictionary dictionaries/english.dict domain.name

Если вам нужно проверить, существуют ли домены с разными TLD, просто укажите файл словаря со списком TLD.

$ dnstwist --tld dictionaries/common_tlds.dict domain.name

С другой стороны, если нужно использовать только выбранные алгоритмы, доступен аргумент --fuzzers, который принимает список, разделённый запятыми.

$ dnstwist --fuzzers "homoglyph,hyphenation" domain.name

Помимо цветного вывода в терминале, инструмент позволяет экспортировать результаты в CSV и JSON:

$ dnstwist --format csv domain.name | column -t -s,
$ dnstwist --format json domain.name | jq

Если вам нужны только сами перестановки без выполнения DNS-запросов, используйте аргумент --format list:

$ dnstwist --format list domain.name

Инструмент может выполнять поиск в реальном времени для возврата географического местоположения (с точностью до страны) IPv4-адресов.

$ dnstwist --geoip domain.name

Библиотека GeoIP2 используется по умолчанию. Расположение базы данных стран необходимо указать с помощью переменной окружения $GEOLITE2_MMDB. Если библиотека или база данных отсутствуют, инструмент переключится на более старую версию GeoIP Legacy.

Чтобы отобразить все доступные параметры с краткими описаниями, просто запустите инструмент без аргументов.

Обнаружение фишинга

Ручная проверка каждого доменного имени на предмет размещения фишингового сайта может занять много времени. Для решения этой задачи dnstwist использует так называемые нечёткие хеши (locality-sensitive hash, LSH) и перцептивные хеши (pHash). Нечёткое хеширование — это концепция, предполагающая возможность сравнения двух входных данных (HTML-кода) и определения фундаментального уровня сходства, тогда как перцептивный хеш — это отпечаток, полученный из визуальных признаков изображения (скриншота веб-страницы).

Нечёткое хеширование

Уникальная функция обнаружения похожего исходного HTML-кода может быть включена с помощью аргумента --lsh. Для каждого сгенерированного домена dnstwist будет извлекать содержимое с отвечающего HTTP-сервера (следуя возможным перенаправлениям), нормализовать HTML-код и сравнивать его нечёткий хеш с хешем исходного (первоначального) домена. Уровень сходства выражается в процентах.

В случаях, когда эффективный URL совпадает с URL исходного домена, нечёткий хеш вообще не вычисляется, чтобы исключить ложноположительные срабатывания.

Примечание: имейте в виду, что получить 100% совпадение довольно маловероятно, даже для фреймворков атак типа MITM, и что фишинговый сайт может иметь совершенно иной исходный HTML-код.

$ dnstwist --lsh domain.name

В некоторых случаях фишинговые сайты размещаются по определённому URL. Если вы передадите полный или частичный URL-адрес в качестве аргумента, dnstwist проанализирует его и применит к каждому сгенерированному варианту доменного имени. Используйте --lsh-url, чтобы переопределить URL, с которого загружается исходная веб-страница.

$ dnstwist --lsh https://domain.name/owa/
$ dnstwist --lsh --lsh-url https://different.domain/owa/ domain.name

По умолчанию в качестве алгоритма LSH используется ssdeep, но также доступен TLSH, который можно включить следующим образом:

$ dnstwist --lsh tlsh domain.name

Перцептивное хеширование

Если установлен браузер Chromium, dnstwist может использовать его headless-режим, который работает без графического интерфейса, для захвата скриншотов веб-страниц, их рендеринга и вычисления значений pHash. Затем эти значения pHash сравниваются для оценки визуального сходства, выражаемого в процентах.

$ dnstwist --phash domain.name

Кроме того, можно сохранять захваченные скриншоты в формате PNG в выбранное место:

$ dnstwist --phash --screenshots /tmp/domain domain.name

Примечание: из-за многопоточного использования полнофункционального веб-браузера следует обеспечить достаточный объём свободных ресурсов (главным образом памяти).

Поддержка прокси

Для всех HTTP-соединений прокси используются автоматически при обнаружении переменных окружения с именами $<scheme>_proxy без учёта регистра. Если существуют переменные окружения как в нижнем, так и в верхнем регистре, предпочтение отдаётся нижнему регистру.

API

Скачать инструмент