Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
dnscat2 — Tunnel de commande et contrôle chiffré via le protocole DNS. Crée des canaux C&C furtifs pour les tests d'intrusion, avec transfert de fichiers, accès shell et capacités de redirection de ports via des requêtes DNS. | Kitploit
Outils/GitHubGitHub/iagox86/dnscat2
Outils de Chiffrement/DéchiffrementÉvasion IDS/IPSExfiltration de DonnéesTests d'IntrusionCommandement et ContrôleRed TeamingOutil d'Accès à DistanceAnalyse DNSTop en Commandement et Contrôle n°16Top en Exfiltration de Données n°1
4.0k65233il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Top en Évasion IDS/IPS n°12
Top en Outil d'Accès à Distance n°20
GitHubiagox86/dnscat2

dnscat2

Tunnel de commande et contrôle chiffré via le protocole DNS. Crée des canaux C&C furtifs pour les tests d'intrusion, avec transfert de fichiers, accès shell et capacités de redirection de ports via des requêtes DNS.

Voir le dépôt

***** REMARQUE : Les mots de passe pour les téléchargements .zip sont tous "password" ! *****

Introduction

Bienvenue sur dnscat2, un tunnel DNS qui NE vous rendra PAS malade et ne vous tuera pas !

Cet outil est conçu pour créer un canal de commande et contrôle (C&C) chiffré via le protocole DNS, qui constitue un tunnel efficace pour sortir de presque tous les réseaux.

Ce fichier README devrait contenir tout ce dont vous avez besoin pour démarrer ! Si vous souhaitez approfondir le protocole, la structure du code, les projets futurs ou d'autres sujets ésotériques, consultez le dossier doc/.

Licence

Ceci est publié sous la licence BSD. Voir LICENSE.md pour plus d'informations.

Aperçu

dnscat2 se compose de deux parties : le client et le serveur.

Le client est conçu pour être exécuté sur une machine compromise. Il est écrit en C et a le moins de dépendances possible. Il devrait fonctionner pratiquement partout (si vous trouvez un système où il ne compile pas ou ne s'exécute pas, veuillez ouvrir un ticket, surtout si vous pouvez m'aider à accéder à ce système).

Lorsque vous exécutez le client, vous spécifiez généralement un nom de domaine. Toutes les requêtes seront envoyées au serveur DNS local, qui sont ensuite redirigées vers le serveur DNS faisant autorité pour ce domaine (que vous, présumément, contrôlez).

Si vous n'avez pas de serveur DNS faisant autorité, vous pouvez également utiliser des connexions directes sur UDP/53 (ou tout autre port de votre choix). Elles seront plus rapides, et ressembleront toujours à du trafic DNS pour l'observateur occasionnel, mais elles seront beaucoup plus évidentes dans un journal de paquets (tous les domaines sont préfixés par "dnscat.", sauf si vous modifiez le source). Ce mode sera fréquemment bloqué par les pare-feux.

Le serveur est conçu pour être exécuté sur un serveur DNS faisant autorité. Il est en Ruby, et dépend de plusieurs gems différentes. Lorsque vous l'exécutez, comme pour le client, vous spécifiez le(s) domaine(s) sur le(s)quel(s) il doit écouter en plus d'écouter les messages qui lui sont envoyés directement sur UDP/53. Lorsqu'il reçoit du trafic pour l'un de ces domaines, il tente d'établir une connexion logique. S'il reçoit d'autre trafic, il l'ignore par défaut, mais peut également le transférer en amont.

Des instructions détaillées pour les deux parties sont fournies ci-dessous.

En quoi cela diffère-t-il de .....

dnscat2 s'efforce d'être différent des autres protocoles de tunneling DNS en étant conçu pour un objectif particulier : le commandement et contrôle.

Il n'est pas conçu pour vous faire sortir d'un réseau d'hôtel, ou pour obtenir un accès Internet gratuit dans un avion. Et il ne se contente pas de tunnelliser TCP.

Il peut tunnelliser n'importe quelles données, sans protocole attaché. Cela signifie qu'il peut télécharger et téléverser des fichiers, exécuter un shell, et le faire correctement. Il peut également potentiellement tunnelliser TCP, mais cela ne sera ajouté que dans le cadre d'un outil de test d'intrusion (c'est-à-dire, tunnelliser TCP dans un réseau), pas comme un outil de tunnellisation à usage général. Cela a déjà été fait, ce n'est pas intéressant (pour moi).

Il est également chiffré par défaut. Je ne crois pas qu'aucun autre tunnel DNS public chiffre tout le trafic !

Où se le procurer

Voici quelques liens importants :

  • Code source sur Github
  • Téléchargements (vous y trouverez des versions signées Linux 32-bit, Linux 64-bit, Win32, et le code source du client, ainsi qu'une archive du serveur - gardez à l'esprit que le fichier de signature est hébergé sur le même serveur que les fichiers, donc si vous êtes inquiet, veuillez vérifier ma clé PGP :) )
  • Documentation utilisateur Un ensemble de fichiers, à la fois pour les utilisateurs finaux (comme le Changelog) et pour les développeurs (comme le document Contribuer)
  • Suivi des problèmes (vous pouvez également m'envoyer des problèmes par email, mettez simplement mon prénom (ron) devant mon nom de domaine (skullsecurity.net))

Comment jouer

La théorie derrière dnscat2 est simple : il crée un tunnel via le protocole DNS.

Pourquoi ? Parce que le DNS a une propriété étonnante : il va se déplacer de serveur en serveur jusqu'à ce qu'il trouve où il doit aller.

Cela signifie que pour que dnscat fasse sortir le trafic d'un réseau sécurisé, il lui suffit d'envoyer des messages à un serveur DNS, qui transférera joyeusement les choses à travers le réseau DNS jusqu'à ce qu'elles atteignent votre serveur DNS.

Cela suppose bien sûr que vous ayez accès à un serveur DNS faisant autorité. dnscat2 supporte également les connexions "directes" - c'est-à-dire, exécuter un client dnscat qui se connecte directement à votre dnscat sur votre adresse IP et le port UDP 53 (par défaut). Le trafic ressemble toujours à du trafic DNS, et pourrait passer les systèmes IDS/IPS les plus simples, mais il est toujours susceptible d'être arrêté par les pare-feux.

Si vous ne comprenez pas comment configurer un serveur DNS faisant autorité, c'est quelque chose que vous devez configurer avec un fournisseur de domaine. izhan en a écrit un pour vous !

Compilation

Client

Compiler le client devrait être assez simple - tout ce dont vous avez besoin pour compiler est make/gcc (pour Linux) ou Cygwin ou Microsoft Visual Studio (pour Windows). Voici les commandes sur Linux :

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

Sur Windows, chargez client/win32/dnscat2.vcproj dans Visual Studio et cliquez sur "build". Je l'ai créé et testé sur Visual Studio 2008 - jusqu'à ce que j'obtienne une copie légale gratuite d'une version plus récente, je vais probablement rester avec celle-là. :)

Si la compilation échoue, veuillez signaler un bug sur ma page github ! Veuillez envoyer des détails sur votre système.

Vous pouvez vérifier que dnscat2 est bien compilé en l'exécutant sans options ; vous verrez qu'il tente de démarrer un tunnel DNS avec le serveur DNS configuré (ce qui échouera) :

Télécharger l’outil