|
|||
|
Beaucoup d'entre vous connaissent surement netcat, le couteau suisse pour les reseaux. j'ai voulu faire un petit tuto de cet outil car il est vraiment puissant.
Intro: pour illustrer l'utilisation de cet outil je vous propose une petite mise en oeuvre qui permet de distribuer et executer une application via le reseau. ceci permet d'assurer une version a jour de l'application (faut pas qu'elle soit trop lourde lol) ceci fonctionne sous windows et sous linux, pour windows il faut adapter legerement les scripts, mais le principe est le meme. on peux facilement imaginer une utilisation avec un serveur sous linux et le client sous windows (c'etait en fait mon objectif au debut, lancer dans windows des applications stockées sur un serveur linux, pour assurer que la machine windows utilise la derniere version a jour). Debut du tuto : en fait netcat peux fonctionner en mode client, ou bien en mode serveur. par exemple pour faire un petit t'chat a 2 balles il suffit sur une machine de lancer un serveur et sur l'autre un client, comme ca tout ce qui est ecrit sur le serveur est repliqué sur l'ecran du client, et vice versa ![]() pour cet exemple on va prendre le serveur avec comme ip 192.168.1.12, le client on se fiche de son ip. et comme port 1333. On spécifie le port du serveur avec l'option -p et on dit que l'on se met en mode serveur avec l'option -l (pour listen). Pour connecteur le client la syntaxe de base est nc <ip> <port> <<sur le serveur>> Code:
nc -l -p 1333 Code:
nc 192.168.1.12 1333 ![]() pour maintenir un serveur "toujours" actif il faut le balancer dans une boucle while grace a l'utilisation des fonctionnalitée de bash. Code:
while true; do nc -l -p 1333 done pour cela on enverra un fichier au lieu de l'entrée standard Code:
nc -l -p 1333 < MonAppli.exe Code:
nc 192.168.1.12 1333 > MonAppli.exe Mise en oeuvre: comme on est feniant et que l'on veux pas se tapper une super grande ligne chaque fois qu'on veux lancer le serveur on fait un mini script pour lancer le serveur et lui faire boucler le transfert de fichier. Par contre le soucis avec ce code est qu'il faut passer par un kill pour tuer le processus, (ou fermer la console si on lance sous un terminal X) ceci a cause du while true. mais en meme temps dans ce cas la c pas tres genant. a savoir que sous windows dispose de l'option -L qui est equivalent a -l sauf qu'elle fournis la boucle while en plus, ce qui est assez pratique. mais comme on est sous linux on se contentera du while qui accomplit tres bien son travail . <<cat servapp.sh>> Code:
#!/bin/bash while true; do nc -q0 -l -p 1333 < appli.exe done ) par contre comme on est pas des barbares on vire le fichier une fois l'application distante fermée grace a un sympatique rm ![]() <<cat getapp.sh>> Code:
#!/bin/bash nc 192.168.1.12 1333 > appli.exe wine appli.exe rm appli.exe Code:
./servapp.sh Code:
./getapp.sh l'objectif de ce tuto etait de montrer l'utilisation de netcat, et la on a pu voir pas mal d'options bien utiles je sais que le niveau de ce tuto est assez bas mais comme je trouvait cette application de l'outil netcat assez cool j'me suis decidé ![]() bien sur cela fonctionne aussi sans passer par wine, mais le but de ce petit truc etait de tester la fourniture d'une application sur le reseau a destination d'un client windows j'ai fait mes tests avec wine. apres pour des applications plus lourdes il suffit de partager un fichier zip contenant tous les autres fichiers necessaires, et dans le script du client il suffit de dezippper avant de lancer l'appli ![]() voila la fin de ce tuto, j'espere sincerement que vous le trouverez utlie (ou marrrant ) Si vous avez trouvé trop basique tapez pas trop fort sur ma tete siouplai. si vous avez apprecier merci de me le dire, en plus de flatter mon ego surdimentioné ca me motivera
|
|
|||
|
Partie 2 Pour finir de completer un peu ce tuto sur netcat, je voulait aussi vous parler de quelques options bien foutues. la premiere est le -e qui permet de partager un programme sur le réseau. a la différence du clic-once du tuto les programme est executé sur le serveur. Code:
nc -l -p 1333 -e /bin/bash maintenant imaginont que l'on veuille pouvoir disposer d'une application de notre réseau alors que l'on est au travail et que notre entreprise a installer un firewall qui nous interdit d'utiliser autre chose que le web, on fait alors sur notre serveur un petit : Code:
while true; do nc -l -p 80 -e /bin/bash done <<cat dstshell.sh>> Quote:
mainteannt on peux facilement imaginer code un script qui nous donne une liste de fichiers, ce script pourrait avoir pour nom getfiles et donnerai la sortie suivante : Code:
Bienvenue sur le service getfile! Veuillez selectionner le fichier a telecharger : 1. Liste emails 2. Wordlist 3. last update of progme Votre choix : 2 Vous avez selectionne le fichier wordlist, il se trouve desormais en attente surle port 8080 sur une machine windows on peux aussi balancer ca : Code:
nc -L -p 1333 -e cmd.exe on peux aussi specifier des lignes a entrer dans la connection netcat pour automatiser par exemple l'envoi de mail ou pour faire un bruteforcer a 2 sous. <<cat smtp.txt>> Code:
HELO smtp.gmail.com MAIL FROM: <toto-fait@du-velo.fr> RCPT TO: <ben_moi@google.fr> DATA Suject: un petit coucou Voila ici le cops du message . QUIT Code:
nc -i 1 mail.fai.fr 25 < smtp.txt enfin une autre utilisation de netcat est aussi de scanner des port. Code:
nc -w2 -z 192.168.1.12 1-1024 avec toutes ces possibilité il est donc tres facile de realiser pleins d'outils marrant sans meme coder quoi que ce soit. aller un miniserveur web ![]() Code:
while true; do nc -l -p 80 < index.html done Last edited by freki; 08-16-2009 at 11:48 PM. |
![]() |
| Bookmarks |
| Tags |
| netcat tuto debutant |
| Thread Tools | |
| Display Modes | |
|
|