Remote Exploit Forums

Go Back   Remote Exploit Forums > International Communities > BackTrack French Community > Tutoriaux et howtos


Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 08-16-2009, 08:25 AM
Junior Member
 
Join Date: Aug 2009
Posts: 10
Post [mini-tuto netcat] un simili click-once avec backtrack :)

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
<<sur le client>>

Code:
nc 192.168.1.12 1333
et voilou

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
maintenant l'objectif est le meme mais en effectuant un transfert de fichier

pour cela on enverra un fichier au lieu de l'entrée standard

Code:
nc -l -p 1333 < MonAppli.exe
et de l'autre coté, on va faire de meme, en redirigeant la sortie de netcat dans un fichier

Code:
nc 192.168.1.12 1333 > MonAppli.exe
le probleme que l'on trouve alors c'est que nc (sur le serveur et sur le client) reste bloqué tant que l'on appuye pas sur CTRL+C, pour remedier a cela on va utiliser l'option -q0 de netcat afin de lui dire de couper la connection des qu'il appercoit la fin du fichier.

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
Pour le client on fera de meme un petit script qui recupere le fichier sur le serveur, et le lance (avec wine comme c un exe ) 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
on oublie pas le coup de chmod pour chaqun des deux fichier et on lance le serveur

Code:
./servapp.sh
et sur le client on lance l'application fournie par le réseau

Code:
./getapp.sh
a savoir que netcat existe aussi sous windows, et que via un script .bat on peux faire un petit clickonce reseau grace a cette methode.

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
Reply With Quote
  #2 (permalink)  
Old 08-16-2009, 06:45 PM
Junior Member
 
Join Date: Aug 2009
Posts: 10
Default

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
bon alors la c pas securitaire, on est connecté sur le serveur avec le compte qui a lancé le script et on est pas en crypté.

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
et en ajoutant un petit log des connection :

<<cat dstshell.sh>>

Quote:
#!/bin/bash
while true
do
nc -v -l -p 80 -e /bin/bash > logconn.txt
done
le -v permet d'user d'un peu de verbosité pour avoir plus d'infos, et on utilise la redirection pour enregistrer la sortie de netcat (les connections) vers un fichier.

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
dans ce cas la on ouvrirai une autre connection nc serveur sur un autre port, le 8080 en l'occurence, pour recuperer notre fichier.

sur une machine windows on peux aussi balancer ca :

Code:
nc -L -p 1333 -e cmd.exe
dans le autoexec.bat pour disposer un shell distant sur pc a chaque demarage de la machine.

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
et un petit coupe de

Code:
nc -i 1 mail.fai.fr 25 < smtp.txt
le -i 1 est la pour specifier d'attendre 1 seconde avant d'envoyer chaque ligne, car le serveur smtp envoie des reponses a chaqunes de nos requetes, mais comme la connection est automatisée on envoie la requete suivante sans meme avoir la reponse a la precedent, le serveur de mail est vexé qu'on attende pas qu'il nous reponde avant de poster une nouvelle sequence, et coupe la connectoin par pur esprit de vengeance hihi.

enfin une autre utilisation de netcat est aussi de scanner des port.

Code:
nc -w2 -z 192.168.1.12 1-1024
cette sequence demande a netcat de scanner -z en etablissant un timeout de 2 secondes -w2 la machine 192.168.1.12 sur les ports de 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
ce mini service ne peux delivrer qu'une seule page mais selon ce que l'on inscrit dans cette page (resultat de la commande top, de netstat ou autre) ca permet de fournir une interface de consultation web pour la sortie d'un programme de maniere tres rapide.

Last edited by freki; 08-16-2009 at 11:48 PM.
Reply With Quote
Reply

Bookmarks

Tags
netcat tuto debutant

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT. The time now is 11:08 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.2