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

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

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

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

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

Категории

Все категории
Loading categories
dnscat2 — Зашифрованный туннель управления и контроля по протоколу DNS. Создает скрытые каналы C&C для тестирования на проникновение, с возможностями передачи файлов, доступа к оболочке и перенаправления портов через DNS-запросы. | Kitploit
Инструменты/GitHubGitHub/iagox86/dnscat2
Инструменты шифрования/дешифрованияОбход IDS/IPSЭксфильтрация данныхТестирование на ПроникновениеКомандование и УправлениеRed TeamingИнструмент Удаленного ДоступаАнализ DNSТоп в Командование и Управление №16Топ в Эксфильтрация данных №1
4.0k652334 лет назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Топ в Обход IDS/IPS №12
Топ в Инструмент Удаленного Доступа №20
GitHubiagox86/dnscat2

dnscat2

Зашифрованный туннель управления и контроля по протоколу DNS. Создает скрытые каналы C&C для тестирования на проникновение, с возможностями передачи файлов, доступа к оболочке и перенаправления портов через DNS-запросы.

Репозиторий

***** ПРИМЕЧАНИЕ: Пароль для загрузок .zip — везде "password"! *****

Введение

Добро пожаловать в dnscat2, DNS-туннель, который НЕ сделает вас больным и не убьёт!

Этот инструмент предназначен для создания зашифрованного канала управления и контроля (C&C) через протокол DNS, который является эффективным туннелем из практически любой сети.

Этот файл README должен содержать всё, что вам нужно для начала работы! Если вы заинтересованы в более глубоком изучении протокола, структуры кода, планов на будущее или других эзотерических вещей, загляните в папку doc/.

Лицензия

Этот проект распространяется под лицензией BSD. Для получения дополнительной информации смотрите LICENSE.md.

Обзор

dnscat2 состоит из двух частей: клиента и сервера.

Клиент предназначен для запуска на взломанной машине. Он написан на C и имеет минимальные возможные зависимости. Он должен работать практически везде (если вы найдёте систему, где он не компилируется или не запускается, пожалуйста, создайте тикет, особенно если вы можете помочь мне получить доступ к этой системе).

При запуске клиента вы обычно указываете доменное имя. Все запросы будут отправляться локальному DNS-серверу, который затем перенаправляет их на авторитативный DNS-сервер для этого домена (которым вы, предположительно, управляете).

Если у вас нет авторитативного DNS-сервера, вы также можете использовать прямые подключения через UDP/53 (или любой другой порт). Они будут быстрее и всё равно будут выглядеть как DNS-трафик для невнимательного наблюдателя, но гораздо более заметны в логах пакетов (все домены имеют префикс "dnscat.", если только вы не измените исходный код). Этот режим часто блокируется брандмауэрами.

Сервер предназначен для запуска на авторитативном DNS-сервере. Он написан на Ruby и зависит от нескольких различных гемов. При его запуске, как и в случае с клиентом, вы указываете, какие домены он должен прослушивать, помимо прослушивания сообщений, отправленных напрямую через UDP/53. Когда он получает трафик для одного из этих доменов, он пытается установить логическое соединение. Если он получает другой трафик, он по умолчанию игнорирует его, но также может перенаправить его вышестоящему серверу.

Подробные инструкции для обеих частей приведены ниже.

Чем это отличается от .....

dnscat2 стремится отличаться от других протоколов DNS-туннелирования тем, что разработан для особой цели: управления и контроля.

Он не предназначен для того, чтобы выйти из сети отеля или получить бесплатный интернет в самолёте. И он не просто туннелирует TCP.

Он может туннелировать любые данные без привязки к протоколу. Это означает, что он может загружать и скачивать файлы, запускать оболочку, и делает это хорошо. Он также потенциально может туннелировать TCP, но это будет добавлено только в контексте инструмента для пентеста (то есть туннелирование TCP в сеть), а не как инструмент общего назначения. Это уже было сделано, это не интересно (для меня).

Кроме того, он зашифрован по умолчанию. Я не думаю, что какой-либо другой публичный DNS-туннель шифрует весь трафик!

Где взять

Вот несколько важных ссылок:

  • Исходный код на Github
  • Загрузки (вы найдёте подписанные версии клиента для Linux 32-bit, Linux 64-bit, Win32, а также исходный код и архив сервера — имейте в виду, что файл подписи размещён на том же сервере, что и файлы, так что если вы беспокоитесь, пожалуйста, проверьте мой PGP-ключ :) )
  • Пользовательская документация Набор файлов как для конечных пользователей (например, Список изменений), так и для разработчиков (например, документ Участие в разработке)
  • Трекер проблем (вы также можете отправить мне проблемы по электронной почте, просто поставьте моё имя (ron) перед моим доменом (skullsecurity.net))

Как играть

Теория dnscat2 проста: он создаёт туннель через протокол DNS.

Почему? Потому что DNS обладает удивительным свойством: он будет переходить от сервера к серверу, пока не выяснит, куда ему нужно попасть.

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

Это, конечно, предполагает, что у вас есть доступ к авторитативному DNS-серверу. dnscat2 также поддерживает "прямые" соединения — то есть запуск клиента dnscat, который напрямую подключается к вашему dnscat по вашему IP-адресу и UDP-порту 53 (по умолчанию). Трафик по-прежнему выглядит как DNS-трафик и может обойти более глупые системы IDS/IPS, но, скорее всего, будет остановлен брандмауэрами.

Если вы не уверены, как настроить авторитативный DNS-сервер, это то, что нужно настраивать с провайдером домена. izhan любезно написал инструкцию для вас!

Компиляция

Клиент

Компиляция клиента должна быть довольно простой — всё, что вам нужно для компиляции, это make/gcc (для Linux) или Cygwin либо Microsoft Visual Studio (для Windows). Вот команды для Linux:

$ git clone https://github.com/iagox86/dnscat2.git
$ cd dnscat2/client/
$ make

В Windows загрузите client/win32/dnscat2.vcproj в Visual Studio и нажмите "build". Я создал и тестировал его на Visual Studio 2008 — пока не получу бесплатную легальную копию более новой версии, вероятно, буду придерживаться этой. :)

Если компиляция не удалась, пожалуйста, сообщите об ошибке на моей странице github! Пришлите подробную информацию о вашей системе.

Вы можете проверить успешность компиляции dnscat2, запустив его без флагов; вы увидите, как он пытается запустить DNS-туннель с настроенным DNS-сервером (это не удастся):

$ ./dnscat
Starting DNS driver without a domain! This will only work if you
are directly connecting to the dnscat2 server.

You'll need to use --dns server=<server> if you aren't.

** WARNING!
*
* It looks like you're running dnscat2 with the system DNS server,
* and no domain name!*
* That's cool, I'm not going to stop you, but the odds are really,
* really high that this won't work. You either need to provide a
* domain to use DNS resolution (requires an authoritative server):
*
*     dnscat mydomain.com
*
* Or you have to provide a server to connect directly to:
*
*     dnscat --dns=server=1.2.3.4,port=53
*
* I'm going to let this keep running, but once again, this likely
* isn't what you want!
*
** WARNING!

Creating DNS driver:
 domain = (null)
 host   = 0.0.0.0
 port   = 53
 type   = TXT,CNAME,MX
 server = 4.2.2.1
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: DNS: RCODE_NAME_ERROR
[[ ERROR ]] :: The server hasn't returned a valid response in the last 10 attempts.. closing session.
[[ FATAL ]] :: There are no active sessions left! Goodbye!
[[ WARNING ]] :: Terminating

Сервер

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