24 апреля, 2024

Как легко и просто сгенерировать сотни фишинговых доменов

Содержание:

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

Dnstwist, созданная @elceef — поисковая утилита, работа которой основана на перестановках букв в названии доменов. Она в состоянии обнаружить фишинговые домены, bitsquattingTyposquatting и мошеннические веб-сайты с похожими доменными именами. Dnstwist на вход получает заданное доменное имя, а затем генерирует список потенциальных фишинговых доменов. Потом по сгенерированным доменным именам делаются запросы. Если обнаруженный домен перенаправляет запрос на веб-сервер, то Dnstwist запишет IP-адрес домена.

Как и большинство инструментов, предназначенных для тестирования на проникновение, Dnstwist — это палка о двух концах. Она может использоваться злоумышленниками для поиска идеальных доменов-кандидатов для проведения фишинговых атак, в ходе которых они могут клонировать целевой веб-сайт и заставить пользователей ввести свои учетные данные. Или же Dnstwist могут использовать специалисты по кибербезопасности и системные администраторы для того, чтобы быстро найти и определить похожие домены, созданные конкурентами и хакерами.

Поддерживаемые схемы доменных имен

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

1. Добавление

Буквы добавляются в конце исходного доменного имени. Ниже приведен пример Bank of America, одного из крупнейших банков в Соединенных Штатах. В отличие от некоторых других вариантов, приведенных ниже, простое дополнение достаточно легко выявляется конечными пользователями даже при беглом взгляде на URL.

2. Бит-сквоттинг

Bitsquatting относится к регистрации доменных имен, отличающихся от настоящего домена всего на 1 бит. На скриншоте ниже приведен пример для Википедии — популярного и крупнейшего общего справочного сайта в Интернете. Определить подмену при беглом осмотре уже немного сложнее, чем в случае с «дополнением», потому что люди скорее не читают, а угадывают слова на основе первой и последней буквы, а не прочитывают каждую букву индивидуально.

Читать также:  Как взламывать пароли. Часть 2. Стратегия взлома

3. Гомоглифы (homoglyph)

Фишинг-атаки с использованием гомоглифов называются гомографическими атаками, хотя альтернативные символы называются гомоглифами, а не гомографами. Гомоглиф — одна из двух или больше графем, знаков или глифов с формами, которые или кажутся идентичными, или не могут быть дифференцированы быстрым визуальным осмотром. Например, русская «а» и английская «a» — гомоглифы. Эти типы атак по-прежнему затрагивают Firefox и большинство Android-устройств, а недавно они стали известны благодаря Xudong Zheng, который создал первый фишинговый гомоглиф-адрес для apple.com. Используя самую популярную соцсеть в качестве примера, мы обнаружили, что имеется довольно много доменов для гомоглиф-фишинга, доступных за 11 долларов.

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

4. Пропуск

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

5. Поддомен

Речь идет о точке, вставленной в разные позиции в конкретном доменном имени (например, goo.gl — сервис сокращенных ссылок Google). Если взять в качестве примера Gizmodo, то мы увидим, что домены «odo.com» и «zmodo.com» доступны для регистрации. Здесь речь идет только о том, что для создания эффективного фишингового домена достаточно создать убедительно выглядящий поддомен. Подобно «добавлению», этот способ может быть более очевиден пользователю, чем другие трюки.

6. Подмена гласных

Гласные буквы в конкретном домене меняются на другие гласные. При беглом взгляде многие из этих доменов, скорее всего, обманут большинство жертв и вынудят их кликнуть по поддельной ссылке. Опять же, это работает, поскольку большинство людей сканируют слова, используя первую и последнюю букву, а не прочитывают каждую букву в слове. Если заменяемая гласная будет на первом или последнем месте, то такой вариант, скорее всего не сработает.

Читать также:  Хакерская кибергруппировка Cobalt атаковали 250 частных компаний по всему миру

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

Шаг 1. Установка Dnstwist

У Dnstwist есть несколько зависимостей, которые можно установить в Kali Linux, введя команду в терминал:

apt-get install python-dnspython python-geoip python-whois python-requests python-ssdeep python-cffi

Теперь клонируйте репозиторий Dnstwist с GitHub.

git clone https://github.com/elceef/dnstwist

И, наконец, используйте команду cd, чтобы перейти в только что созданный каталог «dnstwist», а затем используйте команду ниже, чтобы просмотреть доступные параметры.

cd dnstwist /
./dnstwist.py --help

Шаг 2. Генерация фишинговых доменов с помощью Dnstwist

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

./dnstwist.py --ssdeep --json --threads 40 website.com> website.com.json

  • Аргумент —ssdeep указывает Dnstwist анализировать HTML-код каждого домена и сравнивать его с HTML-кодом реального веб-сайта. Уровень сходства будет выражаться в процентах. Однако каждый веб-сайт нужно проверять вручную независимо от процентного уровня, выданного Dnstwist. Эти проценты необходимы для того, чтобы помочь специалистам по безопасности определить, какие домены, скорее всего, являются фишинговыми доменами.
  • Dnstwist поддерживает два выходных формата, которые могут использоваться с другими приложениями. Формат вывода —json использовался в нашем примере выше, но также поддерживается вывод в CSV, который может быть включен с использованием аргумента —csv вместо формата JSON. Чтобы сохранить любой формат в файл, можно использовать закрывающую угловую скобку и имя файла (> имя_файла), чтобы записать данные в указанный файл.
  • По умолчанию Dnstwist будет делать 10 запросов при проверке доступных фишинговых доменов по своему списку. Это число можно увеличить или уменьшить, используя аргумент —threads и указав нужное значение.
Читать также:  Как использовать командную инъекцию, чтобы поднять reverse-шелл на веб-сервере

В нижней части терминала Dnstwist будет отображаться прогресс-бар. В зависимости от скорости сети и количества потоков этот процесс может занять несколько минут.

Всегда уделяйте особое внимание доменным именам

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

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

Надеемся, что вам понравилась эта статья о генерации и обнаружении фишинговых доменов с помощью Dnstwist. Если у вас есть вопросы или комментарии — оставляйте их ниже.

Добавить комментарий