User Tools

Site Tools


hack:netcat

Présentation

Utilitaire permettant d'ouvrir des connexions réseau, que ce soit UDP ou TCP. Il est conçu pour être incorporé aisément dans un large panel d'applications. En raison de sa polyvalence, netcat est aussi appelé le « couteau suisse du TCP/IP ». Il existe sur plusieurs systèmes d'exploitation et s'utilise en ligne de commande.

Il peut être utilisé pour connaître l'état des ports à la façon d'un scan de ports. Les paramètres peuvent comprendre une plage de ports et une variation aléatoire plutôt qu'un scan d'ordre décroissant par défaut. Il existe aussi une option qui permet d'envoyer des packets source-routed, des packets qui sont envoyés via des routeurs dont on spécifie les adresses IP. Mais la flexibilité de cet outil permet des usages plus exotiques : transferts de fichiers, backdoor (cf. shellshock) , serveur proxy basique, ainsi qu'outil de pentest. Récapitulatif des options :

Syntaxe

Pour se connecter sur un serveur distant:

 nc [-options] hostname port[s] [ports] ...

Pour ouvrir un port:

 nc -l -p port [-options] [hostname] [port]

Options usuelles (liste non exhaustive)

Option Effet/Utilisation
-h Affiche l'aide de netcat. (liste des options plus complète qu'ici)
-e [command] Exécute la commande [command] à la connexion
-i [secondes] Intervalle entre deux envois (utile si de gros fichiers sont envoyés dans de petites connexions)Intervalle entre deux ports scannés.
-l Mode écoute de port, spécifier le port avec -p.
-n Non résolution des noms de domaine (utilisation des adresse IP numériques).
-o [fichier] Écriture des entrées/sorties dans le fichier [fichier]
-p [port] Utilisation du port [port] pour l'écoute (en mode serveur).
-r Ordre aléatoire lors du scan de ports.
-t Active le mode Telnet dans netcat. Nécessaire pour pouvoir utiliser les serveurs Telnet.
-u Utilise le protocole UDP au lieu du TCP (par défaut) pour les connexions.
-v Permet d'avoir une sortie un peu plus fournie. Vous pouvez en mettre 2 (pour une sortie encore plus fournie).
-w [seconds] La connexion sera abandonnée si le serveur n'a pas répondu au bout de [seconds] secondes.
-z Active le mode scan de ports (pas d'établissement de connexion TCP jusqu'au bout).

Exemples d'utilisation

Création d'une backdoor

L'ouverture d'une session ethernet sur le serveur distant permet l'accès mais nécessite l'utilisation d'un compte actif.

nc -t  xxx.xxx.xxx.xxx

S'il est possible d'exécuter des commandes sur le serveur il est alors possible de créer une backdoor en ouvrant un port

nc -l -p #### xxx.xxx.xxx.xxx

C'est la commande utiliséee par le script badbash (cf. shellschock) d'origine.

Scan de ports

nc -vv -w 2 -z -t 2 xxx.xxx.xxx.xxx 1-9000 2>&1 | grep -v '?' 2>varnish.log
netcat -w 2 -r -z -t 2 -o scan-varnish2 xxx.xxx.xxx.xxx 1-9000

script : ncopt

Le script ncopt permet de tester les méthodes acceptées par le serveur.

/root/ncopt HEAD xxx.xxx.xxx.xxx ####
/root/ncopt GET xxx.xxx.xxx.xxx ####
/root/ncopt OPTIONS xxx.xxx.xxx.xxx ####

les_outils_de_pentest

hack/netcat.txt · Last modified: 2025/01/29 09:45 by 127.0.0.1