TP N° 5 : NETCAT
Introduction
Créé en 1995, Netcat est un utilitaire réseau polyvalent incontournable pour établir des connexions
TCP/UDP, transférer des données ou concevoir des backdoors. Largement exploité en audit de sécurité,
tests d'intrusion (pentesting) et dépannage, il a été modernisé par l'équipe de Nmap sous le nom de
Ncat. Cette version récente enrichit l'outil d'origine avec des fonctionnalités avancées, telles que le
chiffrement SSL/TLS et la configuration de tunnels sécurisés.
Questions de cours :
1. Expliquez en quoi consiste le protocole SSL/TLS.
SSL (Secure Sockets Layer) et TLS (Transport Layer Security) sont des protocoles
cryptographiques qui sécurisent les échanges de données sur Internet en garantissant
confidentialité, intégrité et authentification. Son fonctionnement :
Le serveur envoie son certificat SSL/TLS, qui contient sa clé publique et authentifie son
identité
Le client vérifie la validité du certificat auprès d'une autorité de certification reconnue
Une clé de session symétrique est générée par le client et chiffrée avec la clé publique du
serveur, permettant un échange sécurisé
Les données échangées sont ensuite chiffrées avec cette clé de session, garantissant que les
informations sensibles (numéros de carte bancaire, identifiants, messages) restent confidentielles et
intègres.
2. Qu'est-ce qu'un backdoor ? Comment peut-on en créer un avec Ncat ?
Un backdoor est un logiciel qui permet à un attaquant de prendre contrôle d’un ordinateur à distance.
Ncat peut être configuré pour écouter sur un port TCP ou UDP spécifique, ou bien pour initier une conn
exion vers une autre machine. Cette fonctionnalité permet de créer un canal réseau par lequel des donné
es peuvent circuler librement entre deux systèmes et tout action effectuer sur l’undes systèmes est
directement retranscris sur l’autre, en cela ncat peut permettre de créer un backdoor.
3. Comment utiliser Ncat pour la sécurité et le débogage d’un réseau ?
La compréhension du fonctionnement de ncat est utile aux administrateurs
réseau pour anticiper les risques et prévenir les intrusions. Cela passe par la configuration de pare-
feux, la limitation des ports à l’écoute et la surveillance des flux réseau pour détecter d’éventuelles utili
sations non autorisées et la détection des tentatives de prises de contrôle sans autorisation comme avec
un backdoor.
Phase d’apprentissage Entrainement
Objectifs : Cette activité doit vous permettre de comprendre la connectivité réseau, d’établir un chat en
temps réel et de transférer des fichiers entre deux machines.
Compétences visées :
• Tester la connectivité entre deux machines
• Établir un chat en temps réel entre deux machines
• Transférer des fichiers entre deux machines de manière sécurisée
Outils :
• Deux postes sous Windows/Linux (ou une machine + machine virtuelle)
• Ncat (inclus dans Nmap)
• Wireshark
DESCRIPTION DE L’ACTIVITÉ
Étape 1 : Installation de Ncat
Ncat est installé automatiquement lors de l’installation de Nmap.
Vérifiez l’installation avec la commande suivante dans un terminal (cmd ou PowerShell) :
ncat --version
Étape 2 : Test de connectivité
A) Travail sur une seule machine (localhost)
1. Ouvrez deux invites de commandes sur la même machine.
2. Dans la première, tapez : ncat -l -p 8080 (Écoute sur le port 8080)
3. Dans la deuxième, tapez : ncat localhost 8080
4. Tapez du texte dans l’une des fenêtres : il doit apparaître dans l’autre.
5. Validez que la communication fonctionne.
B) Travail entre deux machines différentes
1. Sur la machine A, ouvrez un terminal et tapez : ncat -l -p 8080
2. Sur la machine B, tapez : ncat <IP_de_la_machine_A> 8080
3. Échangez des messages.
4. Vérifiez la connectivité.
Remarque : Pour connaître l’IP d’une machine sous Windows, utilisez ipconfig. Sous
Linux : ip a ou ifconfig.
Désactivez temporairement le pare-feu si la connexion échoue.
Étape 3: Transfert de fichiers
1. Sur la machine A (réceptrice), créez un fichier [Link] sur le Bureau.
Ouvrez un terminal sur machine A et allez sur le Bureau : cd Desktop
2. Lancez l’écoute pour recevoir un fichier : ncat -l -p 8080 > [Link]
3. Sur la machine B (émettrice), envoyez le fichier : ncat <IP_machine_A> 8080 <
[Link] 4. Vérifiez que [Link] a bien été transféré sur la machine A. Variante sécurisée
(avec SSL) :
Récepteur : ncat --ssl -l -p 8080 > [Link]
Émetteur : ncat --ssl <IP> 8080 < [Link]
Étape 4 : Chat en temps réel et interception avec Wireshark (non sécurisé)
1. Lancez Wireshark sur une des deux machines.
2. Configurez Wireshark pour capturer sur l’interface réseau utilisée (Wi-Fi ou Ethernet).
3. Sur la machine A : ncat -l -p 8080
Sur la machine B : ncat <IP_machine_A> 8080
4. Échangez quelques messages texte (ex : "Bonjour", "Test").
5. Retournez dans Wireshark, arrêtez la capture, puis filtrez avec :
6. Observez que les messages sont visibles en clair dans le flux TCP (clic droit → Follow → TCP
Stream).
Étape 5 : Utilisation de SSL/TLS
1. Ouvrez deux terminaux sur deux machines différentes.
2. Lancez Wireshark
3. Utilisez la commande ncat --ssl -l -p 8080 pour écouter sur le port 8080 avec SSL/TLS.
4. Utilisez la commande ncat --ssl <adresse_IP_de_la_machine_distante> 8080 pour se connecter au
port 8080 de la machine distante avec SSL/TLS.
5. Echangez quelques messages
6. Revenir à Wireshak et analyser les paquets
7. Vérifiez que les données sont chiffrées et transmises de manière sécurisée.
Les données sont belles et bien chiffrées :
Conclusion : Ce TP a mis en évidence l'utilisation de l'outil Netcat pour valider la connectivité réseau,
établir un canal de communication en temps réel et effectuer des transferts de fichiers entre deux hôtes ..