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

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

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

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

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

Категории

Все категории
Loading categories
DGA-Detection — Обнаружение DGA-доменов с помощью биграммного частотного анализа | Kitploit
Инструменты/GitHubGitHub/philarkwright/dga-detection
Анализ вредоносных программРазведка угрозМашинное ОбучениеАнализ DNS
GitHubphilarkwright/dga-detection

DGA-Detection

Обнаружение DGA-доменов с помощью биграммного частотного анализа

Репозиторий
5526479 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

DGA-Detection

Все больше вредоносных программ создается с применением продвинутых методов обхода блокировок. Одним из наиболее распространенных методов является использование алгоритмов генерации доменов (Domain Generation Algorithms, DGA), которые периодически генерируют набор доменов для связи с C&C-сервером. Большинство таких DGA-доменов генерируют случайные буквенно-цифровые строки, которые по структуре значительно отличаются от обычных доменов. Анализируя частоту встречаемости набора биграмм в домене среди топ-1 млн Alexa, мы смогли определить, является ли домен сгенерирован случайной строкой или это легитимный читаемый человеком домен. Если домен почти полностью состоит из низкочастотных биграмм, редко встречающихся в топ-1 млн Alexa, то, скорее всего, это случайная строка. Биграммы, состоящие из гласной и согласной, встречались наиболее часто, тогда как сочетания символов и цифр — наименее часто. Скрипт был протестирован на 100 000 доменов GameoverZeus и показал уровень обнаружения 100% и уровень ложных срабатываний на топ-1 млн Alexa — 8% без использования какого-либо белого списка доменов.

Данная система протестирована на Ubuntu и RaspberryPi. В настоящее время мой RaspberryPi настроен как DNS-сервер с использованием Bind9. Скрипт DGA-Detection также запускается на RaspberryPi и считывает запросы. Запросы обрабатываются для определения, являются ли они потенциальными DGA или нет.

Установка

root@kitploit:~
git clone https://github.com/philarkwright/DGA-Detection.git  
cd DGA-Detection  
chmod +x install.sh
./install.sh

Использование

root@kitploit:~
sudo python dga_detection.py

Обучение

  • Файл /data/dga_training.txt содержит DGA-домены из DGA Tinba. Я рекомендую использовать его для обучения модели, так как он соответствует структуре большинства DGA-доменов, однако вы можете заменить домены на свои, если захотите.

Тестирование

  • Чтобы протестировать домены на обученной модели, создайте текстовый файл с именем test_domains.txt и поместите его в /data/.
  • Образец DGA-доменов Tinba включен в загрузку.

Файл настроек

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

Аргументы для захвата в реальном времени

root@kitploit:~
nohup sudo python dga-detection.py -o 2 -i <интерфейс>

Потенциальные проблемы

При запуске файла install.sh обратите внимание, что протокол git:// использует порт 9418, поэтому убедитесь, что ваш брандмауэр разрешает исходящие соединения на этот порт.

Этот проект всё ещё находится в активной разработке.

При запуске скрипта на уровне сети в моей домашней сети я заметил, что при определённых поисковых запросах в Google Chrome появляется множество предупреждений, которые выглядят как DGA-домены. Даже если вы не посещаете эти сайты (обычно китайские, так как они используют бессмысленные строки в качестве доменов), Google Chrome предварительно загружает и запрашивает их, что вызывает предупреждения.

ПРИМЕЧАНИЕ: Функция белого списка использует топ-1 млн Alexa.

Свяжитесь со мной через Twitter @philarkwright

Выполнено

  • Добавить белый список Alexa
  • Добавить Pushbullet (уведомление администратора)
  • Исправить задержку при оповещениях о захвате трафика
  • Добавить аргументы для возможности запуска захвата в реальном времени с nohup
Скачать инструмент